Как решить ошибки при обновлении 1С:Управление торговлей с версии 11.4.5 на 11.4.6?

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

Обновление конфигурации «1С:Управление торговлей» (УТ 11) с ветки 11.4.5 на 11.4.6 является крупным технологическим переходом. В этом релизе фирма «1С» произвела глобальные изменения в структуре метаданных: полностью изменился формат хранения адресных сведений (окончательный переход с КЛАДР на ФИАС/ГАР), а также была переработана архитектура прав доступа и некоторых базовых документов (например, переход от документов поступления к приобретению товаров и услуг).

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

Решение проблемы с удалением адресного классификатора

При сравнении и объединении конфигураций в процессе обновления до версии 11.4.6.188 система выдает следующее предупреждение:

На удаляемый объект РегистрСведений.УдалитьАдресныйКлассификатор есть ссылки в объектах основной конфигурации: Подсистема.НормативноСправочнаяИнформация.Подсистема.БазовыеКлассификаторы.Состав. Отметить систему?

Выясним причину этого предупреждения. Начиная с релиза 11.4.6, устаревший КЛАДР-ориентированный регистр РегистрСведений.УдалитьАдресныйКлассификатор полностью вырезается из системы. Платформа предупреждает вас о том, что этот объект до сих пор включен в состав типовой подсистемы БазовыеКлассификаторы в вашей основной (текущей) конфигурации.

Для успешного решения этой проблемы выполним следующие шаги:

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

Исправление ошибки «Дублирование имени объекта метаданных» (Роль.ДобавлениеИзменениеФизическихЛиц)

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

Роль.ДобавлениеИзменениеФизическихЛиц: Дублирование имени объекта метаданных! При проверке метаданных обнаружены ошибки! Операция не может быть выполнена.

Проанализируем ситуацию. Данная ошибка возникает из-за сбоя сопоставления объектов при трехстороннем объединении конфигураций (особенно в измененных базах, находящихся на поддержке с возможностью редактирования). В результате в дереве метаданных вашей основной конфигурации создаются две абсолютно одинаковые роли с именем ДобавлениеИзменениеФизическихЛиц — одна перешла из новой конфигурации поставщика, а вторая осталась от старой измененной версии.

Разберем по шагам, как устранить это дублирование вручную:

  1. Откроем дерево метаданных конфигурации в Конфигураторе.
  2. Перейдем по пути: Общие -> Роли. Также можно воспользоваться строкой поиска в верхней части окна дерева метаданных.
  3. Найдем две роли с именем ДобавлениеИзменениеФизическихЛиц. Вы увидите, что у них могут быть разные значки поддержки (одна может быть на полной поддержке, другая — разрешена для редактирования).
  4. Попробуем переименовать одну из ролей. Выделим ту роль, которая разрешена для изменения, и в свойствах (нажав F4) добавим к ее имени префикс или суффикс, например: ДобавлениеИзменениеФизическихЛиц_Старая.
  5. После успешного переименования удалим эту переименованную роль (выделив ее и нажав клавишу Del). Обратите внимание: если у роли остались ссылки в других объектах конфигурации, платформа выдаст предупреждение. В таком случае необходимо временно очистить эти ссылки.
  6. Если удаление заблокировано из-за правил поддержки, перейдем в меню Конфигурация -> Поддержка -> Настройка поддержки, найдем проблемную роль и установим для нее режим «Объект снят с поддержки». После этого удаление станет доступно.
  7. После удаления дублирующей роли обязательно запустим процедуру сравнения и объединения с конфигурацией поставщика еще раз. Убедимся, что для роли ДобавлениеИзменениеФизическихЛиц теперь сопоставлен только один объект и установлена галочка обновления от поставщика.
  8. Выполним применение изменений базы данных (F7). Процесс должен завершиться успешно.

Зависание TCP-порта драйвера «Штрих-М» после обновления

Еще одной частой проблемой, возникающей непосредственно в режиме «1С:Предприятие» после обновления на релиз 11.4.6.188, является зависание сетевого порта при работе с фискальными регистраторами «Штрих-М» по протоколу TCP socket. При открытии формы чека в РМК касса занимает порт, но после пробития или отмены чека порт не освобождается, блокируя работу с ККТ до полного перезапуска сеанса 1С.

Рассмотрим подробнее способы борьбы с этой неполадкой:

Дополнительные рекомендации по переходу на УТ 11.4.6

Помимо исправления ошибок в конфигураторе, обратим внимание на важные особенности постобработки данных в режиме «1С:Предприятие»:

Во-первых, в релизе 11.4.6 разработчики «1С» произвели внутреннее замещение старых документов поступления. На смену Документ.ПоступлениеТоваровУслуг окончательно пришел Документ.ПриобретениеТоваровУслуг. Если в вашей базе использовались нетиповые (самописные) роли или профили групп доступа, созданные копированием со стандартных, пользователи могут потерять права на просмотр или проведение документов закупки. Нам потребуется вручную скорректировать такие роли в конфигураторе, перенеся права доступа со старого класса объектов на новый.

Во-вторых, запуск первого сеанса после обновления должен происходить строго монопольно под пользователем с полными правами. В этот момент запускаются отложенные обработчики обновления данных. Нам нужно дождаться их полного завершения, контролируя процесс через отчет «Результаты обновления программы» в разделе Администрирование -> Обслуживание.

Если один из обработчиков (например, по переформированию реестра документов) завис или завершился с ошибкой, выполним следующий код в консоли кода для принудительного перезапуска зависших потоков обновления:


Выборка = РегистрыСведений.ПотокиОбновления.Выбрать();
Пока Выборка.Следующий() Цикл
    МенеджерЗаписи = РегистрыСведений.ПотокиОбновления.СоздатьМенеджерЗаписи();
    ЗаполнитьЗначенияСвойств(МенеджерЗаписи, Выборка);
    МенеджерЗаписи.Статус = Перечисления.СтатусыПотоковОбновления.НеЗапускался;
    МенеджерЗаписи.Записать();
КонецЦикла;

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

← На главную