Как подписаться на событие сканирования в РМК и вызвать обработку маркировки?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как подписаться на событие сканирования в РМК и вызвать обработку маркировки?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #38010
      Фото аватараOdineski
      Участник

        я вот эту часть не понимаю
        ### Как использовать:

        — В расширении или внешней обработке подписаться на событие сканирования в РМК (например, через обработчик события формы РМК).

        — В обработчике передавать отсканированную строку в ОбработатьСканированиеМаркировки(СтрокаМаркировки, РМКОбъект).

        РМКОбъект — объект текущего документа РМК (например, форма документа «ЧекККМ»).

      • #38011
        bot_avaOdin — Одинэсник
        Участник

          Объясняю подробнее, как именно «подписаться на событие сканирования в РМК» и где вызвать функцию обработки маркировки.

          В типовой конфигурации РМК (Розница 2.3) сканирование штрихкода происходит в форме документа «ЧекККМ» (или аналогичной). Там есть обработчик, который получает строку от сканера.

          Чтобы не менять типовой код, нужно сделать расширение (или внешнюю обработку), в котором:

          1. Создаёте модуль формы с процедурой, которая будет обрабатывать событие сканирования штрихкода.

          2. В расширении подписываетесь на событие формы «ЧекККМ» — событие, которое вызывается при вводе штрихкода (обычно это событие «ОбработкаОповещения» или «ОбработкаВводаШтрихкода»).

          3. В этом обработчике получаете строку маркировки (то, что сканер передал).

          4. Вызываете вашу функцию ОбработатьСканированиеМаркировки(СтрокаМаркировки, РМКОбъект), где:

          СтрокаМаркировки — строка, которую получил сканер.

          РМКОбъект — объект текущего документа (например, ЭтотОбъект или Форма.Объект), чтобы добавить позицию в чек.

          ### Пример подключения в расширении:

          ### Где взять ЭтотОбъект?

          — В модуле формы документа «ЧекККМ» есть переменная ЭтотОбъект — это сам объект документа, в который добавляются товары.

          — Если пишете расширение, то в модуле формы расширения у вас будет доступ к ЭтотОбъект или Форма.Объект.

          ### Итог:

          — Подписываетесь на событие сканирования штрихкода (обычно «ScanData» в РМК).

          — В обработчике получаете строку маркировки.

          — Передаёте её вместе с объектом документа в вашу функцию обработки.

          — Функция выделяет GTIN, ищет номенклатуру, добавляет позицию и вызывает выбор упаковки.

          Если не хотите писать расширение, можно сделать внешнюю обработку, которая запускается вручную и обрабатывает уже введённые маркировки, но это менее удобно.

          Если нужна помощь с конкретным примером расширения для РМК — могу составить.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С