Задача 180.8357

Задача :180.8357

2015-10-19 17:52:30
Краткое описание :
Возможность формировать протокол по работе SQLTXO
Описание :
F_TXO [Типовые хозяйственные операции (TXO)]
Что измененно :

Допустим работа SQLTXO требует выполнения некоторых необходимых условий для своей работы.
Например, чтобы у всех элементов аналитики "40 Объекты строительства" был заполнен внешний КАУ "Период планирования". Это обязательное условие правильной работы моей ТХО. Если у какого-то объекта строительства будет не заполнен период планирования, то ТХО заведомо отработает неправильно (это объект не попадет в фильтр, при этом не будет проводок с незаполненными аналитиками, но база распределения затрат будет неправильная т.к. в нее не попадут некоторые объекты у которых не заолнен КАУ Период планирования). Для пользователя такая ошбика вообще не очевидна, т.к. непосредственно ТХО не будет ругаться на незаполненные КАУ, но распределение затрат произойдет неправильно.
Для того чтобы отловить такие ситуации, нужна возможность формировать протокол работы SQLTXO
Реализовать это предлагаю следующим образом:
1) делается временная таблица со следующими полями.
- Тип сообщения
- Код ошибки
- Наименование ошибки
- Описание ошибки

В поле Тип сообщения могут быть сообщения типов 0 - ошибка, 1- предупреждение, 2 - информация, 4 - отладка

2) Организовать еще одно мемо-поле в ТХО в которое можно сохранять еще один DSQL-запрос-проверку условий.
Запрос-проверка условий должен возвращать всегда необходимые нам 4 поля.
Если прикладник делает несколько проверок, то он соединяет проверочные запросы через union в один запрос, сохраненный в указанном поле.

3) При выполнении такой ТХО сперва выполняется запрос-проверка.
Запрос-проверка делает возврат таблицы.
Механизм перегружает этот возврат из объекта работы с DSQL в ранее созданную временную таблицу.
Если среди перегружаемых сообщений есть сообщения у которых - Тип сообщения = 0 - ошибка, то дальнейшее выполнение ТХО не производится. Процесс аварийно прекращается.
В других случаях процесс продолжается.

4) В любом случае формируется потокол, содержащий ошибки и предупреждения. При этом из временной таблицы в log файл перегружаются данные.
Если включено логирование "Настройки Галактики \ Бухгалтерский контур \ Типовые проводки \ Формировать протокол расчетов при разноске ТХО" <> "нет", то дополнительно перегружаются сообщения типов "информация" и "отладка".
Как измененно :

В настройке ТХО добавлена возможность задания SQL запроса, по нажатию кнопки "SQL проверка"
SQL проверка - запрос который выдает в протокол ТХО таблицу из четырех полей.
В поле TypeMsg - Тип сообщения могут быть сообщения типов 0 - ошибка, 1 - предупреждение,
2 - информация, 4 - отладка. При выполнении ТХО у которой есть запрос SQL проверка
сперва выполняется запрос-проверка, который выдает таблицу из четырех полей. Полей TypeMsg должно
обязательно присутствовать в таблице. Если среди выгруженных сообщений есть сообщения у которых в поле TypeMsg
значение равно 0, то дальнейшее выполнение ТХО не производится. Процесс аварийно прекращается.
В других случаях процесс продолжается.

В качестве параметров в запросе можно указывать все переменные, которые
передаются в TXO API:
:CurSoprDoc (тип comp) - ссылка на документ;
:CurSoprHoz (тип comp) - журнал хозопераций;
:CurTiDk (тип word) - тип документа;
:CurHozOper (тип comp) - ТХО;
:CurPlansSch (тип comp) - регистр учета;

Название продукта Название компонента Тип Последняя версия Дата выхода
F_TXOF_TXORES9.1.28.02015-10-19 17:52:30
F_TXOF_TXORES9.1.028.0