Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов

22.03.24

Разработка - DevOps и автоматизация разработки

Расширение для конфигураций 1С для автоматического подтверждения легальности обновления и выполнения обработчиков обновления при пакетном автоматическом обновлении большого числа баз 1С. А также сам модуль обработки по автоматическому обновлению баз.

Скачать исходный код

Наименование Файл Версия Размер
Расширение "Легальность"
.cfe 10,41Kb
20
.cfe 10,41Kb 20 Скачать
Модуль обработки
.txt 55,91Kb
11
.txt 55,91Kb 11 Скачать

Досталось мне по наследству выполнение обновления баз 1С  Бухгалтерии 3 в количестве 100 шт  и ЗУП 3 - 100 шт(измененные, но не сильно. Обновлять только из хранилища).  У нас конечно написана конфа по обслуживанию такого количества баз и даже пакетное обновление реализовано, в том числе и из хранилища для измененных конфигураций, но ...  все этапы этого варианта обновления заточены на участие Админа. 

 
 Как это было реализовано до меня

 

Проделав дважды такую операцию, мне стало грустно и начал искать пути полной автоматизации этого процесса.   В итоге было обнаружено пару достойных наработок по пакетному обновлению в открытом доступе и начался процесс их переработки и адаптации под мои нужды.  Но у всех найденных вариантов был один существенный недостаток -  подтвердить легальность и закончить обновление они не могли.  Поэтому моя задача не автоматизируется на 100 % без этого.  

Начал изучать механизм завершения обновления через отладчик и искать пути решения моей задачи. В итоге были найдены точки перехвата событий при первом открытии обновленной конфигурации и  мои труды и старания вылились в расширение для конфигурации, которое умеет само подтверждать легальность обновления, дожидаться выполнения обработчиков и закрывать 1с Предприятие.  Выполнено это в виде расширения что бы не вскрывать типовые БУХи . Со вскрытой конфигурацией, в частности  ЗУП 3, это расширение тоже работает, т.к. используются точки входа и выхода типовых процедур.

В итоге, собрав все в одну разработку и дополнив ее механизмом  отрубания пользователей от текущей базы через COM соединение с агентом сервера 1С перед стартом обновления, получил полностью 100% автоматический механизм обновления типовых баз 1С.  

 
 Теперь процесс обновления выглядит так

 

Расширение подтверждения легальности протестировано на БП 3 релиз 3.0.69.32 , ЗУП 3 релиз 3.1.9.159 работающих на MS-SQL сервере. Для файловых вариантов баз тоже должно работать, но мною не тестировалось, т.к. у нас таких баз нет. 

Не сомневаюсь что для Торговли, Розницы и других типовых конфигураций от 1С это расширение будет работать. 

Дополнительно прилагаю модуль обработки по автоматическому обновлению информационных баз, в котором реализованы все вышеописанные автоматические процедуры обновления. Его с легкостью можно адаптировать под собственные нужды и вариант работы (только для программистов) т.к. написан на родном языке 1С.

Данная обработка работает в самописной конфигурации по обслуживанию  информационных баз. 

P.S. Да я знаю про "Обновлятор". В бесплатной версии он не работает с таким количеством баз, были мысли приобрести полную версию, но было интересно решить данную задачу самому, т.к. половина функционала уже было в нашей базе обслуживания.

UPDATE  лето 2021  

Подняли свою автоматизацию обновления на новый уровень.  Создали регламентное задание из этого модуля обновления, теперь даже запускать ничего не надо, все работает само.  Разделили ВСЕ базы на 7 потоков   (БП 3 и ЗУП3.1 обновляются с Пн по Пт, В субботу обновляются БП КОРП , в воскресенье БП Сельхозка).   На полуавтомате остались тока БП с дописками и обновлением из хранилища. 

 

 
 Кусок основного кода из обработки обновления

 

 
 Другие разработки

 

Автоматическая легальность обновления баз

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    141825    667    352    

233

Прибыль от продаж в УТ и КА без закрытия месяца

Оптовая торговля Учет доходов и расходов Платформа 1С v8.3 Система компоновки данных 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Есть бесплатная тестовая версия отчета на 5 запусков. Данный отчет позволяет сформировать и оценить среднюю прибыль от продаж товаров в УТ 11 и КА 2 без закрытия месяца. Что невозможно сделать типовыми отчетами, т.к. себестоимость товаров рассчитывается только при закрытии месяца. Позволяет быстро и эффективно оценить, продажи какого товара приносят большую прибыль для организации, а какой товар менее прибыльный, а может, даже и в убыток торгуется.

4200 руб.

15.05.2019    39308    152    130    

162

Автотесты для типовых конфигураций ERP Управление предприятием 2 и Комплексная автоматизация 2 (для vanessa automation)

Тестирование QA DevOps и автоматизация разработки Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.16.115.

2220 руб.

04.07.2022    7069    26    1    

24

Управление сборкой. Расширение для конфигурации СППР

DevOps и автоматизация разработки Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Подсистема «Управление сборкой GLI» предназначена для динамического формирования сборочных линий Gitlab и отслеживания процесса доработок систем на базе1С:Предприятия Позволяет упростить выпуск новых релизов системы, подготовить описание доработок системы. Интегрируется с GitLab API по событиям Push, Merge-request, Pipeline. Уведомляет пользователей о результатах сборки/тестирования сборочных конвейеров через СВ, либо при её недоступности или отсутствию по E-Mail. Поможет при отправке исправлений ошибок в общую базу тестирования, сформирует запросы на слияние в ветку версии только по протестированному и подтверждённому функционалу. Подсистема рассчитана исключительно на клиент - серверную архитектуру тестовых ИБ. Поддерживаемая версии СППР 2.0.4.15, платформа не ниже 8.3.17.1549, 2.0.7.3 / не ниже 8.3.21.1664, начиная с релиза 1.0.4.30 требуется платформа не ниже 8.3.23 рекомендуемый релиз 8.3.23.1997

7000 руб.

26.08.2022    11019    8    5    

31

УТ 11. Автоматическое перемещение товаров между складами и организациями

Закрытие периода Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Менеджер забывает перемещать товар между складами, а в УТ отключен контроль остатков ? Бухгалтер готов застрелиться при закрытии месяца и выравнивании отрицательных остатков по складам и фирмам ? Используй автоматическое перемещение товаров.

5000 руб.

30.05.2019    28705    31    10    

36

Массовое создание и рассылка Актов сверки для УНФ

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Создать и отправить 1000 Актов серки контрагентам за 5 мин ?! Легко! Разработано для конфигурации УНФ Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    10251    3    13    

10

Системы контроля версий для 1С-разработчиков.

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Платформа 1С v8.3 Платные (руб)

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9657    79    4    

113

Свертка базы УНФ для 1.6

Свертка базы Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Управленческий учет Платные (руб)

Обработка свертки базы УНФ 1.6 выполнена в виде расширения конфигурации, которое встраивается в вашу базу без снятия с поддержки, и адаптирована под релиз УНФ 1.6.

4800 руб.

20.04.2021    16038    49    34    

56
Отзывы
5. VPanin56 543 08.05.19 14:19 Сейчас в теме
(4) Так вот как раз "Кто то должен поставить галочку и начать ОК" меня и не устраивало при обновлении 80 баз. Мое расширение активируется только при первом запуске в режиме Предприятия после обновления конфигурации, перехватывает событие подтверждения легальности, подтверждает его и запускает процедуры обновления. И все это происходит автоматически и без участия человека. А потом закрывает 1С Предприятие.
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sedaiko 580 08.05.19 13:30 Сейчас в теме
я без расширений все провернул https://infostart.ru/public/1041193/
просто в после обновления и принятия изменений запустил внешнюю обработку в командной строке (через пользователя с отключеной защитой от опасных действий) с вызовом процедуры глобального модуля "обновить" и последующем закрытием формы. И ни какого расширения не нужно.
3. VPanin56 543 08.05.19 13:51 Сейчас в теме
(1) В твоем посте расписана работа скрипта, и ни слова про запуск и прохождение легальности обновления. Вариант с запуском внешней обработки рассматривался, но был откинут.
Кстати один из вариантов был другой - не запуск в режиме Предприятия, а соединение по COM и запуск определенных процедур из БСП. Но тоже был откинут, т.к. результаты тестов были 50 / 50. Это не устроило.
Поэтому и пришел к расширению.
4. Sedaiko 580 08.05.19 13:56 Сейчас в теме
(3) я изначально COM откинул - так как под от только под виндой и постоянные проблемы с версиями платформ. И да. у меня все равно придется кому-то поставить флажек "легальность", но после него уже не будут выполняться процедуры обновления, так как они уже выполнены обработкой.
Типа того:
echo $(date +%x/%X)" Выполняем процедуры обновления в режиме Предприятия" >> $LOG_FILE
/opt/1C/v8.3/x86_64/1cv8 ENTERPRISE /IBConnectionString"Srvr="""$SERVER""";Ref="""$DB""";" /N$USR /P$PWD /UC$BLOCK_CODE /Out"/home/usr1cv8/out_"$DB".txt" /DumpResult"/home/usr1cv8/DumpResult_"$DB".txt" /Execute"$CUR_PATH/update.epf" /C"ОтключитьЛогикуНачалаРаботыСистемы"

Причем параметр ОтключитьЛогикуНачалаРаботыСистемы заложен в типовые конфигурации для обновления агентом сервиса (см 1СFresh)
5. VPanin56 543 08.05.19 14:19 Сейчас в теме
(4) Так вот как раз "Кто то должен поставить галочку и начать ОК" меня и не устраивало при обновлении 80 баз. Мое расширение активируется только при первом запуске в режиме Предприятия после обновления конфигурации, перехватывает событие подтверждения легальности, подтверждает его и запускает процедуры обновления. И все это происходит автоматически и без участия человека. А потом закрывает 1С Предприятие.
6. Sedaiko 580 08.05.19 14:24 Сейчас в теме
(5) Я в своем варианте говорю Вам про то, что процедуры обновления однозначно выполняются. Можно cfu-хи друг за другом загружать, выполняя процедуры обработки. Просто после всего (всех загрузок cfu и выполнений процедур в режиме предприятия) -кто первый запустит, тот и нажмет флажек и сразу можно работать.
7. VPanin56 543 08.05.19 14:47 Сейчас в теме
(6) Отлично, спорить не буду.
Меня мой вариант устраивает завершенностью, не надо объяснять буху что за окошко у него внезапно вылезло при загрузке базы.
8. Sedaiko 580 08.05.19 14:53 Сейчас в теме
(7) Да норм все, однофамилец. Идею дарю)))
2. Sedaiko 580 08.05.19 13:31 Сейчас в теме
Кстати, для управление кластером есть целый модуль в БСП
9. Mx00 249 26.07.19 20:11 Сейчас в теме
я остановился на программе Обновлятор-1С, не бесплатно, но экономит кучу времени, плюс всякие регламентные процедуры делает и отчет высылает. Программа поддерживается разработчиком и можно попробовать попросить сделать настройки под себя, в общем рекомендую :-)
davdykin; wolfalan; +2 Ответить
10. VPanin56 543 26.07.19 21:00 Сейчас в теме
(9) Там где я обслуживаю 4 базы я тоже использую Обновлятор, но бесплатную версию. Мне ее там хватает.
Тут речь про автоматическое обновление более 80 бух баз и 80 зуп и это количество надо не только обновить, но и открыть каждую и подтвердить легальность, чего к сожалению не умеет Обновлятор даже в платной версии.
Процедуры пакетного обновления были написаны еще до меня, я лишь их модернизировал до полного автоматизма и дополнил в пакетном режиме все наши базы своим расширением. Теперь я не трачу кучи времени на запуск 160 баз и подтверждение легальности получения обновления. Утром бухи открывают обновленные базы и начинают работать, все регламентные процедуры тоже отработали, если что.
11. Mx00 249 29.07.19 14:15 Сейчас в теме
(10) вам сложно судить об "обновляторе" по бесплатной версии и даже как-то не приятно когда вы _утверждаете_ что "чего к сожалению не умеет Обновлятор даже в платной версии", а не уточняете может ли он это делать :-(
https://helpme1c.ru/istoriya-izmenenij-programmy-obnovlyator-1s
новость от 17.06.2015 Переработан механизм подтверждения легальности. Теперь он работает на гораздо большем количестве конфигураций. Проверено практически на всех типовых.

я сам люблю что-нибудь делать супер полезное и "ни кто кроме меня не сделает лучше" :-) , но в данном случае есть готовое решение, которое делает всё что нужно для обслуживания баз 1С :-)
lefthander; wolfalan; +2 Ответить
12. VPanin56 543 29.07.19 14:57 Сейчас в теме
(11) Не поленился полез еще раз на сайт Обновлятора.
Да в описаниях новостей что то есть про механизм подтверждения легальности. но это новость от 2015 года и за эти 4 года могло многое измениться со стороны 1С.
Иду в описание Проф версии - "Как вы успели заметить бесплатная версия программы вполне функциональна и подходит для большинства пользователей. Поэтому было принято решение выпускать ещё и проф-версию - более функциональную по сравнению с бесплатной." В описании преимуществ проф версии ни слова про легальность нету.
В настройках самого Обновлятора я не увидел никаких галочек по поводу подтверждения легальности. И отличие бесплатной от платной версии программа сама предупреждает что запрошенная функция доступна только в проф версии.
Если вы пользуетесь Обновлятором Проф версии , продемонстрируйте такую возможность этой программы, хотя бы скринами

И да, я не утверждал что Обновлятор плохой а я сделал круче. Я этого не увидел в нем, поэтому сделал свое.
13. Mx00 249 30.07.19 00:12 Сейчас в теме
(12) Не поленился, достал архив базы, настроил автоматическое обновление и обновил - при входе в базу никакого вопроса подтверждения легальности не появилось :-)
Подтвердить это скринами не получится, а заморачиваться с видео мне ну совсем лениво ;-)
я не знаю есть ли "специальная настройка", но в проф версии при автоматическом обновлении по расписанию легальность подтверждается без участия пользователя.
wolfalan; +1 Ответить
23. fixin 4254 14.07.22 17:02 Сейчас в теме
(10) обновлятор это уже научился делать.
24. VPanin56 543 14.07.22 19:05 Сейчас в теме
(23) и не лень же писать комментарии к обсуждению трёх летней давности.
Не сомневаюсь что уже умеет это делать, но у нас до сих пор работает моя разработка на 200+ уже базах и была переделана на полностью автоматический режим работы каждый день по расписанию обновляет порцию БП и ЗУП, да и отраслевые тоже.
Так что каждый волен выбирать и использовать то что ему нравится и подходит.
25. fixin 4254 15.07.22 12:01 Сейчас в теме
(24) да я не против. у меня тоже были как-то мысли писать конфу по управлению базами, но тогда я еще не знал про обновлятор. Хотя если бы обновлятор был написан на 1С а не на NET, было бы лучше. Хотя тогда он не мог бы обновлять базовые базы. Ну да ладно...
18. stanislav1esnik 18.12.19 17:09 Сейчас в теме
(9)Обновлятор - отличная программа. Использую её коммерческую версию у двух клиентов. Если всё настроено, то программа сама всё бэкапит, обновляет, подтверждает легальность обновления (!) и запускает обработчики обновления. Остаётся только проверить на почте отчет об обновлении.
wolfalan; +1 Ответить
14. Mx00 249 30.07.19 03:02 Сейчас в теме
Спросил автора Обновлятора 1С - настройка называется "Не выполнять обработчики обновления", т.е. по умолчанию всё выполняется и только по желанию пользователя можно отключить все процессы после обновления.
https://helpme1c.ru/obnovlyator-1s-chto-takoe-sluzhebnye-dejstviya-v-baze-zachem-oni-nuzhny-i-v-kakix-sluchayax-i-kak-ix-luchshe-otklyuchit
wolfalan; +1 Ответить
15. VPanin56 543 30.07.19 07:32 Сейчас в теме
Спасибо что заморочился с архивом.
Такую настройку "Не выполнять обработчики обновления" видел и она доступна в бесплатной версии. И при обновлении бесплатным Обновлятором обработчики тоже выполняются, но почему то после обновления через Обновлятор с выполнением обработчиков, база при первом запуске просит подтвердить легальность получения обновлений. Неужели это "фишка" бесплатной версии ?
Надо мне проверить на своем бесплатном Обновляторе какую нибудь базу еще раз.
16. sinops 18.11.19 23:24 Сейчас в теме
В последних релизах можно запускать с параметром /C"ВыполнитьОбновлениеИЗавершитьРаботу"
база стартует, сама автоматом проставляет легальность обновления и выполняет обработку обновления .
17. VPanin56 543 19.11.19 09:26 Сейчас в теме
(16)
ВыполнитьОбновлениеИЗавершитьРаботу


Круто конечно, 1С как всегда жизнь тока портит, т.к. эта фигня(автоматическое подтверждение) работала на файловых базах и без этого ключа, а тепрь тока с ключиком :)

Бухгалтерия предприятия, редакция 3.0 (3.0.73.54)
Если ИнформационнаяБазаФайловая
И СтрНайти(ПараметрЗапуска, "ВыполнитьОбновлениеИЗавершитьРаботу") > 0 Тогда

ЗаписатьПодтверждениеЛегальностиПолученияОбновлений();


А на серверных базах, которых мне надо обновлять уже около 100 шт, эта хрень никогда не работала автоматом, ни с к ключем ни без него.
А мое расширение продолжило работать, я даже не знал что изменили и добавили ключ такой
19. пользователь 01.04.20 11:00
Сообщение было скрыто модератором.
...
20. VPanin56 543 01.04.20 11:06 Сейчас в теме
Извини, но нет. Я привык что мой труд хоть сколько то но стоит, какие то жалкие 69 руб не ради наживы.
21. ruslanvalitov 01.04.20 18:09 Сейчас в теме
22. VPanin56 543 02.04.20 11:35 Сейчас в теме
(21) на Кнопке скачать указана стоимость, а как там дальше я не знаю
26. TerveRus 13.12.22 14:49 Сейчас в теме
Если обновились до последнего релиза и больше обновлять не надо, запускает 1С в режиме Предприятия

Это что за дичь? То есть ты накатываешь много обновлений, и только потом запускаешь в режиме "Предприятие"?
27. VPanin56 543 13.12.22 19:20 Сейчас в теме
(26) Дичь, это когда кому-то лень базу обновлять по пол года, а потом надо 20 релизов прогнать, потому что законодательство поменялось или форма отчетности.
А у меня роботом еженедельно каждая из 300 баз проверяет выход нового обновления и обновляется на него, и лишь в том случае если вдруг на какой -то неделе не прошло обновление и за это время 1С выпустила пару релизов, то загрузить пару релизов идущих друг за другом а потом загрузить в режиме Предприятия нифига не страшно и не дичь.
Оставьте свое сообщение