Задача 102.156853

Задача :102.156853

2017-03-14 15:23:17
Краткое описание :
Разделение пользовательских и системных скриптов
Описание :
Электронная отчетность в целом
Что измененно :

В случае, если пользователь разрабатывает собственные "скрипты" в "дополнительном алгоритме", то для того чтобы их вызвать в "основном алгоритме" приходится делать следующее:
1. в качестве "основного алгоритма", использовать пользовательскую копию "системного алгоритма"
2. в полученном "основном алгоритма":
2.1. определить пользовательский "дополнительный алгоритм"
2.2. прописать вызовы скриптов из "дополнительного алгоритма"
Такой подход весьма трудоемкий, и не удобный в сопровождении, для случая когда выходит новое системное обновление, в котором был изменен "системный алгоритм". Придется полностью повторить п.1-п.2.
Для удобства, предлагаю сделать доработку:
1. Выделить отдельные скрипты, которые будут запускаться системой до и после "системного скрипта". Например, есть "системный скрипт" - "On_Recalc". Надо добавить скрипты:
1.1. OnBefor_ReCalc
1.2. OnAfter_ReCalc
2. Эти скрипты не будут поставляться в системных обновлениях
3. Эти скрипты будет делать пользователь, и располагать в "дополнительном алгоритме"
4. Свой "Дополнительный алгоритм", пользователь подключит к "системному алгоритму" (копию делать не надо)
5. Перед запуском "On_Recalc", система будет искать скрипт "Befor_On_Recalc", если найдет, то запустит. Аналогично с "After_On_Recalc".
Как измененно :

Теперь:
При выборе пункта контекстного меню "Рассчитать" скрипты будут запущены в следующем порядке:
1) OnBefor_ReCalc - On_ReCalc - OnAfter_ReCalc
2) OnBefor_Visable - On_Visable - OnAfter_Visable
3) OnBefor_Check - On_Check - OnAfter_Check

При выборе пункта контекстного меню "Проверить" скрипты будут запущены в следующем порядке:
1) OnBefor_Visable - On_Visable - OnAfter_Visable
2) OnBefor_Check - On_Check - OnAfter_Check

При выборе пункта контекстного меню "Экспорт" скрипты будут запущены в следующем порядке:
1) OnBefor_Visable - On_Visable - OnAfter_Visable
2) OnBefor_ExportXML - On_ExportXML - OnAfter_ExportXML


Исключение составляет "Декларация по НДС":
При выборе пункта контекстного меню "Рассчитать" скрипты будут запущены в следующем порядке:
1) OnBefor_ReCalc - On_ReCalc - OnAfter_ReCalc

При выборе пункта контекстного меню "Проверить" скрипты будут запущены в следующем порядке:
1) OnBefor_Check - On_Check - OnAfter_Check

При выборе пункта контекстного меню "Экспорт" скрипты будут запущены в следующем порядке:
1) OnBefor_Visable - On_Visable - OnAfter_Visable
2) OnBefor_ExportXML - On_ExportXML - OnAfter_ExportXML



Предполагается, что пользовательские скрипты типа OnBefor_* и OnAfter_*, будут располагаться в "Дополнительном алгоритме". Эти скрипты:
1. не должны содержать параметров
2. в качестве результат возвращать признак успешного выполнения
Например:
@SCRIPT OnBefor_Check : Boolean;
@BEGIN
OnBefor_Check := False;

// код скрипта
Message('OnBefor_Check');

OnBefor_Check := True;
@END.

Название продукта Название компонента Тип Последняя версия Дата выхода
F_TAXREPORTF_TAXREPORTRES9.1.59.02017-03-14 15:23:17
F_TAXREPORTF_TAXREPORTRES9.1.059.0