Интерактивное изменение выгрузки. Инициализирует дополнение выгрузки для мастера пошагового обмена.
// Инициализирует дополнение выгрузки для мастера пошагового обмена.
//
// Параметры:
// УзелИнформационнойБазы - ПланОбменаСсылка - ссылка на узел, для которого производится настройка.
// АдресХранилищаФормы - Строка, УникальныйИдентификатор - адрес сохранения между серверными вызовами.
// ЕстьСценарийУзла - Булево - флаг необходимости дополнительной настройки.
//
// Возвращаемое значение:
// Структура - данные для дальнейшего оперирования дополнением выгрузки.
//
Функция ИнтерактивноеИзменениеВыгрузки(Знач УзелИнформационнойБазы, Знач АдресХранилищаФормы, Знач ЕстьСценарийУзла=Неопределено) Экспорт
УстановитьПривилегированныйРежим(Истина);
Результат = Новый Структура;
Результат.Вставить("УзелИнформационнойБазы", УзелИнформационнойБазы);
Результат.Вставить("ВариантВыгрузки", 0);
Результат.Вставить("ПериодОтбораВсехДокументов", Новый СтандартныйПериод);
Результат.ПериодОтбораВсехДокументов.Вариант = ВариантСтандартногоПериода.ПрошлыйМесяц;
ОбработкаДополнения = Обработки.ИнтерактивноеИзменениеВыгрузки.Создать();
ОбработкаДополнения.УзелИнформационнойБазы = УзелИнформационнойБазы;
ОбработкаДополнения.ВариантВыгрузки = 0;
// Компоновщик собираем по частям.
Данные = ОбработкаДополнения.КомпоновщикНастроекОбщегоОтбора(АдресХранилищаФормы);
Результат.Вставить("АдресКомпоновщикаВсехДокументов", ПоместитьВоВременноеХранилище(Данные, АдресХранилищаФормы));
Результат.Вставить("ДополнительнаяРегистрация", Новый ТаблицаЗначений);
Колонки = Результат.ДополнительнаяРегистрация.Колонки;
ТипСтрока = Новый ОписаниеТипов("Строка");
Колонки.Добавить("ПолноеИмяМетаданных", ТипСтрока);
Колонки.Добавить("Отбор", Новый ОписаниеТипов("ОтборКомпоновкиДанных"));
Колонки.Добавить("Период", Новый ОписаниеТипов("СтандартныйПериод"));
Колонки.Добавить("ВыборПериода", Новый ОписаниеТипов("Булево"));
Колонки.Добавить("Представление", ТипСтрока);
Колонки.Добавить("ОтборСтрокой", ТипСтрока);
Колонки.Добавить("Количество", ТипСтрока);
Результат.Вставить("ПараметрыСценарияДополнения", Новый Структура);
ПараметрыСценарияДополнения = Результат.ПараметрыСценарияДополнения;
ПараметрыСценарияДополнения.Вставить("ВариантБезДополнения", Новый Структура("Использование, Порядок, Заголовок", Истина, 1));
ПараметрыСценарияДополнения.ВариантБезДополнения.Вставить("Пояснение",
НСтр("ru='Будут отправлены только данные согласно общим настройкам.'"));
ПараметрыСценарияДополнения.Вставить("ВариантВсеДокументы", Новый Структура("Использование, Порядок, Заголовок", Истина, 2));
ПараметрыСценарияДополнения.ВариантВсеДокументы.Вставить("Пояснение",
НСтр("ru='Дополнительно будут отправлены все документы за период, удовлетворяющие условиям отбора.'"));
ПараметрыСценарияДополнения.Вставить("ВариантПроизвольныйОтбор", Новый Структура("Использование, Порядок, Заголовок", Истина, 3));
ПараметрыСценарияДополнения.ВариантПроизвольныйОтбор.Вставить("Пояснение",
НСтр("ru='Дополнительно будут отправлены данные согласно отбору.'"));
ПараметрыСценарияДополнения.Вставить("ВариантДополнительно", Новый Структура("Использование, Порядок, Заголовок", Ложь, 4));
ПараметрыСценарияДополнения.ВариантДополнительно.Вставить("Пояснение",
НСтр("ru='Будут отправлены дополнительные данные по настройкам.'"));
ВариантДополнительно = ПараметрыСценарияДополнения.ВариантДополнительно;
ВариантДополнительно.Вставить("Заголовок", "");
ВариантДополнительно.Вставить("ИспользоватьПериодОтбора", Ложь);
ВариантДополнительно.Вставить("ПериодОтбора");
ВариантДополнительно.Вставить("Отбор", Результат.ДополнительнаяРегистрация.Скопировать());
ВариантДополнительно.Вставить("ИмяФормыОтбора");
ВариантДополнительно.Вставить("ЗаголовокКомандыФормы");
МетаУзел = УзелИнформационнойБазы.Метаданные();
Если ЕстьСценарийУзла=Неопределено Тогда
// Можно определить по метаданным узла.
ЕстьСценарийУзла = Ложь;
КонецЕсли;
Если ЕстьСценарийУзла Тогда
Если ЕстьАлгоритмМенеджераПланаОбмена("НастроитьИнтерактивнуюВыгрузку",МетаУзел.Имя) Тогда
МодульМенеджераУзла = ПланыОбмена[МетаУзел.Имя];
МодульМенеджераУзла.НастроитьИнтерактивнуюВыгрузку(УзелИнформационнойБазы, Результат.ПараметрыСценарияДополнения);
КонецЕсли;
КонецЕсли;
Результат.Вставить("АдресХранилищаФормы", АдресХранилищаФормы);
УстановитьПривилегированныйРежим(Ложь);
Возврат Результат;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ИнтерактивноеИзменениеВыгрузки_СформироватьТабличныйДокументПользователя (БСП)
ИнтерактивноеИзменениеВыгрузки_СформироватьДеревоЗначений (БСП)
ИнтерактивноеИзменениеВыгрузкиОчисткаДетально (БСП)
ИнтерактивноеИзменениеВыгрузкиОчисткаОбщегоОтбора (БСП)
ИнтерактивноеИзменениеВыгрузкиСохранитьНастройки (БСП)
ИнтерактивноеИзменениеВыгрузкиРеквизитПоНастройкам (БСП)
ИнтерактивноеИзменениеВыгрузкиЗарегистрироватьДополнительныеДанные (БСП)
ИнтерактивноеИзменениеВыгрузкиФильтрВарианта (БСП)
ИнтерактивноеИзменениеВыгрузкиОписаниеДополненияОбщегоОтбора (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)