Как исправить сбои в настройках торгового оборудования после обновления 1С:Управление торговлей 10.3?

Программист 1С v8.3 (Обычные формы) Управленческий учет Торговля и дистрибуция
← На главную

Обновление конфигурации «1С:Управление торговлей 10.3» до релизов серии 10.3.49.x (в частности 10.3.49.1–10.3.49.3) стало настоящим испытанием для многих технических специалистов. Этот период был связан с переходом на НДС 20% и введением поддержки формата фискальных данных ФФД 1.05. Разработчики 1С внесли кардинальные изменения в механизмы работы с торговым оборудованием, что привело к ряду типовых проблем: «слетающим» настройкам портов ККТ, отображению лишних устройств в списках и критическим зависаниям в терминальных сессиях.

В данной статье мы подробно разберем, как локализовать и устранить эти ошибки, проанализируем программный код и предложим проверенные способы оптимизации работы системы.

Причина 1: Дублирование табличных частей в форме настройки

Одной из наиболее распространенных проблем после обновления «нетиповых» (доработанных) конфигураций является некорректное слияние форм. Рассмотрим ситуацию, когда в окне «Настройка торгового оборудования» все параметры перемешиваются, а настройки одной кассы начинают зеркально отображаться на всех остальных устройствах.

Проанализируем причину: при обновлении в обработке ТОНастройка может произойти «задвоение» табличной части формы. Это происходит из-за того, что в новых релизах изменились внутренние идентификаторы или состав реквизитов, и автоматическое объединение 1С не всегда справляется с этой задачей корректно. В результате логика фильтрации оборудования ломается, и система начинает считать все подключенные устройства (сканеры, терминалы, ККТ) элементами одного списка.

Что необходимо сделать:

  1. Откроем конфигуратор и перейдем к обработке ТорговоеОборудование (или ТОНастройка, в зависимости от версии).
  2. Проверим состав табличных частей на основной форме настройки.
  3. Если обнаружены дублирующиеся элементы или скрытые колонки, которые не были удалены при обновлении, необходимо вручную привести форму к типовому виду текущего релиза.
  4. В некоторых случаях помогает полное замещение формы из дистрибутива типового обновления (при условии, что в форму не вносились важные пользовательские доработки).

Причина 2: Конфликты в среде RDP (Терминальный сервер)

Если ваши пользователи работают в терминальном режиме, вы наверняка столкнулись с тем, что 1С присваивает одинаковые настройки портов разным кассирам. Выясним причину: стандартная функция ИмяКомпьютера() на сервере RDP всегда возвращает имя самого сервера. Для 1С это означает, что все 10 или 20 кассиров сидят за одним и тем же рабочим местом.

Рассмотрим типовой код в общем модуле ТОСервер:


Функция ПолучитьИмяКомпьютераТО() Экспорт
    Если мИмяКомпьютера = Неопределено Тогда
        мИмяКомпьютера = ВРег(ИмяКомпьютера());
    КонецЕсли;
    Возврат мИмяКомпьютера;
КонецФункции

Чтобы система различала рабочие места, нам необходимо добавить в идентификатор имя пользователя Windows. Разберем по шагам, как модифицировать этот код с использованием объекта WScript.Network:


Функция ПолучитьИмяКомпьютераТО() Экспорт
    Если мИмяКомпьютера = Неопределено Тогда
        Попытка
            WSHNetwork = Новый ComОбъект("WScript.Network");
            ИмяПользователяWindows = WSHNetwork.UserName;
            // Объединяем имя сервера и имя пользователя для уникальности
            мИмяКомпьютера = ВРег(ИмяКомпьютера() + "_" + ИмяПользователяWindows);
        Исключение
            // Резервный вариант, если COM-объект недоступен
            мИмяКомпьютера = ВРег(ИмяКомпьютера());
        КонецПопытки;
    КонецЕсли;
    Возврат мИмяКомпьютера;
КонецФункции

Важное замечание: Еще более надежным способом в среде RDP является использование переменной окружения SESSIONNAME, так как один и тот же пользователь может зайти в две разные терминальные сессии с разных физических устройств.

Причина 3: Зависания при открытии форм (Опрос оборудования)

Многие специалисты заметили, что после обновления до 10.3.49.x открытие любого документа или обработки, где инициализируется торговое оборудование, стало занимать длительное время. Проанализируем ситуацию: метод ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма) теперь инициирует проверку всех устройств, зарегистрированных для данного «Имени компьютера».

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

Рекомендации по оптимизации:

Причина 4: Несовместимость прошивок и драйверов

Обновление программного кода УТ 10.3 тесно связано с обновлением драйверов торгового оборудования. В релизах 49.x были внедрены новые требования к передаче тегов ФФД 1.05. Если конфигурация обновлена, а прошивка ККТ осталась старой (дореформенной), вы можете столкнуться с ошибками «Метод не поддерживается» или некорректным расчетом налогов в чеке.

Основные моменты:

  1. Обновление драйверов: Для корректной работы требуются версии драйверов АТОЛ 8.16.x и выше или 10.x, а для Штрих-М — версии не ниже 4.14.
  2. Прошивка кассы: Убедитесь, что ККТ поддерживает работу с НДС 20%. В противном случае новые модули 1С, отправляя обновленные ставки, будут вызывать отказ печати чека.
  3. ЕГАИС: В релизе 10.3.49.3 были замечены ошибки сопоставления серий номенклатуры и акцизных марок. Если вы занимаетесь торговлей алкоголем, обязательно проверьте заполнение регистра СерииНоменклатуры при загрузке данных из ККМ.

Подводя итог, можно сказать, что большинство проблем после обновления УТ 10.3 решаются внимательным анализом объединения форм и корректировкой функции получения имени рабочего места в модуле ТОСервер. Использование уникальных идентификаторов для RDP-сессий — это обязательный шаг для стабильной работы розничной точки в современных условиях.

← На главную