Обычные формы. Поле ввода сотрудника. Передать отбор для справочника.
Найденные решения
(5) тогда и обработчик надо программно добавить
ну и к нему вторую процедуру где будет происходить открытие формы и отбор и т.д.
ЭлементыФормы.Табличка.Колонки["Сотрудник"].ЭлементУправления.УстановитьДействие("НачалоВыбора", Новый Действие("ВыборСотрудника"));
ну и к нему вторую процедуру где будет происходить открытие формы и отбор и т.д.
Процедура ВыборСотрудника(Элемент, СтандартнаяОбработка)
// тут свой код выбора
КонецПроцедуры
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) пример, надо менять обработчик при начале выбора:
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора(,ЭлементФормы,);
// Владельца менять по умолчанию не даем.
ФормаВыбора.ПараметрОтборПоВладельцу = Контрагент;
ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Владелец.Доступность = Ложь;
// Еще надо фильтровать по организации, если она заполнена
Если МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено
И ЗначениеЗаполнено(ДокументОбъект.Организация) Тогда
ФормаВыбора.СправочникСписок.Отбор.Организация.Значение = ДокументОбъект.Организация;
ФормаВыбора.СправочникСписок.Отбор.Организация.Использование = Истина;
ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения = ВидСравнения.Равно;
ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Организация.Доступность = Ложь;
КонецЕсли;
ФормаВыбора.НачальноеЗначениеВыбора = ДоговорКонтрагента;
ФормаВыбора.Открыть();
Показать
(5) тогда и обработчик надо программно добавить
ну и к нему вторую процедуру где будет происходить открытие формы и отбор и т.д.
ЭлементыФормы.Табличка.Колонки["Сотрудник"].ЭлементУправления.УстановитьДействие("НачалоВыбора", Новый Действие("ВыборСотрудника"));
ну и к нему вторую процедуру где будет происходить открытие формы и отбор и т.д.
Процедура ВыборСотрудника(Элемент, СтандартнаяОбработка)
// тут свой код выбора
КонецПроцедуры
работает. спасибо. с вами было приятно общаться ))
Процедура ВыборСотрудника(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ФормаПодбора = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора("ФормаСписка", ЭтаФорма);
ОсновноеПодразделениеОрганизации = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновноеПодразделениеОрганизации");
спсОтбор = новый СписокЗначений;
спсОтбор.Добавить(ОсновноеПодразделениеОрганизации);
ФормаПодбора.Отбор.ПодразделениеОрганизации.ВидСравнения =ВидСравнения.ВСписке;
ФормаПодбора.Отбор.ПодразделениеОрганизации.Значение = спсОтбор;
ФормаПодбора.Отбор.ПодразделениеОрганизации.Использование = ЗначениеЗаполнено(ОсновноеПодразделениеОрганизации);
ФормаПодбора.ЗакрыватьПриВыборе = Истина;
ФормаПодбора.СпособОтображенияОкна=ВариантСпособаОтображенияОкна.Нормальное;
ФормаПодбора.ИзменятьСпособОтображенияОкна = ИзменениеСпособаОтображенияОкна.Разрешить;
ЗначенияВыбора = ФормаПодбора.ОткрытьМодально();
Если ТипЗнч(ЗначенияВыбора) = Тип("Неопределено") Тогда Возврат; КонецЕсли;
Если НЕ рекТаблИсполнители.Найти(ЗначенияВыбора, "Сотрудник")= Неопределено Тогда
Сообщить("Выбранное значение уже присутствует в таблице исполнителей!");
Возврат;
КонецЕсли;
ЭлементыФормы.фрмТаблИсполнители.ТекущиеДанные.Сотрудник = ЗначенияВыбора;
ЭлементыФормы.фрмТаблИсполнители.ТекущиеДанные.КТУ = 1;
ПересчетЗначенийВТаблице();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот