Обновление конфигурации 1С, особенно когда необходимо «перепрыгнуть» через несколько релизов в условиях ограниченного времени (например, в ночное технологическое окно), — это задача, требующая четкого понимания механизмов платформы и работы СУБД. Рассмотрим ситуацию, когда у нас есть база на MS SQL Server, и мы опасаемся, что регламентные задания или медленная работа файлового варианта сорвут сроки открытия магазинов. Разберем основные риски, типичные ошибки и наиболее эффективные стратегии решения этой задачи.
Многие специалисты рассматривают вариант «обновить копию — загрузить её вместо рабочей базы». Проанализируем, почему этот путь таит в себе скрытые угрозы:
.dt платформа 1С распознает изменение расположения. Если вы укажете, что это копия, заблокируются все внешние соединения, обмены и сервисы (например, 1С-ЭДО или интеграция с маркетплейсами). Если укажете, что база перемещена, вы рискуете задублировать данные в облачных сервисах, если копия «стучалась» туда во время тестов.Рассмотрим ситуацию, когда автор опасается запуска лишних регламентных заданий при снятии блокировки. На самом деле, платформой предусмотрены механизмы точечного управления процессами. Выясним, как это сделать правильно:
Установите в консоли кластера 1С блокировку регламентных заданий. Это предотвратит запуск фоновых процессов, которые могут мешать обновлению (например, расчет себестоимости или извлечение текста для поиска).
После применения обновления метаданных (через конфигуратор), запустите базу в режиме «Предприятие». Программа сообщит, что обновление не завершено, так как регламентные задания заблокированы. Не пугайтесь этого сообщения.
Проанализируем шаги для ручного запуска:
ОтложенноеОбновлениеИнформационнойБазы.ЗапуститьВручную.Таким образом, будет работать только нужный поток обновления данных, а все остальные «мусорные» задания останутся в режиме ожидания.
Этот метод считается профессиональным стандартом при обновлении сложных систем. Рассмотрим его пошагово:
.cf.Преимущество: Структура таблиц в рабочей базе обновится мгновенно под финальный релиз, при этом сами данные (записи в таблицах) останутся нетронутыми. После этого в рабочей базе запустятся только необходимые обработчики обновления данных для перехода с исходного релиза сразу на финальный.
Если время ограничено 10 часами, проанализируем настройки СУБД, которые помогут выиграть время:
Переведите базу в режим Simple (простая модель восстановления). Это критически важно, так как при массовом обновлении данных файл лога транзакций (.ldf) может разрастись до сотен гигабайт, что приведет к остановке сервера. В режиме Simple лог будет очищаться автоматически.
В современных версиях БСП (Библиотеки стандартных подсистем), на которой базируется Розница 2.3, можно ускорить процесс, настроив многопоточность. В разделе «Обслуживание» — «Результаты обновления программы» установите количество потоков (например, 4 или 8 в зависимости от ядер сервера). Это позволит выполнять РегламентныеЗадания по обновлению данных параллельно.
При «прыжке» через несколько релизов в Рознице важно помнить о торговом оборудовании. Разберем, на что обратить внимание:
Справочник.ШтрихкодыУпаковокТоваров.Подведем итог и составим план действий:
.cf.ОтложенноеОбновлениеИнформационнойБазы.
/C ЗапуститьОбновлениеИнформационнойБазы /СЗавершитьРаботуПользователей
Использование файлового варианта для обновления SQL-базы, как предлагали в некоторых источниках, — это тупиковый путь. Скорость записи в файл (.1cd) значительно ниже, чем в SQL, и риск повреждения базы при сбое в разы выше. Работайте только в рамках SQL-инфраструктуры для достижения максимальной надежности и скорости.