Paste1C
  • API
  • О проекте
  • Контакты
  • Регистрация
  • Вход

&НаКлиенте
Процедура ЭтапПроизводства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":[]}

Публикация кода

Размещая информацию на сайте, Вы подтверждаете согласие со всеми пунктами Пользовательского соглашения

Замечание к коду:

  • Загрузить конфигурацию
    • ERP 2.4
    • Управление торговлей 10.3
    • Управление торговлей 11.4
    • Бухгалтерия 2.0
    • Бухгалтерия 3.0
    • ЗУП 3.1
    • Розница 2.3
    • УНФ 1.6
    • БСП 3.1
  • Тема
    • Светлая
    • Светлая c подсветкой запросов
    • Темная
    • Темная с подсветкой запросов
  • Режим запроса
  • Поделиться
Код:

© Александр Шкураев 2025