0
sergqwert
16.03.21
✎
21:39
|
Как можно открыть форму выбора с отбором и подставить выбранное значение в документ? Не получается подставить значение.
Открыть форму выбора с отбором получилось.
Как выбранный элемент в документ подставить?
Процедура ВодительНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.ФизическиеЛица.ПолучитьФормуВыбора(,Элемент);
ФормаВыбора.СправочникСписок.Отбор.Должность.ВидСравнения = ВидСравнения.Равно;
ФормаВыбора.СправочникСписок.Отбор.Должность.Значение = Водитель();
ФормаВыбора.СправочникСписок.Отбор.Должность.Использование = Истина;
Водители = Новый СписокЗначений();
Водители = ПоискВодителей();
//Отбор водителей, не назначенных другими документами
ФормаВыбора2 = Справочники.ФизическиеЛица.ПолучитьФормуВыбора(,Элемент);
ФормаВыбора2.СправочникСписок.Отбор.Наименование.ВидСравнения = ВидСравнения.НеВСписке;
ФормаВыбора2.СправочникСписок.Отбор.Наименование.Значение = Водители;
ФормаВыбора2.СправочникСписок.Отбор.Наименование.Использование = Истина;
ВыбранныйВодитель = ФормаВыбора.ОткрытьМодально();
Если НЕ Строка(ВыбранныйВодитель) = "" Тогда
ВыбранныйВодитель = Водитель;
КонецЕсли;
КонецПроцедуры
Функция ПоискВодителей();
Водители = Новый СписокЗначений();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СформированныеБригады.Водитель КАК Водитель
|ИЗ
| РегистрСведений.СформированныеБригады КАК СформированныеБригады
|ГДЕ
| СформированныеБригады.Период МЕЖДУ &ДатаНач И &ДатаКон
| И СформированныеБригады.ТранспортноеСредство = &ТранспортноеСредство";
Запрос.УстановитьПараметр("ДатаНач", НачалоДня(Дата));
Запрос.УстановитьПараметр("ДатаКон", КонецДня(Дата));
Запрос.УстановитьПараметр("ТранспортноеСредство", ЭлементыФормы.Машина.Значение);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Водители.Добавить(Строка(ВыборкаДетальныеЗаписи.Водитель));
КонецЦикла;
Возврат Водители;
КонецФункции
Функция Водитель()
Возврат Справочники.Должности.Водитель.Наименование;
КонецФункции
|
|
1
youalex
16.03.21
✎
22:46
|
>НЕ Строка(ВыбранныйВодитель) = ""
Не пиши так, есть ЗначениеЗаполнено() - проверит и на Неопределено, и на пустую ссылку.
> ВыбранныйВодитель = Водитель;
Очевидно, здесь нужно наоборот, если конечно у тебя реквизит называется "Водитель".
Тем более, ты назначаешь владельцем формы выбора текущий элемент (ПолучитьФормуВыбора(,Элемент)),
он у тебя при выборе должен автоматически подставиться. Попробуй оставить просто
ФормаВыбора.ОткрытьМодально();
|
|