Результат работы правил получения фактических данных / Модуль объекта

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

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

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

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

#Область ОбработчикиСобытий

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

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

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

Процедура ДополнитьПараметрыПроверкиОтраженияДокументов(ДопСвойства, КомпоновщикНастроек)
	//Если есть простой отбор, который может повлиять на необходимость предупреждения о неотраженных документах, то дополним параметры.
	ИмяПоляКомпоновки = "СтатьяБюджетов";
	ЭлементыОтбора = Новый Массив;
	БюджетнаяОтчетностьРасчетКэшаСервер.НайтиОтборПоИмени(КомпоновщикНастроек.ПолучитьНастройки(), ИмяПоляКомпоновки, ЭлементыОтбора);
	Если ЭлементыОтбора.Количество() = 1 Тогда
		ЭлементОтбора = ЭлементыОтбора[0]; // ЭлементОтбораКомпоновкиДанных -
		Если ЭлементОтбора.Использование
			И ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно
			И ЭлементОтбора.Родитель = Неопределено Тогда
			ДопСвойства.Вставить("ПроверкаХранимыхПравилСтатьяБюджетов", ЭлементОтбора.ПравоеЗначение);
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры

Функция ПараметрыПолученияФактаПоНастройкамОтчета(НастройкиОтчета)
	
	Параметры = БюджетированиеСервер.ШаблонПараметровПолученияФакта();
	
	Параметры.ВалютаОтчета = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "Валюта").Значение;
	Параметры.ФункциональнаяВалюта = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "ФункциональнаяВалюта").Значение;
	Параметры.Период = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "Период").Значение;
	Параметры.Периодичность = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "Периодичность").Значение;
	Параметры.ПоПравиламПолученияДанных = Истина;
	Параметры.ПоОрганизациям = Истина;
	Параметры.ПоПодразделениям = Истина;
	
	Показатели = Новый Структура;
	Для каждого ЭлементСтруктуры Из НастройкиОтчета.Структура Цикл
		Если ТипЗнч(ЭлементСтруктуры) <> Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
			Продолжить;
		КонецЕсли;
		Если КомпоновкаДанныхКлиентСервер.ПолеИспользуется(ЭлементСтруктуры.Настройки, "Регистратор") Тогда
			Параметры.ПоРегистратору = Истина;
		КонецЕсли;
		Если КомпоновкаДанныхКлиентСервер.ПолеИспользуется(ЭлементСтруктуры.Настройки, "Сумма") Тогда
			Показатели.Вставить("Сумма");
		КонецЕсли;
		Если КомпоновкаДанныхКлиентСервер.ПолеИспользуется(ЭлементСтруктуры.Настройки, "Количество") Тогда
			Показатели.Вставить("Количество");
		КонецЕсли;
	КонецЦикла;
	
	Параметры.Показатели = Показатели;
	
	Возврат Параметры;
	
КонецФункции

Процедура НастроитьДополнениеПериода(НастройкиОтчета) 
	
	Перидичность = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "Периодичность").Значение;
	СтрокаПериодичность = ОбщегоНазначения.ИмяЗначенияПеречисления(Перидичность);
	ТипДополнения = ТипДополненияПериодаКомпоновкиДанных[СтрокаПериодичность];
	
	Период = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(НастройкиОтчета, "Период").Значение; // СтандартныйПериод - 
	ПолеПериод = Новый ПолеКомпоновкиДанных("Период");
	
	Для каждого ЭлементСтруктуры Из НастройкиОтчета.Структура Цикл
		Если ТипЗнч(ЭлементСтруктуры) <> Тип("НастройкиВложенногоОбъектаКомпоновкиДанных") Тогда
			Продолжить;
		КонецЕсли;
		Группировки = КомпоновкаДанныхКлиентСервер.ПолучитьГруппировки(ЭлементСтруктуры.Настройки);
		Для каждого Группировка Из Группировки Цикл
			ГруппировкаКомпоновки = Группировка.Значение; // ГруппировкаКомпоновкиДанных, ГруппировкаТаблицыКомпоновкиДанных -
			ЭлементыГруппировки = ГруппировкаКомпоновки.ПоляГруппировки.Элементы;
			Если ЭлементыГруппировки.Количество() = 1 И ЭлементыГруппировки[0].Поле = ПолеПериод Тогда
				ГруппировкаПериод = ЭлементыГруппировки[0];
				ГруппировкаПериод.ТипДополнения = ТипДополнения;
				ГруппировкаПериод.НачалоПериода = Период.ДатаНачала;
				ГруппировкаПериод.КонецПериода = Период.ДатаОкончания;
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
	
КонецПроцедуры

Процедура УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы)
	
	ПараметрВалюта = КомпоновкаДанныхКлиентСервер.ПолучитьПараметр(КомпоновщикНастроек, "Валюта");
	Если ПараметрВалюта <> Неопределено И Не ЗначениеЗаполнено(ПараметрВалюта.Значение) Тогда
		КомпоновкаДанныхКлиентСервер.УстановитьПараметр(
			КомпоновщикНастроек, "Валюта", Константы.ВалютаУправленческогоУчета.Получить());
		ПользовательскиеНастройкиМодифицированы = Истина;
	КонецЕсли;
	
КонецПроцедуры

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

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

			Если ЗначениеЗаполнено(СтатьяБюджетов) Тогда
				УчитыватьПоКоличеству = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(СтатьяБюджетов,
					"УчитыватьПоКоличеству");
			КонецЕсли;
		ИначеЕсли Параметры.ОписаниеКоманды.ДополнительныеПараметры.ИмяКоманды = "ПоСтатьямБюджетов" Тогда
			Если ТипЗнч(Параметры.ПараметрКоманды[0]) = Тип("СправочникСсылка.ПравилаПолученияФактаПоСтатьямБюджетов") Тогда
				СтатьиБюджетов = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Параметры.ПараметрКоманды, "СтатьяБюджетов");
			Иначе
				СтатьиБюджетов = Параметры.ПараметрКоманды;
			КонецЕсли;

			Если СтатьиБюджетов.Количество() > 0 Тогда
				УчитыватьПоКоличеству = ОбщегоНазначенияУТКлиентСервер.ПреобразоватьСоответствиеИлиСтруктуруВМассив(
					ОбщегоНазначения.ЗначениеРеквизитаОбъектов(СтатьиБюджетов, "УчитыватьПоКоличеству")).Найти(Истина)
					<> Неопределено;
			КонецЕсли;
		ИначеЕсли Параметры.ОписаниеКоманды.ДополнительныеПараметры.ИмяКоманды = "ПоПоказателюБюджетов" Тогда
			Если ТипЗнч(Параметры.ПараметрКоманды) = Тип("СправочникСсылка.ПравилаПолученияФактаПоПоказателямБюджетов") Тогда
				ПоказательБюджетов = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Параметры.ПараметрКоманды,
					"ПоказательБюджетов");
			Иначе
				ПоказательБюджетов = Параметры.ПараметрКоманды;
			КонецЕсли;

			Если ЗначениеЗаполнено(ПоказательБюджетов) Тогда
				УчитыватьПоКоличеству = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПоказательБюджетов,
					"УчитыватьПоКоличеству");
			КонецЕсли;
		ИначеЕсли Параметры.ОписаниеКоманды.ДополнительныеПараметры.ИмяКоманды = "ПоПоказателямБюджетов" Тогда
			Если ТипЗнч(Параметры.ПараметрКоманды[0]) = Тип(
				"СправочникСсылка.ПравилаПолученияФактаПоПоказателямБюджетов") Тогда
				ПоказателиБюджетов = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(Параметры.ПараметрКоманды,
					"ПоказательБюджетов");
			Иначе
				ПоказателиБюджетов = Параметры.ПараметрКоманды;
			КонецЕсли;

			Если ПоказателиБюджетов.Количество() > 0 Тогда
				УчитыватьПоКоличеству = ОбщегоНазначенияУТКлиентСервер.ПреобразоватьСоответствиеИлиСтруктуруВМассив(
					ОбщегоНазначения.ЗначениеРеквизитаОбъектов(ПоказателиБюджетов, "УчитыватьПоКоличеству")).Найти(
					Истина) <> Неопределено;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	
	Если УчитыватьПоКоличеству Тогда
		НастройкиОтчета = КомпоновщикНастроекФормы.ПолучитьНастройки();
		ПолеКоличество = Новый ПолеКомпоновкиДанных("Количество");
		Для каждого ЭлементСтруктуры Из НастройкиОтчета.Структура Цикл
			Для каждого ПолеВыбора Из ЭлементСтруктуры.Настройки.Выбор.Элементы Цикл
				Если ПолеВыбора.Поле = ПолеКоличество Тогда
					ПолеВыбора.Использование = Истина;
					Прервать;
				КонецЕсли;
			КонецЦикла; 
		КонецЦикла;
		
		КомпоновщикНастроекФормы.ЗагрузитьНастройки(НастройкиОтчета);
	КонецЕсли;
КонецПроцедуры

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

#КонецЕсли

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