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

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

Іноді, при виборі реквізиту типу посилання у формах документів, виникає потреба сформувати власний список вибору. Алгоритм його отримання може бути достатньо складним, щоб реалізувати це через властивості реквізиту документа чи елемента форми. У такому випадку задачу можна реалізувати програмно. Досить часто це виконується  через відмову від стандартної обробки вибору, та створення власної форми вибору для елементів довідників і документів. Цей варіант особливо добре підходить для створення динамічних списків вибору і складних алгоритмів відбору.

Проте також є можливість встановити список вибору, для стандартної обробки вибору через властивість елементу форми «ПараметрыВыбора». У такому випадку буде використовуватись стандартна обробка вибору, але з програмно сформованим  списком доступних значень.

Приклад реалізації: Розглянемо цей варіант на прикладі документу «Замовлення  клієнта». Припустимо, що при виборі номенклатури в табличній частині документа, нам необхідно формувати список вибору лише з тих позицій, по яким є залишки на складі.

Для цього переходимо в форму документу, та створюємо  процедуру події «НачалоВыбора» для елемента форми «Номенклатура»:

творюємо  процедуру події «НачалоВыбора»

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

Створюємо процедури на клієнті

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

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

створюємо  масив об’єктів «ПараметрВыбора»

За потреби, таких відборів можна додати декілька. Останнім кроком встановлюємо для властивості елемента форми «ПараметрыВыбора» новий фіксований масив наших параметрів вибору:

встановлюємо для властивості елемента форми «ПараметрыВыбора» новий фіксований масив

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

список лише тих позицій, по яким є залишки на складі

Рекомендовані статті

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 детально розуміти штатний функціонал типових конфігурацій, тобто розбиратись в програмі як просунутий користувач? Ми звернули увагу […]