Как добавить кнопку и изменить рабочее место кассира в «Штрих-М: Торговое предприятие 5.2»

Программист 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

При работе с отраслевыми решениями, такими как «Штрих-М: Торговое предприятие 5.2», специалисты часто сталкиваются с тем, что привычные методы разработки в среде 1С не срабатывают. Попытка найти форму рабочего места кассира (РМК) в Конфигураторе может закончиться неудачей, так как интерфейс в этой системе строится по иным принципам, отличным от типовых конфигураций «Розница» или «Управление торговлей». В этой статье мы подробно разберем, как устроено РМК в данной программе и каким образом можно добавить новую кнопку для реализации кастомного функционала, например, интеграции с сайтом.

Разбираемся в архитектуре: почему формы нет в Конфигураторе

Первое, что нам необходимо понять: в «Штрих-М: Торговое предприятие 5.2» визуальный интерфейс кассира не является статической формой внутри дерева метаданных. Давайте проанализируем ситуацию: программа использует так называемые Логические модули и внешние компоненты для отрисовки окон и обработки событий. Большая часть кода и описаний кнопок хранится непосредственно в базе данных (в справочниках), а не в конфигурации. Именно поэтому стандартный поиск в дереве объектов 1С не дает результатов.

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

Способ 1: Использование встроенного конструктора форм

Для добавления кнопки в интерфейс регистрации продаж чаще всего не требуется заходить в Конфигуратор. Разработчики предусмотрели механизм визуальной настройки прямо в режиме «1С:Предприятие». Пройдем по шагам:

  1. Запустим программу в режиме «Предприятие» под правами администратора.
  2. Перейдем в раздел «Настройки».
  3. Найдем пункт «Параметры формы регистрации» (или «Форма регистрации»).
  4. В открывшемся окне мы увидим визуальный редактор раскладки. Здесь можно выбрать свободную область в сетке кнопок.
  5. Нажмем правую кнопку мыши или воспользуемся кнопкой «Добавить» для создания нового элемента.
  6. В свойствах новой кнопки мы можем задать её текст, цвет, размер и, самое важное, Команду.

Если нам нужно просто вызвать стандартную функцию, мы выбираем её из списка. Однако, если задача стоит в запуске внешней формы или специфического кода (например, для связи с сайтом), нам потребуется назначить кнопке уникальное действие или код, который мы позже перехватим в обработчике.

Способ 2: Работа с логическими модулями

Если визуальный конструктор позволяет создать «внешнюю оболочку» кнопки, то Логические модули определяют её поведение. В системе «Штрих-М» логика работы РМК вынесена в специальный справочник.

Давайте выясним причину такого решения: это позволяет обновлять логику работы кассы без изменения самой конфигурации 1С. Чтобы найти нужный код, выполним следующие действия:

  1. Откроем меню «Настройки — Системные — Логические модули».
  2. Найдем модули, относящиеся к супервизору и регистрации продаж. Часто они называются Супервизор.РегистрацияПродаж или имеют префикс ПредОбработка.
  3. Проанализируем структуру кода. В этих модулях обычно содержится обработчик нажатия кнопок.

Пример обращения к такому модулю в коде системы выглядит следующим образом:


Обработчик = МенеджерОбъектов.ПолучитьОбщийОбъект("LogicalModules").ПолучитьОбработчик("Супервизор.РегистрацияПродаж.ПредОбработка", ЭтаФорма, Неопределено);

Чтобы добавить свое действие, нам нужно найти в тексте логического модуля условие, проверяющее код нажатой кнопки, и вставить туда вызов нашей функции или формы.

Способ 3: Поиск базы и запуск через Конфигуратор

Иногда возникают сложности даже с тем, чтобы просто открыть базу в Конфигураторе, так как она запускается через специальный ярлык «Штрих-М» и отсутствует в стандартном списке баз 1С. Разберем, как это исправить:

Посмотрим на свойства ярлыка на рабочем столе. В поле «Объект» будет прописан путь к информационной базе после ключа /F (для файловой версии) или /S (для серверной). Обычно база данных располагается по пути: C:\Program Files (x86)\Штрих-М\Торговое предприятие 5.2\DB.

Скопируем этот путь, добавим базу в обычный стартер 1С и зайдем в Конфигуратор. Это позволит нам создать новую Обработку, форму которой мы и будем вызывать при нажатии нашей новой кнопки на РМК.

Способ 4: Использование замера производительности для поиска кода

Если вы не можете определить, какой именно логический модуль или общая форма отвечает за работу РМК, воспользуемся проверенным инструментом отладки — Замером производительности.

  1. Откроем Конфигуратор нужной базы.
  2. Запустим режим «Предприятие».
  3. В Конфигураторе перейдем в меню «Отладка — Замер производительности» (включим его непосредственно перед нажатием какой-либо кнопки в РМК).
  4. Нажмем любую кнопку в интерфейсе кассира или выполним действие, которое хотим изменить.
  5. Вернемся в Конфигуратор и выключим замер.

В результате мы получим детальный список строк кода, которые выполнялись в этот момент. Проанализируем колонку «Объект». Если там указаны общие модули или справочник ЛогическиеМодули, мы быстро поймем, в каком именно месте программы зашита логика обработки нажатий.

Пример реализации вызова своей формы

Предположим, мы добавили кнопку с кодом 999 через визуальный конструктор. Теперь нам нужно, чтобы при её нажатии открывалась наша обработка ИнтеграцияССайтом. Для этого в соответствующем логическом модуле (например, в функции обработки команд) мы добавим следующий блок кода:


Если КодКоманды = 999 Тогда
    // Создаем объект обработки и открываем её форму
    ИмяОбработки = "Обработка.ИнтеграцияССайтом";
    ОткрытьФорму(ИмяОбработки + ".Форма");
    Возврат; // Прекращаем дальнейшую обработку стандартных команд
КонецЕсли;

Важный момент: при работе с РМК Штрих-М всегда учитывайте, что форма регистрации может работать в модальном режиме или иметь специфические настройки фокуса. Поэтому при открытии сторонних окон 1С может потребоваться передача владельца формы (ЭтаФорма), чтобы окно не «проваливалось» под интерфейс кассира.

Резюме

Подводя итог, можно сказать, что модификация РМК в «Штрих-М: Торговое предприятие 5.2» требует понимания её гибридной архитектуры. Вместо поиска форм в Конфигураторе, следует сосредоточиться на Параметрах формы регистрации для визуальных изменений и на Логических модулях для программной логики. Такой подход позволяет гибко настраивать рабочее место без риска нарушения целостности основной конфигурации при последующих обновлениях.

← На главную