Групповая обработка (Управляемая консоль отчетов)

Публикация № 1056684

Обработки - Обработка документов

Обработка Групповая Консоль Запрос

22
Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

Обработка результата появилась в консоли с версии 2.8 и улучшалась. С версии 3.2 стала достойна чтобы о ней рассказать.

  • Подробная информация о прогрессе (с возможность прерывания)
  • Выполнение в фоне (доступно только в расширении)
  • Помощь в написании кода, вставка ссылки на объект
  • Журнал выполнения (с возможность обработать повторно группу объектов)
  • Получение сообщений пользователю и привязка к обрабатываемой строке
  • Переход к месту ошибки

Начало

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

Запуск инструмента обработки результата "Инструменты - Обработка результата"

Настройка алгоритма обработки

Для каждой строки (в транзакции) выполняется описанный алгоритм. Обращение к данным строк производится через "Строка", Параметрам запроса через "Параметры".

Справа в дереве отображается панель помощи по коду. Через "Вставка ссылки на объект..." можно вставить ссылку в виде кода в алгоритм обработки.

Запуск обработки, прогресс

Проверка написанного алгоритма "Обработать - Обработать одну строку", обработка всех объектов "... - Обработать все".

В процессе обработки отображается информация о прогрессе для фонового выполнения она более подробная

Отображение прогресса при фоновом выполнении

Журнал

По окончанию обработки все данные собираются в журнал и группируются успешно обработанные в одну группу, те что с ошибками в группу с ошибками.

Например результат обработки справочника склады (установка всем элементам кода "123"):

Объект = Строка.Ссылка.ПолучитьОбъект();
Объект.Код = "123";
Объект.Записать();

На закладке сообщения собираются сообщения пользователю (привязываются к обработанной строке)

При выборе строки производится расшифровка

 

22

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. acsent 1137 13.05.19 14:58 Сейчас в теме
необходима возможность обработки не только строки, но всей выборки целиком.
+ желательно ииметь возможность не выводить отбработанные строки, ибо их может быть много
Evg-Lylyk; +1 Ответить
2. Evg-Lylyk 2574 13.05.19 15:07 Сейчас в теме
(1) Постараюсь учесть, есть проблемы: как организовать индикацию при обработки всего
"не выводить отработанные строки" в принципе можно сделать отключение журнала
3. dhurricane 14.05.19 08:58 Сейчас в теме
Здорово. Спасибо большое за Ваш труд.

Есть небольшие замечания, пожелания и вопросы.
1. Хотелось бы все таки управлять транзакцией, т.е. самому решать, нужна она или нет. Плюс вполне вероятна необходимость выполнять в единой транзакции обработку всех строк. Догадываюсь, какие здесь могут возникнуть проблемы, но возможно Вам удастся найти компромиссное решение.
2. Можно ли расширять примеры обработки строк? Они как-то привязаны к типу колонки? Предположение основывается на том, что в видео ветка примеров подчинена только ссылке.
3. Слишком много информации о времени в окне индикатора прогресса. :) Кажется, что лучше бы дополнительно отображать информацию о количестве успешно и не успешно обработанных строках.
4. Возможно удобно было бы иметь настройку, благодаря которой процесс обработки будет прерван при первой же ошибке.
Evg-Lylyk; +1 Ответить
4. Evg-Lylyk 2574 14.05.19 09:13 Сейчас в теме
(3)
1. Проблем нет
2. Примеры привязаны к типу все примеры для ссылочных типов. Есть предложения?
3. Да согласен разумно отразить количество ошибок
4. Надо подумать

Спасибо за обратную связь, постараюсь учесть
5. dhurricane 14.05.19 09:22 Сейчас в теме
(4) 2. Ничего путного предложить не могу. Если только:
а. выделить примеры в ветке, например той же пиктограммой f(x);
б. добавить команду сохранения алгоритма как шаблон, который в последствии отобразится в примерах.

И пожалуй действительно, примеры нужны только для ссылочных типов. Для прочих ветка примеров будет будет только загромождать интерфейс. Разве что отдать это на откуп пользователю консоли при реализации пункта (б).
Evg-Lylyk; +1 Ответить
6. Evg-Lylyk 2574 04.06.19 17:56 Сейчас в теме
(3) в версии 3.3 реализованы ваши пожелания по Обработке результата
AlexandrSmith; dhurricane; +2 Ответить
Оставьте свое сообщение