Программное формирование списка выбора для реквизитов типа ссылки в формах документов системы BAS

  • ПрограммистBAS

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

Однако также есть возможность установить список выбора, для стандартной обработки выбора из-за свойства элемента формы «<ПараметрыВыбора». В таком случае будет использоваться стандартная обработка выбора, но с программно сформированным списком доступных значений.

Пример реализации: Рассмотрим этот вариант на примере документа «Заказ клиента». Предположим, что при выборе номенклатуры в табличной части документа нам необходимо формировать список выбора только с тех позиций, по которым есть остатки на складе.

Для этого переходим в форму документа и создаем процедуру события «НачалоВыбора» для элемента формы «Номенклатура»:

"создаем>

Создаем процедуры на клиенте и функцию без контекста на сервере, в которых прописываем следующий код:

Создаем процедуры на клиенте

В коде серверной функции, с помощью запроса в регистр «Остатки номенклатуры», получаем список номенклатур, по которым есть остатки на складе. Записываем полученные значения в массив и возвращаем его в клиентскую процедуру.

Далее в клиентской процедуре создаем массив объектов «ПараметрВыбора» и добавляем к нему новый объект с указанием отбора по ссылке и массиву необходимых значений:

"создаем

При необходимости таких отборов можно добавить несколько. Последним шагом устанавливаем для свойства элемента формы «ПараметрыВыбора» новый фиксированный массив наших параметров выбора:

устанавливаем для свойства элемента формы «ПараметрыВыбора» новый height=

После проверки работы доработки в режиме использования мы видим, что при выборе номенклатуры открывается список только тех позиций, по которым есть остатки на складе:

список только тех позиций, по которым есть остатки на складе

Рекомендуемые статьи

Procom default image
30.09.2022

7 причин: чому користувачу варто пройти курси з програмування в системі BAS

7 причин: чому користувачу варто пройти курси з програмування в системі BAS  (Business Automation Software)   Досить часто користувачі програмних продуктів лінійки BAS (BAS ERP, BAS КУП, BAS УТ тощо) задають питання стосовно доцільності проходження курсів для програмістів в цій системі. Як правило, це пов’язано з необхідністю швидко та недорого зробити невеличкі поточні доробки, налаштувати […]

Детально про СКД: настройки варіанту VS настройки користувача. Особливості роботи зі звітами системи BAS храниліще
13.02.2023

Детально про СКД: настройки варіанту VS настройки користувача. Особливості роботи зі звітами системи BAS

Детально про СКД: настройки варіанту VS настройки користувача. Особливості роботи зі звітами системи BAS   Для звітів, що побудовані за допомогою системи компонування даних (СКД), є декілька можливостей працювати з їх настройками. Якщо виключити з розгляду настройки, що прописані в коді, то залишаються настройки варіанту та настройки користувача. Що таке варіант звіту та стандартні варіанти? […]

Робота зі сховищем конфігурації в системі BAS налаштування
23.02.2023

Робота зі сховищем конфігурації в системі BAS

Робота зі сховищем конфігурації в системі BAS   Сховище конфігурації в BAS ¬– це інструмент для групової розробки прикладного рішення, який вбудовано у платформу BAF. Сховище дозволяє вести розробку рішень необмеженою кількістю користувачів. За допомогою цього інструменту можна побачити повну історію розробки конфігурації і детально проаналізувати кожен крок розробників. 1. Створення сховища Доступ: Конфігурація → […]

Procom default image
17.09.2025

Чи має сенс Програмісту системи BAS проходити курси для користувачів?

Чи має сенс Програмісту системи BAS проходити курси для користувачів?В минулій статті ми спробували розібрати «Чи варто користувачу системи BAS проходити курси для програмістів?». Якщо пропустили дану статтю, можете ознайомитись за посиланням https://csoprocom.com.ua/info/articles/chi-ma-sens-koristuvachu-sistemi-bas-prokhoditi-kursi-dlya-programistiv/. Та чи варто програмісту BAS детально розуміти штатний функціонал типових конфігурацій, тобто розбиратись в програмі як просунутий користувач? Ми звернули увагу на […]