Произвольный обработчик перед выполнением проекта
Этот обработчик используется для задания параметров источника. Например, есть запрос, задающий сегментирование по параметру «Буква» (первая буква наименования), и при этом, имеющий 2 параметра просто для вывода значений поля.
Данный пример продемонстрирован на версии 3.11.1.44 Экстрактора 1С.
Итак, заходим в раздел «Проекты» Экстрактора 1С, нажимаем «Создать».

Выбираем тип источника данных «Запрос».

В открывшемся окне задаем наименование и добавляем текст запроса (Вы можете использовать предоставленный в данной статье текст запроса, составить свой на языке программирования 1С или воспользоваться конструктором запроса по кнопке «Конструктор…», как это сделать смотрите в статье).
ВЫБРАТЬ &ТекущаяДата КАК ДатаВыгрузки, &КомментарийКВыгрузке КАК КомментарийВыгрузки, Номенклатура.Ссылка КАК Номенклатура, Номенклатура.Родитель КАК Род_1, Номенклатура.Родитель.Родитель КАК Род_2, Номенклатура.Родитель.Родитель.Родитель КАК Род_3, Номенклатура.Код КАК Код, Номенклатура.Артикул КАК Артикул, Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры, Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры, Номенклатура.Родитель.Родитель.Родитель.Родитель КАК Род_4, ПОДСТРОКА(Номенклатура.Наименование, 1, 1) КАК Буква, Номенклатура.НаименованиеПолное КАК НаименованиеПолное, Номенклатура.Наименование КАК Наименование, Номенклатура.Производитель КАК Производитель, Номенклатура.Родитель.Ссылка КАК РодительСсылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ ПОДСТРОКА(Номенклатура.Наименование, 1, 1) = &Буква

На этапе настройки набора данных оставляем все без изменений. Вкладки «Отбор» и «Параметры» также оставляем без изменений.

Пропускаем этап настройки вычисляемых полей.

Затем выбираем подключение и создаем таблицу-приемник (6 и 7 этапы инструкции по созданию проекта). На этапе сопоставления полей проверяем установленные флаги для сегмента.

Этап расширенных настроек пропускаем и завершаем настройку проекта.
Затем задаем наименование проекту в соответствующем поле, затем заходим в настройки строки проекта с помощью кнопки
.

Теперь настроим обработчик событий проекта:
переходим во вкладку «Обработчики»;
активируем переключатель «Перед выгрузкой»;
выбираем тип «Обработчик»
нажимаем кнопку
для добавления произвольного обработчика.

В открывшемся окне вставляем предложенный ниже листинг кода обработчика в поле «Алгоритм».
//---------------------------------Параметры обработчика: //"СтруктураПроекта" - это структура из реквизитов проекта. //"Объект" - устаревшее, то же что и "СтруктураПроекта", оставлено для совместимости. // Ссылка на проект содержится в СтруктураПроекта.Ссылка, строки проекта в массиве СтруктураПроекта.СтрокиПроекта // В структуре проекта есть свойство "Параметры", которое можно использовать для установки параметров источника. // В строках проекта есть аналогичное свойство, которое переопределит параметр проекта перед выполнением строки. //"Параметры" - параметры обработчика, тип соответствие. //"ТекстОшибки" - значение этого параметра возвращается из обработчика и, если он не пустой, будет записан в лог и приведет к остановке выгрузки проекта //-------------------------------------------------------- //вычислим текущую дату ЗначениеТекущейДаты = ТекущаяДата(); //запомним значения параметров проекта в переменные ИмяПараметраТекДата = Параметры.Получить("Дата выгрузки имя параметра в запросе"); ИмяПараметраКомментарийКВыгрузке = Параметры.Получить("Комментарий к выгрузке имя параметра в запросе"); //установим параметры источника СтруктураПроекта.Параметры.Вставить(ИмяПараметраТекДата, ЗначениеТекущейДаты); СтруктураПроекта.Параметры.Вставить(ИмяПараметраКомментарийКВыгрузке, "Первичная выгрузка данных");

Остановимся на данных выражениях подробнее:
ИмяПараметраТекДата = Параметры.Получить("Дата выгрузки имя параметра в запросе"); ИмяПараметраКомментарийКВыгрузке = Параметры.Получить("Комментарий к выгрузке имя параметра в запросе");
Здесь указаны параметрам запроса-источника данных, для которых необходимо настроить соответствие задаваемым параметров. Для этого в поле «Параметры» добавляем:
«Дата выгрузки имя параметра в запросе», указываем тип «Строка»;
«Комментарий к выгрузке имя параметра в запросе», указываем тип «Строка».
Задаем имя создаваемому обработчику и нажимаем «Записать и закрыть».

Теперь остается указать параметры обработчика. Нажимаем кнопку
, указываем значения:
Дата выгрузки имя параметра в запросе — ТекущаяДата;
Комментарий к выгрузке имя параметра в запросе — КомментарийКВыгрузке.
И нажимаем в этом окне «Сохранить и закрыть».

Остается только выполнить выгрузку: нажимаем поочередно кнопки «Записать», «Сформировать очередь» и «Выполнить проект».
Выгрузка будет выглядеть следующим образом:
