Найти в Дзене
1с разное

Интеграция весов CAS CL-3000 с УТ 10.3

Задача. В УТ 10.3 ведется учет штучных и весовых (кг) строительных материалов: саморезы, гвозди и т.д. Применен один хитрый способ продавать штучные товары через фасовку на весах как поштучно, так и в килограммах.

Всем привет!

Предыстория: 10 лет назад я поставил клиенту фасовочные весы Масса ВПМ-15.2-Ф (весы с печатью этикеток). Настроил разные префиксы на весах - для штучных товаров "2", для весовых товаров "1", настроил на весах определенный формат штрихкода, содержащий 6 символов кода товаров (по сути это ПЛУ) и количество товара. Сам штрихкод после фасовки товара в пакет наклеивается этикеткой на пакет.

Далее покупатель из отдела крепежа идет на кассу. Настроил в 1С расшифровку штрихкода на кассе - по штрихкоду этикетки с фасовочного пакета определяю номенклатуру и количество, подставляю в окно кассира, после чего кассир получает оплату и пробивает чек ККМ на кассе. Прошло много лет, клиент обновил весы - купил корейского производителя CAS.

Бизнес-процесс не изменился: все так же покупателям фасовались в пакетики гвозди и саморезы, поштучно и по килограммам. После установки и настройки весов CAS обнаружили, что число знаков (разрядов) для указания количества штучного товара ограничено двумя знаками (разрядами) - то есть максимально можно указать на весах 99 штук, а 1000 штук уже нельзя. Это проблема. Техподдержка CAS не смогла предложить решение.

Для штучных и весовых товаров в настройках весов CAS CL-3000 было задано два штрихкода (см. рис.1).

Пришлось хорошенько подумать, чтобы по результату предложить использовать следующий способ для продажи штучных товаров - в 1С УТ 10.3 для штучных товаров необходимо указывать вес 1 шт.

При этом пришлось расширить разрядность веса до 5 знаков после запятой - для примера 50 шт весят 72 грамма, а учет весовых товаров ведется в килограммах (см. рис.2).

-2

Далее для каждого штучного товара при выгрузке из 1С в весы создается две записи в базе весов: первая с ПЛУ, к примеру, как в 1С "84218", вторая искусственно созданная с ПЛУ "842180". К каждому штучному товару выгружается две записи, вторая с добавлением нуля на конце ПЛУ.

-3

Так как все товары имели пятизначный ПЛУ, а формат штрихкода позволял задавать шестизначный ПЛУ, то такой способ имел место быть и позволил для первых записей выгружать цену за 1 шт, для вторых записей - цену за 1 кг. Пересчет цены для "кг" происходит в обработке выгрузки из 1С в эксель. Скажу также наперед, что я реализовал выгрузку сведений сначала в эксель, далее этот файл-эксель импортируется через программу CL-Works в весы ("CL-Works Pro" - название на сайте производителя) - см. рис. 4.

-4

Почему выбран именно такой способ ? - Если кратко, то я захотел поделить процесс интеграции и обмена пошагово и прозрачно на каждом шаге с пошаговой отладкой. И начал с простой реализации - сначала выгружаем в эксель, затем эксель загружаем в весы.

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

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

Возвращаясь к процессу продажи саморезов и другого крепежа - теперь продавец-менеджер может саморезы продавать как поштучно, так и взвесив определенное кол-во грамм (например 300 грамм, 500 грамм, 1 кг).

По формату штрихкода (см. рис. выше) вес должен уложиться в 4 знака WWWW (при этом 3 знака предназначено после запятой), поэтому по инструкции решено взвешивать саморезы только до 9 кг, чтобы можно было распечатать например 9,200 кг - на штрихкоде будет "9200".

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

Далее на кассе штрихкод сканированием расшифровывается и попадает в окно кассира как и ранее - см. рис. 5. Ищем сначала по переданному коду, если не нашли - убираем ноль с конца - и снова ищем товар по коду (код уже без нуля).

-5

Собственно, это и есть тот самый хитрый способ интеграции весов CAS CL-3000 с УТ 10.3. Обработка для выгрузки сведений в весы применяется как внешняя - открывается через справочник Внешние обработки или через меню Файл-Открыть. Разработана на платформе 1С:Предприятие 8.3 (8.3.22.1923), для нетиповой (доработанной) программы "Управление торговлей", редакция 10.3 (10.3.47.2) - см. рис. 6.

-6

К слову сказать, база 1С расположена удаленно на сервере, весы изначально настраивались у меня на ноутбуке - для такого сценария я сначала выгрузил сведения в служебную таблицу mxl, далее из нее "собрал" файл эксель. Для этих отладочных целей настроил в обработке выгрузки отдельный флаг и сценарий. Оставлю для примера демонстрации.

Также к слову сказать, без ключа HASP для компоненты 1С (1С драйвер весов CAS с печатью (driver №4) - название на сайте производителя), представленной на сайте производителя https://cascis.ru/podderzhka/programmnoe-obespechenie , - можно использовать при выгрузке на весы до 10 товаров (до 10 ПЛУ) - можно тестировать любые функции согласно инструкции по компоненте. До 10 товаров с помощью этой компоненты я тестировал выгрузку напрямую в весы - имеется флаг и сценарий выгрузки (флаг "Прямое подключение к весам (имеется ключ HASP)").

Также скажу, что любой разработчик может написать свой загрузчик напрямую в весы, используя стандартный драйвер весов (CL Driver (driver №3) - это название на сайте производителя). После установки драйвера в папке "C:\Program Files (x86)\KST\Весы_с_печатью_этикеток" формируются папки с инструкциями и примерами - для разработчиков в том числе на 1С (см. рис. 7).

-7

На этом все. Всем добра!

С пользой для клиентов, Рустем