Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 июл 2022, 10:41

Как сделать, чтобы в списке при выборе отображались только услуги?

Автор dima.karpov, 03 дек 2017, 17:06

0 Пользователей и 1 гость просматривают эту тему.

dima.karpov

Есть справочник Номенклатура, в данном справочнике есть реквизит Услуга тип булево, чтобы мы отличили Товар от Услуги.
Создаю документ с реквизитом Услуги тип ссылка на Номенклатуру.
Как сделать, что при выборе услуг в данном документе, в списке отображались только услуги, т.е. без товаров.
Платформа 8.1.

AIFrame

На форме документа в ТЧ с услугами, на нужной колонке там где значение поставить обработчик на НачалоВыбора.
Процедура ТабличноеПоле1НоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
ФормаВыбора.Отбор.Услуга.Установить(Истина);
ФормаВыбора.ИзменятьСпособОтображенияОкна = ИзменениеСпособаОтображенияОкна.Разрешить;
ФормаВыбора.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
ФормаВыбора.МножественныйВыбор = Ложь;
Ном = ФормаВыбора.ОткрытьМодально();

Если ЗначениеЗаполнено(Ном) Тогда
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока.Номенклатура = Ном;
КонецЕсли;

КонецПроцедуры


dima.karpov

Цитата: AIFrame от 04 дек 2017, 07:12
На форме документа в ТЧ с услугами, на нужной колонке там где значение поставить обработчик на НачалоВыбора.
Процедура ТабличноеПоле1НоменклатураНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;

ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора();
ФормаВыбора.Отбор.Услуга.Установить(Истина);
ФормаВыбора.ИзменятьСпособОтображенияОкна = ИзменениеСпособаОтображенияОкна.Разрешить;
ФормаВыбора.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
ФормаВыбора.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь;
ФормаВыбора.МножественныйВыбор = Ложь;
Ном = ФормаВыбора.ОткрытьМодально();

Если ЗначениеЗаполнено(Ном) Тогда
ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока.Номенклатура = Ном;
КонецЕсли;

КонецПроцедуры


СПАСИБО ОГРОМНОЕ!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск