Задача 180.8406

Задача :180.8406

2015-02-12 15:08:29
Краткое описание :
Точка расширения на отбор удаляемых проводок при отмене/пересчете амортизации
Описание :
Амортизация
Что измененно :

При отмене или пересчете амортизации есть режим, который удаляет проводки только по данному ОС (с аналитикой по данному ОС), а остальные проводки не трогает и не перепроводит. Привлетальность этого режима обуславливается быстротой работы и сохранинем всех ручных испрвлений в проводках по другим ОС, которые мы не отменяем в данной сесии пересчета амортизации.
Однако если хотя бы в каких-то проводках нет аналитики по ОС использовать этот режим представляется затруднительным. Однако сохранить причастность проводки к конкретному ОС можно не только аналитикой ОС, а например примечанием или еще каким-то более сложным алгоритмом.
Эти алгоритмы реализовать в стандартном функционале затруднительно и нецелесообразно, т.к. они могут быть специфичны.
В рамках своих вредрений для решения этой задачи мы обычно используем перекрытие процедуры GetOborotOnAnalitForSpMove следуюищим образом:

Alter Interface Amort '' EscClose, gray;

overload
Procedure GetOborotOnAnalitForSpMove( pwTabKau : word;
pcKau : comp;
_cSoprHoz : comp );
end;

... (пример вложен в проблему)

Однако недостаток данного решения - необходимость перекомпилировать это решение после каждой установки патчей, что могут выполнить не все администраторы, занимающиеся поддержкой. Таким образом, нужно более "независимое" и устойчивое решение, не требующее частых перекомпиляций.

ПРДЕЛАГАЮ:
реализовать точку расширения или какой-то подобный механизм, позволяющий расширить или заменить процедуру GetOborotOnAnalitForSpMove, но не требущее перекомпиляций в отиличие от alter interface.
Как измененно :

Добавлена точка расширения epDeleteOborotForPickedOS. Вызывается для удаления проводок по части картотеки при отмене амортизации.
Вызывается из интерфейса расчета-отмены амортизации Amort.
Вызывается при отмене амортизации, если для удаления проводок задан парметр проводки по операции амортизация - "удалять с аналитикой по ОС/НМА в проводке". `
Если обработчик точки расширения вернет FALSE, то стандартная функция удаления проводок (DeleteObSpMoveForPickedOS) не вызываются.
Параметры:
_wTip - 15-ОС, 16-НМА.
_cSoprHoz - ссылка на SoprHoz.
Карточки по которым производится отмена амортизации занесены в таблицу Pick с wlist = 120 (cgPick_KatOs120);


ExtensionPoint epDeleteOborotForPickedOS(_wTip: word; _cSoprHoz: comp);

Название продукта Название компонента Тип Последняя версия Дата выхода
F_OSOPERF_OSOPERRES9.1.21.02015-02-12 15:08:29
F_OSOPERF_OSOPERRES9.1.021.0