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

Содержание:

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С:ERP Управление предприятием 2.0

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

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

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

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

ПЭК
ПЭК

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

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

- Создание прототипа SRM-системы на базе «1С: Управление торговлей»
- Автомат...

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

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

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

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

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

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

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

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

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

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

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

- Налоговый учет;...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

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

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

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

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

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

Производственные операции
Автоматизация бизнес-процессов...

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

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

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

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