Несмотря на то что платформа 1С 7.7 официально считается устаревшей, многие предприятия продолжают использовать конфигурацию «Торговля и Склад» (ТиС) в силу её быстродействия и высокой степени кастомизации. С введением требований ФЗ-54 (онлайн-кассы) возникла техническая сложность: как подружить старую систему с новым оборудованием. В этой статье мы подробно разберем, как реализовать работу со «Штрих-М» в 1С 7.7, проанализируем возможные пути решения и технические нюансы.
Рассмотрим самый экономичный путь. Как показывает практика, архитектура драйверов «Штрих-М» сохранила преемственность. Это означает, что старые обработки обслуживания, предназначенные для обычных фискальных регистраторов, могут работать и с онлайн-кассами. Для этого проанализируем следующие шаги:
AddIn.DRVFR по-прежнему используется для связи. Убедимся, что библиотека DrvFR.dll корректно зарегистрирована в системе.fr_comm.ert (или аналогичную). В большинстве случаев достаточно обновить методы открытия чека и передачи позиций. Современные онлайн-кассы требуют передачи признака предмета расчета и признака способа расчета (например, «Товар» и «Полный расчет»).Важно помнить, что при использовании старой логики 1С 7.7 может возникнуть проблема с форматами фискальных данных (ФФД 1.05 или 1.2). Если ваша организация торгует маркированным товаром, этот вариант потребует серьезного вмешательства в код для передачи кода маркировки (Тег 1162).
Разберем ситуацию, когда стандартных возможностей недостаточно. В сообщениях форума часто упоминаются готовые платные решения (например, от автора Victuan). Это оправдано, когда бюджет позволяет сэкономить время программиста. Рассмотрим, какие преимущества дают такие решения:
Посмотрим, как выглядит пример кода для взаимодействия с драйвером «Штрих-М» напрямую. Выясним причину, почему иногда лучше использовать прямые методы драйвера вместо XML-прокладок. Рассмотрим фрагмент инициализации устройства:
// Создание объекта драйвера
Попытка
ККТ = СоздатьОбъект("AddIn.DRVFR");
Исключение
Сообщить("Драйвер Штрих-М не найден!");
Возврат;
КонецПопытки;
// Установка параметров связи
ККТ.Password = "30"; // Пароль системного администратора по умолчанию
ККТ.ComNumber = 1; // Номер COM-порта
ККТ.BaudRate = 6; // Скорость 115200
ККТ.Connect();
Если ККТ.ResultCode <> 0 Тогда
Сообщить("Ошибка связи: " + ККТ.ResultCodeDescription);
КонецЕсли;
Проанализируем процесс регистрации товара. Для онлайн-касс критически важно передавать ставку НДС и правильные теги. Если мы используем прямой метод Sale(), это может выглядеть так:
ККТ.Quantity = Позиция.Количество;
ККТ.Price = Позиция.Цена;
ККТ.Department = 1;
ККТ.Tax1 = Позиция.СтавкаНДС; // Индекс ставки НДС в таблицах ККТ
ККТ.StringForPrinting = Позиция.Наименование;
ККТ.Sale();
Выясним, как реализовать работу двух касс на одном рабочем месте, о чем шла речь в сообщении 20. В 1С 7.7 объекты типа AddIn.DRVFR являются глобальными в рамках сессии, если их не инициализировать правильно. Разберем алгоритм переключения:
Disconnect() для текущего соединения и заново устанавливает связь с нужным устройством через Connect().Важный нюанс: Постоянное переподключение может замедлять работу. Профессиональные обработки хранят соответствие Фирма -> ПараметрыККТ и переподключаются только в том случае, если текущая активная касса не совпадает с требуемой.
Рассмотрим ситуацию с расхождениями в расчетах. 1С 7.7 часто вычисляет НДС «от суммы», в то время как онлайн-касса делает это построчно. Если в документе много строк, итоговый НДС в базе 1С и в чеке ККТ может разойтись на несколько копеек. Чтобы избежать блокировки чека кассой, рекомендуется:
1. Использовать метод распределения скидок «построчно» еще до передачи данных в драйвер.
2. В случае минимальных расхождений (1-2 копейки) корректировать цену последней позиции в чеке, чтобы итоговая сумма совпала с данными 1С.
3. Проанализировать настройки самой кассы (таблицы налогов), чтобы индексы ставок НДС в 1С (0%, 10%, 20%, Без НДС) строго соответствовали индексам в ККТ.
Подводя итог, можно сказать: ТиС 7.7 успешно работает со «Штрих-М» в режиме онлайн. Если у вас простая розница без маркировки и сложных скидок, вы можете обойтись обновлением драйверов и небольшой правкой штатных скриптов. Однако для полноценной работы (маркировка, многофирменность, ФФД 1.2) наиболее стабильным и выгодным решением будет внедрение проверенной внешней компоненты. Это обеспечит юридическую чистоту чеков и избавит от постоянных ошибок округления.