28.02.2025 Степан Радченко 12506
Как открыть форму выбора с отбором в учетной ...

Содержание:

1.     Открытие формы выбора с отбором

2.     Динамический отбор в системе компоновки данных 1С

3.     Открытие формы выбора в модальном режиме

4.     Настройка отбора на серверной стороне

 

Форма выбора в 1С — это инструмент, позволяющий пользователю выбрать данные из справочников, документов, регистров или других объектов системы. Иногда требуется открывать форму выбора с заранее установленным отбором, чтобы пользователю отображались только определенные данные. Рассмотрим, как это реализовать программно.


Основные принципы работы с формами выбора:

Форма выбора в 1С открывается с использованием метода ОткрытьФорму(), который позволяет:

  1. Указать объект, для которого нужно открыть форму выбора.
  2. Передать параметры отбора для фильтрации данных.
  3. Получить результат выбора через подписку на событие или с помощью возврата значения.

Синтаксис метода ОткрытьФорму():  

ОткрытьФорму(ИмяФормы, Параметры = Неопределено, Окно = Неопределено, РежимОткрытия = Неопределено, ПроцедураОбработки = Неопределено)

 

1.     Открытие формы выбора с отбором


Чтобы задать отбор 1С, используется объект Структура, который передается в параметрах метода ОткрытьФорму().


Пример: выбор справочника с отбором

Допустим, нужно открыть форму выбора справочника "Номенклатура", отфильтровав только товары, у которых есть признак "ЭтоУслуга = Ложь".

Процедура ОткрытьФормуВыбораНоменклатуры()

    // Создаем параметры отбора

    Параметры = Новый Структура;

    Параметры.Вставить("ЭтоУслуга", Ложь); // Указываем, что выбираем только товары

   

    // Открываем форму выбора справочника "Номенклатура"

    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", Параметры, , , "ОбработкаВыбора");

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

 

Процедура ОбработкаВыбора(ВыбранныйЭлемент)

    Если ВыбранныйЭлемент <> Неопределено Тогда

        Сообщить("Выбранный элемент: " + ВыбранныйЭлемент);

    Иначе

        Сообщить("Выбор отменен");

    КонецЕсли;

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

В этом примере:

  • Параметр ЭтоУслуга передается в форму выбора как отбор.
  • Результат выбора обрабатывается в процедуре ОбработкаВыбора.

2.     Динамический отбор в системе компоновки данных 1С


Иногда нужно передавать отбор, сформированный на основании переменных или пользовательского ввода. Для этого можно использовать программное добавление параметров в структуру отбора.


Пример: выбор документов по периоду

Процедура ОткрытьФормуВыбораДокументов()

    НачалоПериода = '2024-01-01';

    КонецПериода = '2024-12-31';

   

    // Формируем отбор

    Параметры = Новый Структура;

    Параметры.Вставить("Дата", Новый Структура("Значение1,Значение2", НачалоПериода, КонецПериода));

   

    // Открываем форму выбора документов "ПоступлениеТоваров"  

    ОткрытьФорму("Документ.ПоступлениеТоваров.ФормаВыбора", Параметры, , , "ОбработкаВыбора");

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

В данном примере:

  • Отбор по полю Дата задается для диапазона значений (с использованием структуры).
  • Форма выбора отображает только документы в заданном периоде.

3.     Открытие формы выбора в модальном режиме


В модальном режиме результат выбора возвращается непосредственно через вызов функции ОткрытьФорму(), что упрощает обработку.


Пример: модальный выбор справочника

Функция ВыбратьНоменклатуру()

    // Формируем параметры отбора

    Параметры = Новый Структура;

    Параметры.Вставить("ЭтоУслуга", Ложь);

   

    // Открываем форму выбора в модальном режиме

    Результат = ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", Параметры, , РежимОткрытияОкна.Модальное);

    Возврат Результат;

КонецФункции

 

Процедура ПримерИспользования()

    ВыбранныйЭлемент = ВыбратьНоменклатуру();

    Если ВыбранныйЭлемент <> Неопределено Тогда

        Сообщить("Выбрана номенклатура: " + ВыбранныйЭлемент.Наименование);

    Иначе

        Сообщить("Пользователь отменил выбор");

    КонецЕсли;

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


4.     Настройка отбора на серверной стороне


Отбор можно установить не только при открытии формы, но и в самом коде формы на серверной стороне. Это полезно, если нужно сложное вычисление перед применением фильтра.


Пример: отбор в обработчике формы

Процедура ПередОткрытиемНаСервере(Отказ, СтандартнаяОбработка)

    Если Параметры.Свойство("ЭтоУслуга") Тогда

        ЭлементыФормы.Список.НастроитьОтбор("ЭтоУслуга", Параметры.ЭтоУслуга);

    КонецЕсли;

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


Форма выбора в 1С — это мощный инструмент для интерактивной работы с пользователем. Задание отбора при открытии формы позволяет существенно упростить поиск нужных данных и улучшить пользовательский опыт. Вы можете задавать фильтры как при открытии формы, так и в коде самой формы, комбинируя различные подходы для достижения нужной функциональности.

 

Специалист компании ООО "Кодерлайн"

Степан Радченко

Наши проекты

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Упр...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

ОАО «Фаберлик»
ОАО «Фаберлик»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление производственным предприятием 2

- Регламентированный учет;
- Кадровый учет;...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетнос...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

Отрасль:
Торговля

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедр...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Управление нашей фирмой 8 ПРОФ

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение