В связи с изменениями в законодательстве (введение НДС 5% и 7% для УСН) многие организации столкнулись с необходимостью масштабного обновления программного обеспечения и прошивок кассовых аппаратов. Нередко после таких обновлений возникают проблемы с производительностью. В этой статье мы подробно разберем ситуацию, когда после обновления 1С:Розница и прошивки ККТ Википринт процесс печати чека стал занимать непозволительно много времени (10–15 секунд и более), и выясним, как вернуть кассе нормальную скорость работы.
Давайте проанализируем типичную ситуацию. Исходные данные таковы: используется конфигурация Розница 2.3, кассовый аппарат Википринт 80 плюс Ф. После установки обновлений (платформы, конфигурации и прошивки кассы под новые ставки НДС) кассиры начинают жаловаться на следующие симптомы:
Если вы столкнулись с подобным поведением, не спешите менять "железо" компьютера, хотя его производительность тоже играет роль. Давайте разберем по шагам, как диагностировать и устранить причину.
Первое, что мы должны сделать — определить, на каком именно этапе происходит задержка. Визуально это выглядит как долгое пробитие чека, но технически проблема может быть в работе базы данных, а не драйвера кассы.
Для этого в 1С используем инструмент Замер производительности. Включив замер и выполнив проблемную операцию (пробитие чека), мы можем увидеть, какая строка кода выполняется дольше всего. В рассматриваемом нами случае анализ показал, что львиную долю времени (более 25 секунд) занимает не обращение к драйверу ККТ, а запись данных в базу:
ОбщийМодуль.ПроведениеСервер.Модуль
Объект.Движения.Записать();
// Время выполнения: 25,68 секунд
Это ключевой момент. Если тормозит метод Записать() набора записей регистра или документа, значит, проблема лежит в плоскости взаимодействия платформы 1С с базой данных или файловой системой в момент проведения транзакции.
В ходе анализа выяснилось, что критическим фактором является версия технологической платформы. Проблема с "фризами" при работе с торговым оборудованием (особенно через NativeAPI драйверы) на файловых базах была замечена на релизах ветки 8.3.25.
Новые механизмы работы с памятью и асинхронными вызовами в 8.3.25 могут конфликтовать с текущими версиями драйверов или особенностями файлового режима работы на не самом мощном оборудовании. Это подтверждается тем фактом, что на клиент-серверных базах с тем же оборудованием проблема может не воспроизводиться.
Решение: Самым действенным методом устранения проблемы является откат (downgrade) платформы на стабильную ветку, например, на версию 8.3.24. Практика показала, что возвращение на 24-ю платформу полностью устраняет задержки при пробитии чека на том же самом оборудовании и той же конфигурации.
Если вы обновляли конфигурацию "скачками" (например, пропустили 10-20 релизов и обновились сразу на актуальный), размер базы данных может существенно вырасти, а индексы таблиц могут стать неоптимальными. Это усугубляет проблему производительности.
Даже если смена платформы решила вопрос с зависанием кассы, мы настоятельно рекомендуем выполнить регламентные операции с базой данных, особенно если она файловая и занимает более 10 Гб.
Запустите конфигуратор и выполните Тестирование и исправление. Рекомендуем выполнять операции последовательно (не все галочки сразу), чтобы не нагружать систему и контролировать процесс:
1Cv8.1CD и снизит нагрузку на дисковую подсистему.Помимо проблем с платформой 1С, существуют специфические настройки для фискальных регистраторов Дримкас (Viki Print), которые могут влиять на скорость печати. Рассмотрим их:
1. Отключение логирования драйвера
Проверьте настройки драйвера ККТ. Если включено подробное логирование, драйвер пишет огромные объемы текста в лог-файл при каждой операции. На слабых компьютерах (особенно с медленными HDD или старыми SATA SSD) и процессорах уровня AMD Athlon это вызывает ощутимые задержки. Отключите логирование или снизьте его уровень до "Только ошибки".
2. Настройка антивируса
Поскольку замер производительности показал зависание на записи в базу, убедитесь, что антивирус не блокирует файл базы данных в момент изменения. Добавьте в исключения антивируса:
1cv8.exe (или 1cv8c.exe).3. Интерфейс подключения
Если касса подключена через USB с эмуляцией COM-порта, попробуйте перенастроить подключение через Ethernet (TCP/IP), если модель кассы это позволяет. Подключение по сети часто работает стабильнее и быстрее, чем эмуляция COM-порта, которая чувствительна к прерываниям.
Если после обновления на НДС 5/7% ваша касса Википринт стала работать медленно, а 1С:Розница зависает при проведении чека, выполните следующие действия:
Записать() — проблема программная.