Условия предоставления скидок (наценок) / Форма элемента / Модуль формы

файл

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;

	ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);

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

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	
	// Обработчик подсистемы запрета редактирования реквизитов объектов
	ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);

	МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);

КонецПроцедуры

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

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)

	МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);

КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	СкидкиНаценкиСервер.ПередЗаписьюНаСервере(ЭтотОбъект, ТекущийОбъект, "УсловиеПредоставления");
	
	МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);
	
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	
	СкидкиНаценкиСервер.ПриСозданииЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
	
	МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
	
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	
	СкидкиНаценкиКлиентСервер.ОбновитьРеквизитыАвтонаименования(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиенте
Процедура ТипСравненияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ЗначениеУсловияПредоставленияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВалютаОграниченияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура СегментНоменклатурыПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВариантНакопленияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ПериодНакопленияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ТипСравненияЗаНакопленныйОбъемПродажПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ЗначениеУсловияПредоставленияЗаНакопленныйОбъемПродажПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВалютаОграниченияЗаНакопленныйОбъемПродажПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура СегментНоменклатурыЗаНакопленныйОбъемПродажПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ГрафикОплатыПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура СегментНоменклатурыОграниченияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВремяДействияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ФормаОплатыПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ГруппаПользователейПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВидКартыЛояльностиПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура КоличествоПериодовНакопленияПриИзменении(Элемент)
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
КонецПроцедуры

&НаКлиенте
Процедура УсловиеПредоставленияПриИзменении(Элемент)
	
	СкидкиНаценкиКлиентСервер.УсловиеПредоставленияПриИзмененииНаСервере(ЭтотОбъект);
	Объект.Наименование = "";
	
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ВариантОпределенияПериодаНакопительнойСкидкиПриИзменении(Элемент)
	
	СкидкиНаценкиКлиентСервер.ВариантОпределенияПериодаНакопительнойСкидкиПриИзмененииНаСервере(ЭтотОбъект);
	
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура КритерийПримененияЗаОбъемПродажПриИзменении(Элемент)
	
	СкидкиНаценкиКлиентСервер.КритерийПримененияЗаОбъемПродажПриИзмененииНаСервере(ЭтотОбъект);
	
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ВариантОтбораНоменклатурыПриИзменении(Элемент)
	
	УстановитьНастройкиЭлементовВариантовУсловийПоНоменклатуре(ЭтотОбъект, "ЗаРазовыйОбъемПродаж");
	УстановитьНастройкиЭлементовВариантовУсловийПоНоменклатуре(ЭтотОбъект, "ЗаНакопленныйОбъемПродаж");
	
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
	
КонецПроцедуры

&НаКлиенте
Процедура ДекорацияОписаниеПоставляетсяВнешнейОбработкойСкидкиОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ПоказатьЗначение(Неопределено, Объект.УсловиеПредоставления);
	
КонецПроцедуры

&НаКлиенте
Процедура ОтборЗаРазовыйОбъемПродажОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	СкидкиНаценкиКлиент.НастроитьОтбор(
		ЭтотОбъект,
		НавигационнаяСсылкаФорматированнойСтроки,
		ПолучитьАдресаСхемыКомпоновкиДанныхВоВременномХранилище(НавигационнаяСсылкаФорматированнойСтроки));
	
КонецПроцедуры

&НаКлиенте
Процедура ОтборЗаНакопленныйОбъемПродажОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	СкидкиНаценкиКлиент.НастроитьОтбор(
		ЭтотОбъект,
		НавигационнаяСсылкаФорматированнойСтроки,
		ПолучитьАдресаСхемыКомпоновкиДанныхВоВременномХранилище(НавигационнаяСсылкаФорматированнойСтроки));
	
КонецПроцедуры

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

&НаКлиенте
Процедура УсловиеПредоставленияОчистка(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

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

#Область ОбработчикиКомандФормы

&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
	
	ПараметрыПроцедуры = ОбщегоНазначенияУТКлиент.ПараметрыРазрешенияРедактированияРеквизитовОбъекта();
	ПараметрыПроцедуры.ОповещениеОРазблокировке = Новый ОписаниеОповещения("РазрешитьРедактированиеРеквизитовОбъектаЗавершение", ЭтотОбъект);
	ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтаФорма, ПараметрыПроцедуры);
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

&НаКлиенте
Процедура ПоказатьФормуНастроекВнешнейОбработки(Команда)
	
	ПараметрыФормы = Новый Структура;
	ПараметрыФормы.Вставить("АдресНастроекВнешнейОбработки", АдресНастроекВнешнейОбработки);
	ОткрытьФорму(
		ИмяФормыНастроекВнешнейОбработки,
		ПараметрыФормы,
		ЭтаФорма,,,,
		Новый ОписаниеОповещения("ИзмененыНастройкиВнешнейОбработки", ЭтотОбъект));
	
КонецПроцедуры

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

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

#Область ПриИзмененииРеквизитов

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

&НаКлиенте
Процедура ДействиеСкидокНаценокПоНоменклатуреЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	СкидкиНаценкиКлиентСервер.НастроитьГиперссылкуНаСписокНоменклатурныхПозиций(ЭтотОбъект);
	
	СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
	
КонецПроцедуры

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

&НаКлиенте
Процедура ИзмененыНастройкиВнешнейОбработки(Результат, ДополнительныеПараметры) Экспорт
	
	Если ЗначениеЗаполнено(Результат) Тогда
		
		ОписаниеДействияВнешнейОбработки = Результат.ОписаниеДействияВнешнейОбработки;
		АвтонаименованиеВнешнейОбработки = Результат.АвтонаименованиеВнешнейОбработки;
		
		СкидкиНаценкиКлиент.ОбновитьАвтонаименованиеУсловияПримененияСкидок(ЭтотОбъект, Истина);
		Модифицированность = Истина;
		
	КонецЕсли;
	
КонецПроцедуры

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

&НаКлиенте
Процедура РазрешитьРедактированиеРеквизитовОбъектаЗавершение(Результат, ДополнительныеПараметры) Экспорт
	
	УстановитьНастройкиЭлементовВариантовУсловийПоНоменклатуре(ЭтотОбъект, "ЗаРазовыйОбъемПродаж");
	УстановитьНастройкиЭлементовВариантовУсловийПоНоменклатуре(ЭтотОбъект, "ЗаНакопленныйОбъемПродаж");
	
КонецПроцедуры

&НаСервере
Функция ПолучитьАдресаСхемыКомпоновкиДанныхВоВременномХранилище(Имя)
	
	Возврат СкидкиНаценкиВызовСервера.ПолучитьАдресаСхемыКомпоновкиДанныхВоВременномХранилище(ЭтотОбъект, Имя);
	
КонецФункции

&НаСервере
Процедура ПрименитьИзменения(Результат, Имя)
	
	Настройки = ПолучитьИзВременногоХранилища(Результат);
	ЭтотОбъект[Имя].ЗагрузитьНастройки(Настройки);
	
	СкидкиНаценкиКлиентСервер.НастроитьГиперссылкиОтборов(ЭтотОбъект);

КонецПроцедуры

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

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

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