Обновление современных конфигураций на базе платформы 1С:Предприятие 8.3, таких как BAS Управление торговлей 3.2 (УТ 3.2), часто сопряжено с техническими нюансами, которые могут поставить в тупик даже опытного специалиста. Одной из наиболее распространенных проблем является невозможность внести изменения в конфигурацию, находящуюся на поддержке, при активном использовании хранилища конфигурации. В этой статье мы подробно разберем, почему «не ставится» обновление, как правильно работать с захватом объектов и на что обратить внимание при переходе через несколько релизов.
Рассмотрим типичный сценарий: вы пытаетесь обновить BAS УТ 3.2, заходите в меню Конфигурация — Поддержка — Обновить конфигурацию, выбираете файл обновления, но система не позволяет применить изменения или кнопка выполнения остается неактивной. При этом в настройках поддержки указано, что объекты «не редактируются» (находятся на замке).
Первым делом проанализируем состояние дерева метаданных. Если вы видите синие значки или если система сообщает о невозможности изменения объектов, велика вероятность, что конфигурация подключена к хранилищу. В этом случае, даже если объект стоит «на замке» и является типовым, платформа блокирует любые манипуляции с ним, пока он не будет заблокирован (захвачен) конкретным пользователем в рамках хранилища.
Выясним причину блокировки. Если в вашей организации используется коллективная разработка или хранилище было включено «на будущее», для успешного обновления необходимо выполнить рекурсивный захват всех объектов. Разберем по шагам, как это сделать:
Важный нюанс: если вы единственный специалист, работающий с базой, использование хранилища может быть избыточным. В таком случае мы рекомендуем упростить процесс: выберите Конфигурация — Хранилище конфигурации — Отключиться от хранилища. После этого все объекты станут доступны для стандартного обновления «старым добрым способом».
Проанализируем технические параметры. Использование платформы версии 8.3.15.1700 для актуальных релизов BAS УТ 3.2 часто является критической ошибкой. Современные типовые решения требуют актуальных версий платформы (зачастую не ниже 8.3.18 или 8.3.21).
Использование устаревшей платформы при обновлении через несколько релизов может вызвать неявные ошибки при реструктуризации таблиц базы данных. Перед началом работ обязательно загляните в файл ReadMe.txt, который идет в комплекте с дистрибутивом обновления, и убедитесь, что ваша версия 1cv8.exe соответствует требованиям разработчика.
Посмотрим на ситуацию, когда необходимо «перепрыгнуть» сразу через 5-10 релизов. Здесь существует два основных метода:
Рассмотрим подробнее работу в режиме «Предприятие»: после каждого значимого этапа обновления (или после загрузки .cf) необходимо запускать программу в пользовательском режиме. В этот момент запускаются фоновые процедуры Библиотеки стандартных подсистем (БСП), которые реорганизуют данные в регистрах и справочниках. Если вы попытаетесь «накатить» три обновления подряд в конфигураторе, не заходя в программу, база данных может стать логически несогласованной, что приведет к непредсказуемым ошибкам в учете.
После того как вы выполнили сравнение-объединение или обновление через файл, обратите внимание на состояние значка конфигурации. Если над деревом метаданных горит синий восклицательный знак (или синий квадрат), это означает, что изменения внесены только в «основную конфигурацию», но не применены к базе данных.
Нажмите F7 (Обновить конфигурацию базы данных). Если система выдает окно со списком изменений, внимательно просмотрите его и нажмите Принять.
Если после всех манипуляций система продолжает вести себя странно (например, сообщает, что объект не захвачен, хотя вы его захватили), выполним очистку кэша. Самый простой способ — удалить базу из списка в окне запуска и добавить её заново. Также можно воспользоваться параметром запуска:
/ClearCache
Если вы решили оставить хранилище включенным, не забудьте о финальном этапе. После того как обновление успешно принято (F7) и проверено в режиме «Предприятие», изменения нужно Поместить в хранилище.
Щелкните правой кнопкой на корне конфигурации и выберите Поместить в хранилище.... Если этого не сделать, другие пользователи хранилища (или вы сами при создании новой локальной копии) не увидят обновленную версию, так как в самом хранилище всё еще хранится старый релиз.
Подведем итог наших действий. Чтобы обновление BAS УТ 3.2 прошло гладко, придерживайтесь следующего алгоритма:
Хранилище конфигурации. Если используется — выполните рекурсивный захват всех объектов..cf, обязательно делайте промежуточные запуски в режиме «Предприятие» для выполнения обработчиков обновления.%LOCALAPPDATA%\1C\1cv8.Соблюдение этих правил позволит вам избежать блокировок и корректно перевести систему на новый функционал без потери данных и стабильности работы.