Розширення RMKBarcodeCharacteristicFix для BAS Роздрібна торгівля — фільтр «Тільки наявні» у формі вибору ШК » IT-FORMAT
» » Розширення RMKBarcodeCharacteristicFix для BAS Роздрібна торгівля — фільтр «Тільки наявні» у формі вибору ШК
ВИП. №185· травень 2026· НІЖИН

Новий формат бізнесу — у цифрі, у вашій щоденній роботі.

Автоматизація обліку, власні розробки на BAS/1С, IP-телефонія та відеоспостереження. Пишемо про те, що робимо — і робимо те, про що пишемо.

Розширення RMKBarcodeCharacteristicFix для BAS Роздрібна торгівля — фільтр «Тільки наявні» у формі вибору ШК

BAS Роздрібна торгівля 2.2
Автоматизація та інтеграція 14 травня 2026 Переглядів: 11 Автор: Claudia
RMKBarcodeCharacteristicFix — фільтр «Тільки наявні» у формі вибору ШК
Editorial composition · ledger grid + barcode lines
Завантажити розширення

RMKBarcodeCharacteristicFix_1.1.0.cfe — пряме посилання, ~12 КБ. Установка: Конфігурація → Розширення конфігурації → Додати.

Що відбувається без розширення

У РМК (робоче місце касира) для одного товару з характеристиками часто використовується один загальний штрих-код без прив'язки до конкретної характеристики. Коли касир сканує такий код, BAS Retail штатно відкриває форму «Вибір даних пошуку по штрихкоду» і показує усі знайдені варіанти:

Давідоф Classik, ,         ← товар без характеристики
Давідоф Classik, 165,      ← характеристика 165
Давідоф Classik, 170,      ← характеристика 170

Касир бачить три позиції, але реально на залишку в його магазині може бути тільки одна. Без фільтра по залишку касир вгадує — і це призводить до:

  • продажу позиції, якої немає на залишку (мінусові залишки, порушення обліку);
  • помилок під час інвентаризації;
  • зайвих питань касира до старшого продавця.

Та сама форма відкривається не тільки в РМК. Її використовують документи надходження, переоцінки, переміщення тощо — там фільтр по залишку недоречний (товару фізично ще немає в магазині). Тому потрібен механізм, який вмикається за замовчуванням, але користувач може його вимкнути одним кліком.

Що робить розширення

Розширення позичає форму ОбщаяФорма.ВыборДанныхПоискаПоШК і додає до неї один елемент — чекбокс «Тільки наявні» над таблицею вибору.

При відкритті форми:

  • чекбокс за замовчуванням увімкнений;
  • одним запитом перевіряємо залишки на складі продажу поточного магазину сесії і ховаємо рядки без залишку.

У вікні касир бачить лише реальні варіанти:

[x] Тільки наявні
Давідоф Classik, 165,      ← тільки ця позиція є на залишку магазину

Якщо користувач знімає чекбокс — миттєво (без додаткових запитів до БД) повертається повний штатний перелік. У надходженнях, переоцінках і подібних документах це дозволяє побачити всі варіанти, коли товару ще немає на залишку.

Поведінка у різних сценаріях

СценарійЩо буде
Штрих-код має один варіант (нема двозначності)Форма вибору не відкривається — розширення не задіюється
Декілька варіантів, всі мають залишокВидно всі (як штатно), чекбокс увімкнено
Декілька варіантів, залишок лише в одногоВидно одну позицію; зняти чекбокс → видно всі
Декілька варіантів, жоден не має залишкуСписок порожній; зняти чекбокс → видно всі
Дисконтна картка / серійний номерРядки без номенклатури фільтром не зачіпаються — видно завжди
Виклик з документа «Завантаження ШК» (двохрівневе дерево)Чекбокс ховається, поведінка повністю штатна
Поточний магазин не визначеноФільтр по всіх складах (краще показати щось, ніж нічого)
У магазину не заповнено «Склад продажу»Те саме — фільтр по всіх складах

Технічна реалізація

  • Тип розширення: Patch, режим сумісності Version8_3_10.
  • Точка втручання: позичена (Adopted) форма CommonForm.ВыборДанныхПоискаПоШК + власний CommonModule.RMKBCF_ОтборПоОстаткуСервер.
  • Префікс власних об'єктів: RMKBCF_.
  • Обробник &После("ПриСозданииНаСервере") збирає унікальні пари (Номенклатура, Характеристика) з дерева вибору, робить один запит до РегистрНакопления.ТоварыНаСкладах.Остатки, зберігає повний список у тимчасовому сховищі сесії і перебудовує дерево.
  • Перемикач чекбокса не звертається до БД повторно — читає кешований повний список з тимчасового сховища, тому перемикання миттєве.
  • Запит виконується у привілейованому режимі — фільтр не залежить від прав касира на читання регістру залишків.

Визначення магазину і складу

Магазин береться з параметра сесії ПараметрыСеанса.ТекущийМагазин. Це стандартний механізм BAS Retail (ОбщегоНазначенияРТ.ОпределитьТекущийМагазин), який ставить магазин з робочого місця користувача / каси за пріоритетом підрозділу. Касиру не треба нічого підставляти руками — магазин зʼявляється сам, з його сесії.

Склад продажу беремо з реквізиту магазину:

Склад = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Магазин, "СкладПродажи");

Якщо магазин не визначено або СкладПродажи не заповнено — фільтр відкочується до перевірки залишків на всіх складах.

Сумісність

  • Конфігурація: BAS Роздрібна торгівля 2.2 (BASРозничнаяТорговля), версія 2.2.14.2 і сумісні.
  • Режим сумісності: 8.3.10.
  • Мінімальна версія платформи 1С: 8.3.10 і вище (тестовано на 8.3.17, 8.3.24).
  • Основна конфігурація не модифікується — стандартний механізм розширень з можливістю відкату.
Обмеження і нюанси

Тип складу. Використовується тільки СкладПродажи магазину. Якщо торгова мережа продає з іншого складу (наприклад, окремий резервний під роздріб) — у поточній реалізації знадобиться доробка.

Резерви не враховуються. Фільтр базується на КоличествоОстаток > 0, без віднімання резервів. Якщо весь залишок зарезервований під чужі замовлення — позиція все одно показується як «наявна».

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

Встановлення

  1. У Конфигуратор відкрити базу даних.
  2. Конфигурация → Расширения — натиснути Добавить і обрати RMKBarcodeCharacteristicFix_1.1.0.cfe.
  3. У відкритій формі залишити налаштування за замовчуванням: Защита от опасных действий увімкнено, Активно увімкнено.
  4. Зберегти і Оновити конфігурацію бази даних (F7).
  5. Завершити сеанси користувачів (або перезапустити rphost на клієнт-серверному варіанті).

Розширення підключається без зупинки бази-в-цілому і не потребує реструктуризації даних. Налаштування для користувача не передбачені — працює одразу після встановлення.

Як тимчасово вимкнути

  • Разово на одну форму — зняти чекбокс «Тільки наявні» у вікні вибору.
  • Глобально — у списку розширень зняти прапор «Активно» і оновити конфігурацію БД. Форма повернеться до штатної поведінки (всі варіанти, без чекбокса).
Завантажити

RMKBarcodeCharacteristicFix_1.1.0.cfe · ~12 КБ · вільне завантаження. Версія 1.1.0.

Опубліковано: Вчора, 18:18 · Автор: Claudia
Теги
Вхід
Опитування

Якою програмою обліку ви користуєтесь?