РИБ с фильтром по подразделению / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограмныйИнтерфейс

// Заполняет настройки, влияющие на использование плана обмена.
// 
// Параметры:
//  Настройки - Структура - настройки плана обмена по умолчанию, см. ОбменДаннымиСервер.НастройкиПланаОбменаПоУмолчанию,
//                          описание возвращаемого значения функции.
//
Процедура ПриПолученииНастроек(Настройки) Экспорт
	
	Настройки.НазначениеПланаОбмена = "РИБСФильтром";
	Настройки.ПредупреждатьОНесоответствииВерсийПравилОбмена = Истина;
	Настройки.ПланОбменаИспользуетсяВМоделиСервиса			 = Ложь;
	
	Настройки.Алгоритмы.ПриПолученииОписанияВариантаНастройки				= Истина;
	
КонецПроцедуры

// Заполняет набор параметров, определяющих вариант настройки обмена.
// 
// Параметры:
//  ОписаниеВарианта       - Структура - набор варианта настройки по умолчанию,
//                                       см. ОбменДаннымиСервер.ОписаниеВариантаНастройкиОбменаПоУмолчанию,
//                                       описание возвращаемого значения.
//  ИдентификаторНастройки - Строка    - идентификатор варианта настройки обмена.
//  ПараметрыКонтекста     - Структура - см. ОбменДаннымиСервер.ПараметрыКонтекстаПолученияОписанияВариантаНастройки,
//                                       описание возвращаемого значения функции.
//
Процедура ПриПолученииОписанияВариантаНастройки(ОписаниеВарианта, ИдентификаторНастройки, ПараметрыКонтекста) Экспорт
	
	ОписаниеВарианта.ПутьКФайлуКомплектаПравилНаПользовательскомСайте = "https://users.v8.1c.ru/distribution/project/Trade110";
	ОписаниеВарианта.ПутьКФайлуКомплектаПравилВКаталогеШаблонов = "\1c\trade";
	
	ОписаниеВарианта.Вставить("ЗаголовокКомандыДляСозданияНовогоОбменаДанными", НСтр("ru = 'РИБ с фильтрами'"));
	ОписаниеВарианта.Вставить("ЗаголовокПомощникаСозданияОбмена",               НСтр("ru = 'Настройка распределенной информационной базы с отборами'"));
	ОписаниеВарианта.Вставить("ЗаголовокУзлаПланаОбмена",                       НСтр("ru = 'Узел РИБ с фильтрами'"));
	
	ОписаниеВарианта.ИмяФайлаНастроекДляПриемника 				= "Настройки обмена для УТ (С отборами)";
	ОписаниеВарианта.ИмяФормыСозданияНачальногоОбраза			= "ОбщаяФорма.СозданиеНачальногоОбразаСФайлами";
	ОписаниеВарианта.ИспользоватьПомощникСозданияОбменаДанными	= ПолучитьФункциональнуюОпцию("ИспользоватьПодразделения");;
	ОписаниеВарианта.КраткаяИнформацияПоОбмену					= КраткаяИнформацияПоОбмену();
	ОписаниеВарианта.ПодробнаяИнформацияПоОбмену				= "ПланОбмена.СОтборами.Форма.ПодробнаяИнформация";
	ОписаниеВарианта.ОбщиеДанныеУзлов							= ОбщиеДанныеУзлов();
	
КонецПроцедуры

// Возвращает имена реквизитов и табличных частей плана обмена, перечисленных через запятую,
// которые являются общими для пары обменивающихся конфигураций.
//
Функция ОбщиеДанныеУзлов()
	
	Возврат "ИспользоватьОтборПоОрганизациям, ИспользоватьОтборПоВидамЦен, ВыгружатьИнформативныеОстатки, Подразделения, Организации, ВидыЦен, ИнформативныеОстаткиПоСкладам";
	
КонецФункции

// Возвращает краткую информацию по обмену, выводимую при настройке синхронизации данных.
//
Функция КраткаяИнформацияПоОбмену()
	
	ПоясняющийТекст = НСтр("ru = 'Позволяет настроить новый узел распределенной информационной базы 
		|с отборами по подразделению и организации.'");

	Возврат ПоясняющийТекст;
	
КонецФункции

// Возвращает описание блокируемых реквизитов.
//
// Возвращаемое значение:
//  Массив - содержит строки в формате ИмяРеквизита[;ИмяЭлементаФормы,...]
//           где ИмяРеквизита - имя реквизита объекта, ИмяЭлементаФормы - имя элемента формы,
//           связанного с реквизитом.
//
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
	
	Результат = Новый Массив;
	Результат.Добавить("Код");
	Результат.Добавить("НомерПринятого");
	Результат.Добавить("НомерОтправленного");
	
	Возврат Результат;
	
КонецФункции

#Область ПроцедурыИФункцииБСП

// Определяет несколько вариантов настройки расписания выполнения обмена данными;
// Рекомендуется указывать не более 3 вариантов;
// Эти варианты должны быть одинаковым в плане обмена источника и приемника.
// 
// Параметры:
//  Нет.
// 
// Возвращаемое значение:
//  ВариантыНастройки - СписокЗначений - список расписаний обмена данными
//
Функция ВариантыНастройкиРасписания() Экспорт
	
	Месяцы = Новый Массив;
	Месяцы.Добавить(1);
	Месяцы.Добавить(2);
	Месяцы.Добавить(3);
	Месяцы.Добавить(4);
	Месяцы.Добавить(5);
	Месяцы.Добавить(6);
	Месяцы.Добавить(7);
	Месяцы.Добавить(8);
	Месяцы.Добавить(9);
	Месяцы.Добавить(10);
	Месяцы.Добавить(11);
	Месяцы.Добавить(12);
	
	// Расписание №1
	ДниНедели = Новый Массив;
	ДниНедели.Добавить(1);
	ДниНедели.Добавить(2);
	ДниНедели.Добавить(3);
	ДниНедели.Добавить(4);
	ДниНедели.Добавить(5);
	
	Расписание1 = Новый РасписаниеРегламентногоЗадания;
	Расписание1.ДниНедели                = ДниНедели;
	Расписание1.ПериодПовтораВТечениеДня = 900; // 15 минут
	Расписание1.ПериодПовтораДней        = 1; // каждый день
	Расписание1.Месяцы                   = Месяцы;
	
	// Расписание №2
	ДниНедели = Новый Массив;
	ДниНедели.Добавить(1);
	ДниНедели.Добавить(2);
	ДниНедели.Добавить(3);
	ДниНедели.Добавить(4);
	ДниНедели.Добавить(5);
	ДниНедели.Добавить(6);
	ДниНедели.Добавить(7);
	
	Расписание2 = Новый РасписаниеРегламентногоЗадания;
	Расписание2.ВремяНачала              = Дата('00010101080000');
	Расписание2.ВремяКонца               = Дата('00010101200000');
	Расписание2.ПериодПовтораВТечениеДня = 3600; // каждый час
	Расписание2.ПериодПовтораДней        = 1; // каждый день
	Расписание2.ДниНедели                = ДниНедели;
	Расписание2.Месяцы                   = Месяцы;
	
	// Расписание №3
	ДниНедели = Новый Массив;
	ДниНедели.Добавить(2);
	ДниНедели.Добавить(3);
	ДниНедели.Добавить(4);
	ДниНедели.Добавить(5);
	ДниНедели.Добавить(6);
	
	Расписание3 = Новый РасписаниеРегламентногоЗадания;
	Расписание3.ДниНедели         = ДниНедели;
	Расписание3.ВремяНачала       = Дата('00010101020000');
	Расписание3.ПериодПовтораДней = 1; // каждый день
	Расписание3.Месяцы            = Месяцы;
	
	// возвращаемое значение функции
	ВариантыНастройки = Новый СписокЗначений;
	
	ВариантыНастройки.Добавить(Расписание1, "Один раз в 15 минут, кроме субботы и воскресенья");
	ВариантыНастройки.Добавить(Расписание2, "Каждый час с 8:00 до 20:00, ежедневно");
	ВариантыНастройки.Добавить(Расписание3, "Каждую ночь в 2:00, кроме субботы и воскресенья");
	
	Возврат ВариантыНастройки;
	
КонецФункции

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы