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