&НаКлиенте
Процедура ЭтапПроизводства1НачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если Не ТипЗнч(Объект.ЗаказКлиента) = Тип("Строка") Тогда
//
# Область ВариантОтбора_1
//ЭтапПроизводства1НачалоВыбораСервер(ДанныеВыбора);
# КонецОбласти
//
# Область ВариантОтбора_2
//Если ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказКлиента") ИЛИ ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказДавальца") Тогда
// СтандартнаяОбработка = Ложь;
// //1. ЗаказКлиента – связь с документом ЭтапПроизводства по реквизиту Распоряжение.ЗаказНаПроизводство2_2.ДокументОснование.
// //2. ЗаказДавальца – связь с документом ЭтапПроизводства по реквизиту Распоряжение.ЗаказНаПроизводство2_2.ДокументОснование.
// Отбор = Новый Структура("ДокументОснование", Объект.ЗаказКлиента);
// ПараметрыФормы = Новый Структура("Отбор", Отбор);
// ОткрытьФорму("Документ.ЭтапПроизводства2_2.ФормаВыбора", ПараметрыФормы);
//ИначеЕсли ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказНаПроизводство2_2") Тогда
// //
//КонецЕсли;
# КонецОбласти
//
# Область ВариантОтбора_3
МассивЭтаповПроизводства = ПолучитьЭтапыПроизводстваНаСервере();
СЗЭтаповПроизводства = Новый СписокЗначений;
СЗЭтаповПроизводства.ЗагрузитьЗначения(МассивЭтаповПроизводства);
//
НастройкиКомп = Новый НастройкиКомпоновкиДанных;
//
ОтборСписка = НастройкиКомп.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборСписка.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ОтборСписка.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ОтборСписка.ПравоеЗначение = СЗЭтаповПроизводства;
ОтборСписка.Использование = Истина;
//
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ФиксированныеНастройки", НастройкиКомп);
//
ОткрытьФорму("Документ.ЭтапПроизводства2_2.Форма.ФормаВыбора", ПараметрыФормы, Элемент);
# КонецОбласти
//
КонецЕсли;
КонецПроцедуры
//
&НаСервере
Процедура ЭтапПроизводства1НачалоВыбораСервер(ДанныеВыбора)
//1. ЗаказКлиента – связь с документом ЭтапПроизводства по реквизиту Распоряжение.ЗаказНаПроизводство2_2.ДокументОснование.
//2. ЗаказДавальца – связь с документом ЭтапПроизводства по реквизиту Распоряжение.ЗаказНаПроизводство2_2.ДокументОснование.
//3. ЗаказНаПроизводство – связь с документом ЭтапПроизводства по реквизиту Распоряжение.ЗаказНаПроизводство2_2.
//
Запрос = Новый Запрос;
Если ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказКлиента") ИЛИ ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказДавальца") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| ЭтапПроизводства2_2.Ссылка КАК Ссылка
|ИЗ
| Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
|ГДЕ
| ЭтапПроизводства2_2.Распоряжение.ДокументОснование = &ДокументОснование";
ИначеЕсли ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказНаПроизводство2_2") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| ЭтапПроизводства2_2.Ссылка КАК Ссылка
|ИЗ
| Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
|ГДЕ
| ЭтапПроизводства2_2.Распоряжение = &ДокументОснование";
КонецЕсли;
Запрос.УстановитьПараметр("ДокументОснование", Объект.ЗаказКлиента);
Результат = Запрос.Выполнить();
//
ДанныеВыбора = Новый СписокЗначений;
ДанныеВыбора.ЗагрузитьЗначения(Результат.Выгрузить().ВыгрузитьКолонку("Ссылка"));
КонецПроцедуры
// <-
&НаСервере
Функция ПолучитьЭтапыПроизводстваНаСервере()
Запрос = Новый Запрос;
Если ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказКлиента") ИЛИ ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказДавальца") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| ЭтапПроизводства2_2.Ссылка КАК Ссылка
|ИЗ
| Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
|ГДЕ
| ЭтапПроизводства2_2.Распоряжение.ДокументОснование = &ДокументОснование";
ИначеЕсли ТипЗнч(Объект.ЗаказКлиента) = Тип("ДокументСсылка.ЗаказНаПроизводство2_2") Тогда
Запрос.Текст = "
|ВЫБРАТЬ
| ЭтапПроизводства2_2.Ссылка КАК Ссылка
|ИЗ
| Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
|ГДЕ
| ЭтапПроизводства2_2.Распоряжение = &ДокументОснование";
КонецЕсли;
Запрос.УстановитьПараметр("ДокументОснование", Объект.ЗаказКлиента);
Результат = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
Возврат Результат;
//
КонецФункции
// <-
{"contextData":{},"contextMarkers":[]}