Сотрудники / Форма способы и места выплаты / Модуль формы

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

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

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	НастроитьВидСпособыИМестаВыплат();
	
КонецПроцедуры

&НаСервере
Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)
	ВзаиморасчетыССотрудникамиРасширенный.ПроверитьРаспределениеМестВыплатыЗарплатыСотрудников(ПолучитьРаспределениеМестВыплатЗарплаты(), Отказ);
КонецПроцедуры

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

#Область ОбработчикиСобытийЭлементовТаблицыФормыСпособыИМестаВыплат

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

&НаКлиенте
Процедура СпособыИМестаВыплатСпособОграниченияВыплатыПриИзменении(Элемент)
	ТекущиеДанные = Элементы.СпособыИМестаВыплат.ТекущиеДанные;
	ТекущиеДанные.Размер = 0;
КонецПроцедуры


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

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

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

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

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

&НаКлиенте
Процедура Ок(Команда)
	Если ПроверитьЗаполнение() Тогда
		ПеренестиИзмененияВОбъектФормыВладельца();
		Закрыть();
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Отмена(Команда)
	Модифицированность = Ложь;
	Закрыть();
КонецПроцедуры

&НаКлиенте
Процедура ДобавитьСтрокуРаспределения(Команда)
	СтрокаМестаВыплаты = СпособыИМестаВыплат.ПолучитьЭлементы()[0].ПолучитьЭлементы().Добавить();
	СтрокаМестаВыплаты.Сотрудник = СотрудникСсылка;
	СтрокаМестаВыплаты.СпособВыплаты = СпособВыплаты;
	Элементы.СпособыИМестаВыплат.ТекущаяСтрока = СтрокаМестаВыплаты.ПолучитьИдентификатор();
	Элементы.СпособыИМестаВыплат.ТекущийЭлемент = Элементы.СпособыИМестаВыплатВид;
	Элементы.СпособыИМестаВыплат.ИзменитьСтроку();
КонецПроцедуры

&НаКлиенте
Процедура УдалитьСтрокуРаспределения(Команда)
	
	ТекущиеДанные = Элементы.СпособыИМестаВыплат.ТекущиеДанные;
	Если ТекущиеДанные.СтрокаПоУмолчанию Тогда
		Возврат;
	КонецЕсли;
	СпособыИМестаВыплат.ПолучитьЭлементы()[0].ПолучитьЭлементы().Удалить(ТекущиеДанные);
	Модифицированность = Истина;
	
КонецПроцедуры

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


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

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

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

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

&НаСервере
Функция ПоместитьИзмененныеДанныеВоВременноеХранилище()
	
	ВозвращаемыеСведения = Новый Структура;
	ВозвращаемыеСведения.Вставить("СпособВыплаты", СпособВыплаты);
	ВозвращаемыеСведения.Вставить("РаспределениеМестВыплатЗарплаты", ПолучитьРаспределениеМестВыплатЗарплаты());
	
	Возврат ПоместитьВоВременноеХранилище(ВозвращаемыеСведения, УникальныйИдентификатор);

КонецФункции

&НаКлиенте
Процедура НастроитьВидСпособыИМестаВыплат()
	
	Если РежимРаспределенияСпособаВыплаты Тогда
		Для каждого СтрокаВерхнегоУровня Из СпособыИМестаВыплат.ПолучитьЭлементы() Цикл
			Элементы.СпособыИМестаВыплат.Развернуть(СтрокаВерхнегоУровня.ПолучитьИдентификатор(), Ложь);
		КонецЦикла;
	КонецЕсли;
	
КонецПроцедуры

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


&НаСервере
Функция ПредставлениеМестаВыплаты(МестоВыплаты, Размер, СпособОграниченияВыплаты)
	
	Возврат Строка(МестоВыплаты) +" - "+ Строка(Размер) +?(СпособОграниченияВыплаты = Перечисления.СпособОграниченияВыплаты.Процентом,"%"," руб." );
	
КонецФункции

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

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


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

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