Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
07 апр 2025, 18:51

Проверить стоит ли отбор

Автор BorisSPb, 17 сен 2013, 13:51

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

BorisSPb

 Здравствуйте.

Стоит следующая задача: необходимо проверить стоит ли отбор в динамическом списке по элементу "Склад".

Я написал следующую процедуру, которая вызывается по команде нажатия кнопки:

&НаКлиенте Процедура ОткрытьСправочникНоменклатура(); Если Элементы.Список.Отбор["Склад"]  Тогда     ОткрытьФорму("Справочник.Номенклатура.ФормаСписка"); КонецЕсли КонецПроцедуры

Но в режиме предприятия выдаётся ошибку:

{Документ.ВнутреннееПотреблениеТоваров.Форма.ФормаСписка.Форма(97)}: Поле объекта не обнаружено (Отбор) Если Элементы.Список.Отбор["Склад"]  Тогда

Подскажите, пожалуйста, как исправить данную ошибку?




LordWizard

может я ошибаюсь - ты обращаешься к списку документов, а требуешь отбор в Элементах?
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

BorisSPb

Если написать:

Если Список.Отбор["Склад"]  Тогда ОткрытьФорму("Справочник.Номенклатура.ФормаСписка"); КонецЕсли

То выдаёт ту же ошибку.

LordWizard

давай определимся:Ты в каком списке пытаешься сделать отбор?
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

BorisSPb

В динамическом списке документов (Документ.ВнутреннееПоступлениеТоваров.ФормаСписка). Только я хочу не поставить отбор, а проверить поставил его ли пользователь.

LordWizard

:xfbnsdfb: а причем здесь пользователь? мы сейчас о какой конфигурации говорим и о какой задаче? и как он должен поставить или не поставить отбор?
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

BorisSPb

Вот задача целиком.

Описание:
Добавить в список документов внутренних потреблений товаров (ВПТ) кнопку       
"Номенклатура".                                                                 
Эта кнопка должна открывать форму списка справочника номенклатуры.             
Если в списке документов сделан отбор по складу и склад попадает в группу       
складов ОМТС (есть глобальное значение), то этот отбор нужно наложить и на сам 
список открываемого справочника.                                               
!!! Избежать интерактивного изменения формы справочника.                       

LordWizard

Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

BorisSPb

В принципе вопрос не по этой части задания. Вопрос, как проверить стоит ли на списке отбор или нет?

MuI_I_Ika

Вот код, который покажет как производить отбор в динамическом списке:

ЭлементДобавлен = Ложь; Для каждого ЭлементНастройки из ЭлектронныеПропуска.Отбор.Элементы Цикл Если ЭлементНастройки.ЛевоеЗначение = ДоступноеПоле.Поле Тогда ЭлементНастройки.ПравоеЗначение = Объект.Ссылка; ЭлементНастройки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементНастройки.Использование = Истина; ЭлементДобавлен = Истина; КонецЕсли; КонецЦикла; Если не ЭлементДобавлен Тогда НовыйЭлемент = ЭлектронныеПропуска.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлемент.ЛевоеЗначение = ДоступноеПоле.Поле; НовыйЭлемент.ПравоеЗначение = Объект.Ссылка; НовыйЭлемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлемент.Использование = Истина; КонецЕсли;

То есть как вы поняли искать элемент отбора нужно не в элементе формы, а реквизите.

Теги: Отбор 

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

Рейтинг@Mail.ru

Поиск