Загрузка данных


&НаКлиенте
Процедура УслугаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

	Если Не ЗначениеЗаполнено(Объект.Мастер) Тогда
		Сообщить("Сначала выберите мастера.");
		СтандартнаяОбработка = Ложь;
		Возврат;
	КонецЕсли;

	СписокУслуг = ПолучитьУслугиМастера(Объект.Мастер);

	Если СписокУслуг.Количество() = 0 Тогда
		Сообщить("Для выбранного мастера не указаны выполняемые услуги.");
		СтандартнаяОбработка = Ложь;
		Возврат;
	КонецЕсли;

	Элемент.СписокВыбора.Очистить();

	Для Каждого ТекущаяУслуга Из СписокУслуг Цикл
		Элемент.СписокВыбора.Добавить(ТекущаяУслуга, Строка(ТекущаяУслуга));
	КонецЦикла;

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

======

&НаСервереБезКонтекста
Функция ПолучитьУслугиМастера(Мастер)

	МассивУслуг = Новый Массив;

	Если Не ЗначениеЗаполнено(Мастер) Тогда
		Возврат МассивУслуг;
	КонецЕсли;

	ОбъектСотрудника = Мастер.ПолучитьОбъект();

	Для Каждого СтрокаУслуги Из ОбъектСотрудника.ВыполняемыеУслуги Цикл

		Если ЗначениеЗаполнено(СтрокаУслуги.Услуга) Тогда
			МассивУслуг.Добавить(СтрокаУслуги.Услуга);
		КонецЕсли;

	КонецЦикла;

	Возврат МассивУслуг;

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

====== 

&НаКлиенте
Процедура МастерПриИзменении(Элемент)

	Объект.Услуга = Неопределено;
	Объект.СуммаУслуги = 0;

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

========


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

	Если Не ЗначениеЗаполнено(Объект.Мастер) Тогда
		Сообщить("Сначала выберите мастера.");
		СтандартнаяОбработка = Ложь;
		Возврат;
	КонецЕсли;

	СписокУслуг = ПолучитьУслугиМастера(Объект.Мастер);

	Элемент.СписокВыбора.Очистить();

	Для Каждого ТекущаяУслуга Из СписокУслуг Цикл
		Элемент.СписокВыбора.Добавить(ТекущаяУслуга, Строка(ТекущаяУслуга));
	КонецЦикла;

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