Как исправить ошибки при обновлении 1С:Управление торговлей 10.3 до релизов 10.3.50.1 и 10.3.50.2?

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

Переход на новые релизы конфигурации 1С:Управление торговлей 10.3 (в частности, на версии 10.3.50.1 и 10.3.50.2) принес пользователям немало сложностей. Эти обновления были выпущены в экстренном порядке для поддержки требований ФФД 1.05 и изменения ставки НДС до 20%. Из-за спешки разработчиков в код конфигурации закралось несколько досадных ошибок, которые полностью блокируют как работу с торговым оборудованием (онлайн-кассами), так и запуск самой программы пользователями.

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

---

Ситуация 1. Ошибка «Переменная не определена (глПодключаемоеОборудованиеСобытиеОбработано)» в 10.3.50.1

При попытке открыть кассовую смену или выполнить любую операцию с подключенным оборудованием в релизе 10.3.50.1 система аварийно завершает работу со следующим сообщением:

{ОбщийМодуль.МенеджерОборудованияКлиентПереопределяемый.Модуль(241,11)}: Переменная не определена (глПодключаемоеОборудованиеСобытиеОбработано) Возврат (<<?>>глПодключаемоеОборудованиеСобытиеОбработано = Ложь);

Выясним причину: разработчики конфигурации добавили вызов этой переменной в общий модуль МенеджерОборудованияКлиентПереопределяемый, но забыли объявить саму глобальную переменную в модуле обычного приложения. В результате компилятор 1С не понимает, к какому объекту идет обращение.

Как исправить вручную:

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

Перем глПодключаемоеОборудованиеСобытиеОбработано Экспорт;

После этого сохраните конфигурацию и выполните обновление базы данных (клавиша F7). Ошибка при открытии смены исчезнет.

---

Ситуация 2. Ошибка «Поле объекта не обнаружено (АдресЭлектроннойПочты)» при обновлении на 10.3.50.2

При обновлении базы данных до версии 10.3.50.2 процесс может зависнуть или прерваться ошибкой, указывающей на то, что у объекта не обнаружен реквизит АдресЭлектроннойПочты.

Выясним причину: в данном релизе запускаются фоновые обработчики обновления ИБ. Один из них некорректно перенесен из конфигураций на управляемых формах (например, УТ 11). Код пытается напрямую прочитать реквизит АдресЭлектроннойПочты у справочника Пользователи. Однако в старой архитектуре 1С:УТ 10.3 контактная информация пользователей (включая e-mail) хранится в отдельном регистре сведений КонтактнаяИнформация, а самого реквизита в справочнике физически нет.

Как исправить ситуацию:

Поскольку обработчик падает с ошибкой, статус обновления информационной базы остается незавершенным. Чтобы принудительно завершить обновление, мы можем воспользоваться встроенными механизмами или внести небольшую правку в код обработчика.

Рассмотрим вариант обхода через Конфигуратор:

  1. Найдите через глобальный поиск по конфигурации строку, вызывающую ошибку (обращение к свойству .АдресЭлектроннойПочты).
  2. Оберните проблемный участок кода в безопасную конструкцию проверки наличия реквизита или в попытку-исключение:

Попытка
    ПочтаПользователя = Выборка.АдресЭлектроннойПочты;
Исключение
    ПочтаПользователя = ""; // Или получение почты из регистра КонтактнаяИнформация
КонецПопытки;

После внесения изменений запустите базу в режиме «Предприятие» под пользователем с полными правами для успешного завершения процедур обновления.

---

Ситуация 3. Блокировка «Вход в программу временно невозможен в связи с обновлением на новую версию»

После неудавшегося обновления обычные пользователи (кассиры, менеджеры) не могут войти в базу. Система выдает предупреждение о невозможности входа, при этом администратор зайти в систему может.

Выясним причину: это штатное поведение подсистемы обновления. БСП (Библиотека стандартных подсистем) блокирует авторизацию пользователей без полных прав, если фоновые или монопольные процедуры обновления конфигурации завершились аварийно или не были выполнены до конца. Это делается для защиты данных от повреждения.

Решение проблемы по шагам:

  1. Авторизуйтесь в базе под пользователем с полными правами.
  2. Дождитесь автоматического запуска и окончания выполнения отложенных процедур обновления (они должны отработать успешно после того, как вы исправили ошибку из Ситуации 2).
  3. Если процедуры обновления «зависли» в статусе выполнения, воспользуйтесь стандартной обработкой РезультатыОбновленияИнформационнойБазы (ее можно открыть через меню «Все функции» или «Функции для технического специалиста» в зависимости от версии платформы) и вручную отметьте проблемные обработчики как выполненные.
  4. Как только все обработчики получат статус «Выполнено», блокировка входа для обычных пользователей снимется автоматически.

---

Ситуация 4. Проблемы подключения торгового оборудования (Драйвер АТОЛ 10.х)

В релизе 10.3.50.2 разработчики полностью обновили интеграционную компоненту для работы с ККТ АТОЛ. Старые версии драйверов (8.х и 9.х) больше не поддерживаются механизмами ФФД 1.05 в этой конфигурации.

Решение проблемы:

  1. Установите на рабочем компьютере актуальный драйвер АТОЛ ККТ версии 10 (рекомендуется использовать версию не ниже 10.4.2, которая стабильно работает с данным релизом).
  2. В режиме «1С:Предприятие» перейдите в справочник Подключаемое оборудование.
  3. В карточке ККТ измените тип используемого драйвера на "АТОЛ:ККТ с передачей данных в ОФД (54-ФЗ) 10.х".
  4. Заново настройте параметры подключения (порт, скорость, модель) и выполните тест устройства.

---

Резюме и рекомендации

Релизы УТ 10.3.50.1 и 10.3.50.2 получились крайне нестабильными из-за масштабных изменений законодательства. Если вы не хотите заниматься ручной правкой программного кода в конфигураторе, самым безопасным и правильным решением будет переход на более поздние сервисные релизы (например, 10.3.50.3 или ветку 10.3.51), в которых фирма 1С исправила все вышеописанные архитектурные недоработки.

← На главную