Расширение представляет собой подсистему «ПакетноеВыполнение», в которую входят следующие объекты.
Модули:
- ПакетноеВыполнениеКлиент
- ПакетноеВыполнениеКлиентПреопределяемый
- ПакетноеВыполнениеКлиентСерверПреопределяемый
- ПакетноеВыполнениеВызовСервераПреопределяемый
- ПакетноеВыполнениеСервер
- ПакетноеВыполнениеВызовСервера
Общие формы:
- ПакетнаяОбработкаДанных
Общие макеты:
- СтатистикаВыполненияОпераций
Общие картинки:
- _ДлительнаяОперация
- _ВыполненоСОшибками
- _ВыполненоУспешно
Также в расширении представлена обработка
- _ДемоОбработкаЗапускаПакетногоВыполнения
Основная точка входа запуска — это оповещение формы ПакетнаяОбработкаДанных событием «НачалоПакетнойОбработки» обязательные параметры к передаче Это ДанныеДляОбработки с типом массив и Операции с типом структура.
ПараметрыПроверки = Новый Структура;
ДанныеДляОбработки = Новый Массив;
МассивСтрок = Элементы.Список.ВыделенныеСтроки;
Для Каждого знМассивСтрок из МассивСтрок Цикл
ДанныеДляОбработки.Добавить(знМассивСтрок);
КонецЦикла;
ПараметрыПроверки.Вставить("ДанныеДляОбработки", ДанныеДляОбработки);
Операции = Новый Структура;
Операции.Вставить("ЗаменитьНаименование");
Операции.Вставить("ЗаменитьШтрихкод");
Операции.Вставить("УстановитьЦены");
ПараметрыПроверки.Вставить("Операции", Операции);
ОткрытьФорму("ОбщаяФорма.ПакетнаяОбработкаДанных",,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Оповестить("НачалоПакетнойОбработки",ПараметрыПроверки, ЭтаФорма);
Далее нужно только в модуле ПакетноеВыполнениеКлиентПреопределяемый дополнить собственными процедурами обработку данных в процедуре ВыполнитьИтерацию(ТекущаяОперация, ПараметрыПроверки), так же можно задать массив проверок на успешность выполнения итерации в модуле ПакетноеВыполнениеКлиентСерверПреопределяемый функция МассивПроверок() и в собственных ПараметрыПроверки добавить массив с неудачными выполненными элементами данной итерации. И также описать в модуле ПакетноеВыполнениеКлиентСерверПреопределяемый процедуре ОбработатьПроверку структуру блока проверки
СтруктураБлока = Новый Структура;
Если Проверка = "НеУстановленныеЦены" и ПараметрыПроверки.Свойство("НеУстановленныеЦены") Тогда
СтруктураБлока.Вставить("НазваниеЭтапа", "Установка цен");
СтруктураБлока.Вставить("НазваниеОшибки", "Товары на которые не были установлены цены");
СтруктураБлока.Вставить("МассивОшибочных", ПараметрыПроверки.НеУстановленныеЦены);
ПакетноеВыполнениеВызовСервера.ВывестиБлокСтатистики(ПечатнаяФорма, СтруктураБлока);
КонецЕсли;
Если не все итерации выполнены, будет выведена иконка предупреждения, и по кнопке Статистика можно будет посмотреть ошибки
Если все итерации выполнены и в проверках массивы данных отсутствуют или пустые, то окно выполнения будет иметь следующий вид:
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.16.115