Пакетное обновление информационных баз (типовые конфигурации)

04.03.22

База данных - Обновление 1С

Решение для пакетного обновления всех типовых баз на базе БСП (библиотеки стандартных подсистем). Скрипт написан на Python, вызывается через cmd файл с аргументом. Предназначено только для работы с сервером 1С:Предприятие. Для работы необходимо установить Python не ниже 3 версии.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пакетное обновление информационных баз (типовые конфигурации):
.rar 8,61Kb
13
13 Скачать (1 SM) Купить за 1 850 руб.

Для работы необходимо распаковать архив, в нем лежат следующие файлы:

setup.cmd
Регистрирует компоненту comcntr.dll для удаления активных сеансов перед обновлением базы. Перед запуском необходимо отредактировать, указать версию платформы.

Block.epf
Внешняя обработка для начала обновления.

Update.epf
Внешняя обработка для окончания обновления.

run.cmd
Запускает обновление баз. Запускается с аргументом: каталог с обновлением.
Пример запуска: C:\update\run.cmd D:\tmp\upd\1c\Accounting\3_0_108_36

Перед запуском необходимо отредактировать скрипт, указав основные параметры и список баз для обновления.

ВНИМАНИЕ! Для корректной работы пользователь 1С, под которым запускается обновление, должен иметь полные права, право Интерактивное открытие внешних отчетов и обработок, также должен быть снят флаг Защита от опасных действий.

V8EXEC        Путь к исполняемому файлу платформы 1С
SERVER        Имя сервера 1С
V8AUTH        Если True, то авторизация 1С, в противном случае авторизация windows
V8USER        Пользователь 1С
V8PASS        Пароль 1С. Необходимо указать в одноименной переменной окружения.
DBPASS        Пароль к БД MS SQL. Необходимо указать в одноименной переменной окружения. Логин к БД - sa.
PREVIEW        Режим предварительного просмотра. Если True, то будут выведены команды командной строки без выполнения
EMULATE        Эмуляция обновления. Необходима только для наглядности, как происходит вывод сообщений в консоль
SHOWEXT        Если True, то для каждого удаляемого расширения отдельно будет выведено сообщение в консоль
TESTDB        Если True, то будет произведено обновление только тестовой базы: V8_TEST.

Также необходимо отредактировать функцию getDblist() в скрипте

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

В моем случае это:

Accounting
список баз для БП 3.0

AccountingCorp
список баз для БП 3.0 КОРП

zpl50
список баз для конф. Зарплата Камин 5.0


Для каждой информационной базы скрипт последовательно выполняет следующие действия:

  1. Запуск в режиме 1С:Предприятие. При запуске выполняется обработка Block.epf. Устанавливает блокировку на запуск программы и фоновых заданий, удаляет активные сеансы.
  2. Запуск в режиме Конфигуратора. Выгрузка информационной базы в каталог bak, расположенный в каталоге с обновлениями.
  3. Запуск в режиме Конфигуратора. Удаление установленных исправлений - расширений с префиксом EF_.
  4. Запуск в режиме Конфигуратора. Обновление конфигурации.
  5. Запуск в режиме Конфигуратора. Обновление информационной базы.
  6. Запуск в режиме 1С:Предприятие. При запуске выполняется обработка Update.epf. Выполняет вызов функций обновления при первом запуске новой версии, снимает блокировку базы.

Протестировано

  • Python 3.8
  • платформа 8.3.20.1674
  • конфигурации: Бухгалтерия предприятия, редакция 3.0 ПРОФ, Бухгалтерия предприятия, редакция 3.0 КОРП, 1С-КАМИН:Зарплата. Версия 5.0

См. также

Обновление 1С Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Скрипт для загрузки конфигурации в 1С, обновления базы и архивации файла с логированием.

1 стартмани

02.04.2025    516    2    DoubleT    8    

4

Обновление 1С Linux Системный администратор Программист Бесплатно (free)

Пошаговая инструкция для обновления платформы 1С на сервере Linux Debian.

28.03.2025    836    California_Dreaming    2    

5

Обновление 1С Программист Платформа 1С v8.3 Россия Бесплатно (free)

При обновлении релиза конфигурации УТ появилась ошибка "Ошибка формата потока".

21.03.2025    1065    Gummi_pr    10    

7

Обновление 1С Программист Платформа 1С v8.3 1С:ERP. Управление холдингом Абонемент ($m)

Описан практический пример обновления через копию конфигурации 1С:ERP. Управление холдингом с версии 3.2.6.6 на версию 3.2.6.7, который можно применять на других конфигурациях и версиях.

10 стартмани

18.02.2025    974    PetrovAnton    6    

5

Обновление 1С Программист Платформа 1С v8.3 Абонемент ($m)

Отчет о сравнении конфигураций представляет собой обширный массив информации. Однако у него есть значительное ограничение: его невозможно настраивать, например, добавлять различные группировки, фильтры или сортировку данных. Тем не менее, если преобразовать этот отчет в таблицу и использовать её в качестве источника данных, это открывает возможность для создания универсального отчета с использованием группировок, отборов и сортировки

10 стартмани

18.02.2025    882    5    kalyaka    0    

7

Обновление 1С Программист Платформа 1С v8.3 Абонемент ($m)

При длительном обновлении из конфигуратора следим за процентом загрузки ПК и отправляем письмо на почту при завершении.

1 стартмани

17.02.2025    411    0    slavik27    0    

3

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2163    17    XilDen    26    

36
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. TMV 11 04.03.22 11:43 Сейчас в теме
Мелочь, но все же. Убрать слово took и точность времени такая не нужна.
2. TMV 11 04.03.22 11:46 Сейчас в теме
По п.2 не всегда получится выгрузить базу в dt. Вроде ж sql, а бэкап снимаете через конф - почему?
5. idm80 23 04.03.22 13:47 Сейчас в теме
(2)

1. Выгрузка/копирование средствами СУБД на больших базах иногда дает сбой, это личный опыт/наблюдение. Хотя могу и ошибаться, был пример с базой 80гб, БП переписанная, когда после снятия копии вылезали скрытые ошибки. После выгрузки/загрузки средствами конфигуратора эти ошибки исчезали.
2. Дамп, сделанный средствами СУБД нельзя загрузить в файловую базу (например, отправить выгрузку аудиторам, или оперативно поставить файловую копию до обновления базы), выгрузка из конфигуратора более мобильна. Это если речь идет о небольшой базе, конечно.
3. Rais96 04.03.22 12:15 Сейчас в теме
А чем не понравился стандартный механизм RAC/RAS, кроссплатформенный и устанавливать ничего не надо.
6. idm80 23 04.03.22 13:55 Сейчас в теме
(3)
Персональный интерес как разработчика. Интересно было написать самому. Python более красивый и гибкий, чем bat файлы из времен моего детства )) (я про MS DOS)

К тому же самописные решения типа deployka не совсем отвечали требованиям. Например, выполнения процедур самой конфигурации после обновления базы данных.
7. Rais96 10.04.23 14:11 Сейчас в теме
(6) deployka это ВанСкрипт, тоже лишняя сущность, но в БСП есть модуль АдминистрированиеКластераRAS для управления сеансами + cmd файлы для конфигуратора и можно получить готовое решение на 1С без лишнего стороннего ПО. Но если стоит цель изучить Питон, то понятно.
4. idm80 23 04.03.22 13:41 Сейчас в теме
Файлы перезалиты! Просьба скачать повторно!
Также периодически буду заливать новые версии обновлений.
Оставьте свое сообщение