← На главную
Мы столкнулись с частой и крайне неприятной ситуацией: программа «1С:Предприятие», в частности «1С:Управление торговлей», внезапно завершает работу в аварийном режиме при попытке пробить чек по безналичному расчету (решается через прием оплаты по QR-коду через СБП в 1С) через эквайринговый терминал. Эта проблема усугубляется отсутствием каких-либо сообщений об ошибках в логах 1С, ККТ или системном журнале. При этом деньги с клиента списываются, но чек не печатается и не уходит в ОФД, хотя в банк деньги поступают. В данной статье мы подробно разберем, как диагностировать и устранить эту проблему, основываясь на практическом опыте и рекомендациях специалистов.
Основная причина и решение – Обновление драйвера эквайрингового терминала
Часто главной причиной аварийного завершения работы программы 1С при взаимодействии с эквайринговым терминалом является несовместимость или устаревшая версия драйвера оборудования. В нашем случае речь идет об эквайринговом терминале Aisino V37, подключаемом через драйвер [url:202401-15:«ПБФ:Эквайринговые терминалы»] от ООО «ПБФ Дистрибуция», который имеет сертификат «Совместимо! Система программ 1С:Предприятие».
Изначально использовалась версия драйвера 0.2.3, которая, как выяснилось, имеет проблемы совместимости с текущей конфигурацией и платформой 1С. Важно отметить, что этот драйвер разработан с использованием устаревших требований к разработке драйверов подключаемого оборудования 1С:Предприятие 8 версии 3.4 и поддерживался конфигурациями на платформе 1С:Предприятие 8.3 (32 бит), использующими подсистему «Библиотека подключаемого оборудования» (БПО) версии 3.1.2.14 и выше, в режиме толстого и тонкого клиента.
Мы настоятельно рекомендуем обновить драйвер до версии 0.6.1. Эта версия разработана в соответствии с более актуальными требованиями к разработке драйверов подключаемого оборудования версии 4.6 и включается в состав обновлений конфигураций, таких как «1С:Розница» 3.0.12.170 и «1С:Управление нашей фирмой» 3.0.12.170. Обновление драйвера до версии 0.6.1 является ключевым шагом для решения проблемы аварийного завершения работы.
Порядок действий для обновления драйвера:
- Загрузите актуальную версию драйвера: Найдите и скачайте последнюю версию драйвера «ПБФ:Эквайринговые терминалы» (версии 0.6.1 или выше) с официального сайта разработчика или портала 1С:ИТС. Обработка обслуживания «ПБФ:Эквайринговые терминалы» для УТ 10.х предназначена для взаимодействия с терминалами (удобно через обработка обслуживания ПБФ:Эквайринговые терминалы для УТ 10.3) «Unitodi P8Bio», «Aisino V37» и поддерживает архитектуру x86/x64 платформ 1С:Предприятие, что говорит о широкой применимости.
- Установите драйвер: Следуйте инструкциям по установке. Обратите особое внимание на [url:202309-21:битность драйвера]. Программы 1С часто работают с 32-битным (x86) клиентом, даже на 64-битных операционных системах. Использование 64-битного (x64) драйвера в такой ситуации может привести к неработоспособности оборудования. Например, при подключении терминала Aisino к «1С:Розница» может возникнуть ошибка, указывающая на несоответствие драйвера «тонкому клиенту Windows x86», что однозначно указывает на необходимость использования именно 32-битного драйвера. Убедитесь, что устанавливаете соответствующий драйвер для вашей версии клиента 1С.
- Настройте подключение в 1С: После установки драйвера перейдите в раздел «НСИ и администрирование» -> «Подключаемое оборудование» в вашей конфигурации 1С. Убедитесь, что эквайринговый терминал Aisino V37 корректно определился с новой версией драйвера.
- Проверьте работу: Попытайтесь снова пробить чек по безналичному расчету.
В случае, описанном в исходной теме, именно обновление драйвера до версии 0.6.1 полностью устранило проблему. Мы рекомендуем регулярно обновлять драйверы касс и эквайринговых терминалов (есть автоматизация обновления драйверов и мониторинга ККТ), так как «1С» прекращает поддержку устаревших драйверов торгового оборудования, и после обновления программ на новые релизы терминалы могут перестать работать.
Влияние версии платформы 1С:Предприятие
Версия платформы 1С:Предприятие также играет значительную роль в стабильности работы системы, особенно при взаимодействии с подключаемым оборудованием. В исходном сообщении была упомянута платформа 8.3.27.1606. Хотя эта версия была выпущена как рекомендуемая для обновления тонкого клиента, ветка 8.3.27 в целом имела ряд проблем, которые могли вызывать нестабильную работу.
Например, мы знаем, что [url:202311-08:некоторые версии платформы 8.3.27], такие как 8.3.27.1644, содержали критические недостатки: медленное сохранение и обновление, проблемы с установкой патчей, конфликты с внешними компонентами и трудности с динамическим обновлением. Фирма «1С» даже отзывала тестовые сборки после 8.3.27.1644.
Рекомендации по выбору платформы:
- Не используйте проблемные версии: Избегайте заведомо нестабильных сборок платформы 8.3.27, которые были отозваны или имели известные критические ошибки.
- Перейдите на исправленные версии: Если вы уже используете ветку 8.3.27, рассмотрите возможность установки платформы 8.3.27.1688, которая была выпущена для исправления ряда критических ошибок. Пользователи отмечают стабильную работу на клиент-серверном варианте с таким же оборудованием.
- Выбирайте стабильные релизы для перехода: Для перехода на ветку 8.3.27 в целом, рекомендованным стабильным релизом является 8.3.27.1936 и выше. В этих версиях исправлены ошибки, связанные с разрастанием таблицы
BinaryData и проблемы с отображением реквизитов в Конфигураторе, что также влияет на общую стабильность системы.
- Учитывайте требования конфигурации: Конфигурация 1С:Управление торговлей версии 11.5.24.68 (которая является актуальным релизом с исправленными ошибками) требует определенной минимальной версии платформы. Всегда устанавливайте либо эту минимальную версию, либо одну из рекомендованных стабильных версий, но не ниже требуемой. Уточнить минимальные требования можно в описании релиза вашей конфигурации на портале 1С:ИТС.
Мы выяснили, что на клиент-серверном варианте с аналогичным оборудованием установка платформы 8.3.27.1688 показала стабильную работу. В файловых базах также стоит уделять внимание стабильности платформы.
Диагностика и устранение проблем с оборудованием и COM-портами
Иногда проблема может заключаться не только в программном обеспечении, но и в самом эквайринговом терминале или его подключении. В нашем случае, после переустановки софта терминала и попытки пробить чек, терминал перестал коннектиться с банком, а затем и вовсе терял COM-порт. Это является критическим сигналом, указывающим на аппаратные или системные проблемы.
Мы проанализируем возможные [url:202210-04:аппаратные причины и методы их устранения]:
- Проблема с эквайринговым терминалом:
- Если терминал «отваливается» (теряет связь) и теряет COM-порт даже без запуска 1С или при подключении к другому ПК, это может указывать на неисправность самого терминала или его прошивки. В таких случаях мы настоятельно рекомендуем обратиться к специалистам банка-эквайера, которые обслуживают терминал. Возможно, потребуется замена терминала или его перепрошивка. Упомянутые терминалы Aisino V37 оснащены ридерами для всех видов банковских карт и подключаются к кассе через USB. Их функциональность крайне важна для торговой точки.
- Неделю до основной проблемы, касса перестала определяться, что решилось заменой USB-кабеля. Мы всегда должны помнить, что даже такие простые элементы, как кабели, могут быть источником проблем. Всегда проверяем USB-кабели на целостность, а также работоспособность USB-портов на ПК, к которым подключено торговое оборудование.
- Проблемы с COM-портом:
- Блокировка COM-порта: Ошибки типа «COM порт занят другим приложением» могут возникать из-за конфликтов с другими программами (например, с экранной клавиатурой, старыми драйверами другого оборудования или торговыми утилитами, работающими в фоновом режиме). Мы проверяем запущенные процессы и службы, которые могут использовать COM-порты.
- Сбитая нумерация COM-портов: При использовании USB-COM портов (что часто бывает с современным торговым оборудованием) после перезагрузки ОС Windows может сбиваться нумерация портов. Мы должны проверить в «Диспетчере устройств» текущий номер порта, который присвоен терминалу, и сверяем его с настройками в 1С. При необходимости корректируем номер порта в настройках «Подключаемого оборудования» в 1С.
- Настройки операционной системы и безопасности:
- Электропитание USB-портов: В настройках электропитания Windows проверьте, отключена ли опция временного отключения USB-портов для экономии энергии. Это может приводить к периодическим разрывам связи с оборудованием, особенно под нагрузкой.
- Антивирус и брандмауэр: Добавляем каталоги 1С (особенно исполняемые файлы
1cv8.exe) и локального кэша в исключения антивирусной программы. В файловых базах 1С могут возникать ошибки открытия файла блокировок (1Cv8.1CD), что часто связано с недостаточными правами доступа к папкам AppData и Temp, или блокировкой удаленного доступа брандмауэром Windows или антивирусом (например, Kaspersky). Временно отключаем брандмауэр или добавляем файл базы данных 1Cv8.1CD в исключения.
- Права доступа: Убедитесь, что у пользователя, под которым запускается 1С, есть полные права доступа к каталогам
AppData и Temp, а также к папке с базой данных 1С, если она файловая. Недостаточные права могут вызывать проблемы с записью временных файлов и файлов блокировок.
В случае, если терминал отваливается без 1С и теряет COM-порт, и даже другой терминал на другом ПК ведет себя так же, это указывает на серьезные проблемы с настройкой или неисправностью на стороне банка-эквайера или прошивкой терминалов. Мы должны настаивать на полноценной диагностике и возможном обновлении прошивки специалистами банка.
Общие рекомендации по устранению аварийных завершений 1С
Если после выполнения вышеуказанных шагов проблема аварийного завершения сохраняется, мы рассмотрим [url:202305-12:общие методы диагностики и устранения], применимые, когда нет явных ошибок в логах или проблема носит комплексный характер.
- Очистка кэша 1С: Начнем с простого, но часто эффективного метода. Очищаем временные файлы (кэш) 1С. Это можно сделать, удалив базу из списка запуска 1С и добавив ее заново, или вручную удалив содержимое папок кэша (обычно расположены в
%LOCALAPPDATA%\1C\1Cv8 и %APPDATA%\1C\1Cv8). Накопленный или поврежденный кэш может приводить к непредсказуемым сбоям.
- Тестирование и исправление базы данных (ТиИ): Для файловых баз крайне рекомендуется регулярно выполнять тестирование и исправление базы данных. Это поможет выявить и устранить логические ошибки структуры данных, которые могут приводить к непредсказуемому поведению программы, включая аварийные завершения. Мы запускаем 1С в режиме Конфигуратора, выбираем «Администрирование» -> «Тестирование и исправление...». Устанавливаем все флажки, кроме «Сжать базу данных», и запускаем проверку. Если база большая, этот процесс может занять значительное время.
- Проверка проблем с ОФД: Если чеки не уходят в ОФД, это может быть связано с проблемами интернет-соединения, самой ККТ или сервером ОФД. В отчете о закрытии смены на ККТ всегда можно посмотреть количество непереданных фискальных документов. Мы проверяем стабильность интернет-соединения, наличие прокси-серверов или фаерволов, блокирующих передачу данных, а также обращаемся к ОФД для проверки статуса их сервисов.
- История проблем с платформами 1С: Мы знаем, что некоторые релизы платформы 1С имели известные проблемы с аварийным завершением работы. Например, массовые сбои при старте конфигураций, особенно при наличии доступа к интернету, наблюдались в релизах, начиная с 8.3.16.1791, 8.3.17.1823, 8.3.18.1201. Эти проблемы были исправлены в версиях платформы 8.3.17.2231 и 8.3.18.1483 и выше. Убеждаемся, что наша платформа не относится к числу заведомо проблемных.
- Запуск на старой платформе: Как временное или диагностическое решение, попробуйте запустить базу на более старой, но стабильной версии платформы, если это позволяет конфигурация и не нарушает ее минимальные требования.
Помним, что последовательный и методичный подход к диагностике позволяет эффективно выявлять и устранять даже самые неочевидные проблемы. Если 1С зависает при пробитии чека, а процесс переходит в состояние «Не отвечает», при этом ошибок в логах нет, это может быть связано как с операционной системой, так и с ККТ или самой 1С. Мы должны поэтапно исключать возможные причины, начиная с наиболее вероятных и простых.