Обновление конфигурации «1С:Управление торговлей» (УТ 11) с ветки 11.4.5 на 11.4.6 является крупным технологическим переходом. В этом релизе фирма «1С» произвела глобальные изменения в структуре метаданных: полностью изменился формат хранения адресных сведений (окончательный переход с КЛАДР на ФИАС/ГАР), а также была переработана архитектура прав доступа и некоторых базовых документов (например, переход от документов поступления к приобретению товаров и услуг).
В процессе такого обновления технические специалисты часто сталкиваются со стандартными предупреждениями конфигуратора и критическими ошибками, блокирующими применение изменений базы данных. В данной статье мы подробно разберем, как исправить эти ошибки, включая конфликты с интеграционными модулями (например, Битрикс) и проблемы с торговым оборудованием после перехода.
При сравнении и объединении конфигураций в процессе обновления до версии 11.4.6.188 система выдает следующее предупреждение:
На удаляемый объект РегистрСведений.УдалитьАдресныйКлассификатор есть ссылки в объектах основной конфигурации: Подсистема.НормативноСправочнаяИнформация.Подсистема.БазовыеКлассификаторы.Состав. Отметить систему?
Выясним причину этого предупреждения. Начиная с релиза 11.4.6, устаревший КЛАДР-ориентированный регистр РегистрСведений.УдалитьАдресныйКлассификатор полностью вырезается из системы. Платформа предупреждает вас о том, что этот объект до сих пор включен в состав типовой подсистемы БазовыеКлассификаторы в вашей основной (текущей) конфигурации.
Для успешного решения этой проблемы выполним следующие шаги:
БазовыеКлассификаторы будет удалена ссылка на несуществующий регистр.После прохождения этапа сравнения конфигураций при попытке применить изменения к базе данных (нажатием клавиши F7 или синей бочки) может возникнуть критическая ошибка:
Роль.ДобавлениеИзменениеФизическихЛиц: Дублирование имени объекта метаданных! При проверке метаданных обнаружены ошибки! Операция не может быть выполнена.
Проанализируем ситуацию. Данная ошибка возникает из-за сбоя сопоставления объектов при трехстороннем объединении конфигураций (особенно в измененных базах, находящихся на поддержке с возможностью редактирования). В результате в дереве метаданных вашей основной конфигурации создаются две абсолютно одинаковые роли с именем ДобавлениеИзменениеФизическихЛиц — одна перешла из новой конфигурации поставщика, а вторая осталась от старой измененной версии.
Разберем по шагам, как устранить это дублирование вручную:
Общие -> Роли. Также можно воспользоваться строкой поиска в верхней части окна дерева метаданных.ДобавлениеИзменениеФизическихЛиц. Вы увидите, что у них могут быть разные значки поддержки (одна может быть на полной поддержке, другая — разрешена для редактирования).ДобавлениеИзменениеФизическихЛиц_Старая.Конфигурация -> Поддержка -> Настройка поддержки, найдем проблемную роль и установим для нее режим «Объект снят с поддержки». После этого удаление станет доступно.ДобавлениеИзменениеФизическихЛиц теперь сопоставлен только один объект и установлена галочка обновления от поставщика.Еще одной частой проблемой, возникающей непосредственно в режиме «1С:Предприятие» после обновления на релиз 11.4.6.188, является зависание сетевого порта при работе с фискальными регистраторами «Штрих-М» по протоколу TCP socket. При открытии формы чека в РМК касса занимает порт, но после пробития или отмены чека порт не освобождается, блокируя работу с ККТ до полного перезапуска сеанса 1С.
Рассмотрим подробнее способы борьбы с этой неполадкой:
Помимо исправления ошибок в конфигураторе, обратим внимание на важные особенности постобработки данных в режиме «1С:Предприятие»:
Во-первых, в релизе 11.4.6 разработчики «1С» произвели внутреннее замещение старых документов поступления. На смену Документ.ПоступлениеТоваровУслуг окончательно пришел Документ.ПриобретениеТоваровУслуг. Если в вашей базе использовались нетиповые (самописные) роли или профили групп доступа, созданные копированием со стандартных, пользователи могут потерять права на просмотр или проведение документов закупки. Нам потребуется вручную скорректировать такие роли в конфигураторе, перенеся права доступа со старого класса объектов на новый.
Во-вторых, запуск первого сеанса после обновления должен происходить строго монопольно под пользователем с полными правами. В этот момент запускаются отложенные обработчики обновления данных. Нам нужно дождаться их полного завершения, контролируя процесс через отчет «Результаты обновления программы» в разделе Администрирование -> Обслуживание.
Если один из обработчиков (например, по переформированию реестра документов) завис или завершился с ошибкой, выполним следующий код в консоли кода для принудительного перезапуска зависших потоков обновления:
Выборка = РегистрыСведений.ПотокиОбновления.Выбрать();
Пока Выборка.Следующий() Цикл
МенеджерЗаписи = РегистрыСведений.ПотокиОбновления.СоздатьМенеджерЗаписи();
ЗаполнитьЗначенияСвойств(МенеджерЗаписи, Выборка);
МенеджерЗаписи.Статус = Перечисления.СтатусыПотоковОбновления.НеЗапускался;
МенеджерЗаписи.Записать();
КонецЦикла;
Выполнив этот несложный скрипт, мы сбросим зависшие фоновые задания обновления, после чего система сможет продолжить корректную обработку измененных данных в фоновом режиме, не препятствуя текущей работе пользователей базы данных.