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

22.03.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Расширение "Легальность"
.cfe 10,41Kb
21
21 Скачать (5 SM) Купить за 3 050 руб.
Модуль обработки
.txt 55,91Kb
15
15 Скачать (2 SM) Купить за 2 150 руб.

Досталось мне по наследству выполнение обновления баз 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 обновляются с Пн по Пт, В субботу обновляются БП КОРП , в воскресенье БП Сельхозка).   На полуавтомате остались тока БП с дописками и обновлением из хранилища. 

 

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

 

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

 

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

См. также

DevOps для 1С DevOps и автоматизация разработки Программист Стажер Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

2500 руб.

20.06.2023    22863    21    4    

321

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

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

27900 руб.

01.04.2020    147692    651    362    

236

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

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 руб.

29.06.2022    12187    105    4    

137

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

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Зарплата и Управление Персоналом 3 и версии КОРП: 3.1.30.57.

2160 руб.

05.08.2024    1409    15    1    

9

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    12844    10    10    

35

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

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

5000 руб.

30.05.2019    29301    32    10    

36

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

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

4200 руб.

15.05.2019    40197    154    132    

164

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

Автотесты 1С - готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.156.30.

1800 руб.

20.01.2022    7889    20    0    

14
Отзывы
5. VPanin56 550 08.05.19 14:19 Сейчас в теме
(4) Так вот как раз "Кто то должен поставить галочку и начать ОК" меня и не устраивало при обновлении 80 баз. Мое расширение активируется только при первом запуске в режиме Предприятия после обновления конфигурации, перехватывает событие подтверждения легальности, подтверждает его и запускает процедуры обновления. И все это происходит автоматически и без участия человека. А потом закрывает 1С Предприятие.
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sedaiko 591 08.05.19 13:30 Сейчас в теме
я без расширений все провернул https://infostart.ru/public/1041193/
просто в после обновления и принятия изменений запустил внешнюю обработку в командной строке (через пользователя с отключеной защитой от опасных действий) с вызовом процедуры глобального модуля "обновить" и последующем закрытием формы. И ни какого расширения не нужно.
3. VPanin56 550 08.05.19 13:51 Сейчас в теме
(1) В твоем посте расписана работа скрипта, и ни слова про запуск и прохождение легальности обновления. Вариант с запуском внешней обработки рассматривался, но был откинут.
Кстати один из вариантов был другой - не запуск в режиме Предприятия, а соединение по COM и запуск определенных процедур из БСП. Но тоже был откинут, т.к. результаты тестов были 50 / 50. Это не устроило.
Поэтому и пришел к расширению.
4. Sedaiko 591 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 550 08.05.19 14:19 Сейчас в теме
(4) Так вот как раз "Кто то должен поставить галочку и начать ОК" меня и не устраивало при обновлении 80 баз. Мое расширение активируется только при первом запуске в режиме Предприятия после обновления конфигурации, перехватывает событие подтверждения легальности, подтверждает его и запускает процедуры обновления. И все это происходит автоматически и без участия человека. А потом закрывает 1С Предприятие.
6. Sedaiko 591 08.05.19 14:24 Сейчас в теме
(5) Я в своем варианте говорю Вам про то, что процедуры обновления однозначно выполняются. Можно cfu-хи друг за другом загружать, выполняя процедуры обработки. Просто после всего (всех загрузок cfu и выполнений процедур в режиме предприятия) -кто первый запустит, тот и нажмет флажек и сразу можно работать.
7. VPanin56 550 08.05.19 14:47 Сейчас в теме
(6) Отлично, спорить не буду.
Меня мой вариант устраивает завершенностью, не надо объяснять буху что за окошко у него внезапно вылезло при загрузке базы.
8. Sedaiko 591 08.05.19 14:53 Сейчас в теме
(7) Да норм все, однофамилец. Идею дарю)))
2. Sedaiko 591 08.05.19 13:31 Сейчас в теме
Кстати, для управление кластером есть целый модуль в БСП
9. Mx00 249 26.07.19 20:11 Сейчас в теме
я остановился на программе Обновлятор-1С, не бесплатно, но экономит кучу времени, плюс всякие регламентные процедуры делает и отчет высылает. Программа поддерживается разработчиком и можно попробовать попросить сделать настройки под себя, в общем рекомендую :-)
davdykin; wolfalan; +2 Ответить
10. VPanin56 550 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 550 29.07.19 14:57 Сейчас в теме
(11) Не поленился полез еще раз на сайт Обновлятора.
Да в описаниях новостей что то есть про механизм подтверждения легальности. но это новость от 2015 года и за эти 4 года могло многое измениться со стороны 1С.
Иду в описание Проф версии - "Как вы успели заметить бесплатная версия программы вполне функциональна и подходит для большинства пользователей. Поэтому было принято решение выпускать ещё и проф-версию - более функциональную по сравнению с бесплатной." В описании преимуществ проф версии ни слова про легальность нету.
В настройках самого Обновлятора я не увидел никаких галочек по поводу подтверждения легальности. И отличие бесплатной от платной версии программа сама предупреждает что запрошенная функция доступна только в проф версии.
Если вы пользуетесь Обновлятором Проф версии , продемонстрируйте такую возможность этой программы, хотя бы скринами

И да, я не утверждал что Обновлятор плохой а я сделал круче. Я этого не увидел в нем, поэтому сделал свое.
13. Mx00 249 30.07.19 00:12 Сейчас в теме
(12) Не поленился, достал архив базы, настроил автоматическое обновление и обновил - при входе в базу никакого вопроса подтверждения легальности не появилось :-)
Подтвердить это скринами не получится, а заморачиваться с видео мне ну совсем лениво ;-)
я не знаю есть ли "специальная настройка", но в проф версии при автоматическом обновлении по расписанию легальность подтверждается без участия пользователя.
wolfalan; +1 Ответить
23. fixin 4276 14.07.22 17:02 Сейчас в теме
(10) обновлятор это уже научился делать.
24. VPanin56 550 14.07.22 19:05 Сейчас в теме
(23) и не лень же писать комментарии к обсуждению трёх летней давности.
Не сомневаюсь что уже умеет это делать, но у нас до сих пор работает моя разработка на 200+ уже базах и была переделана на полностью автоматический режим работы каждый день по расписанию обновляет порцию БП и ЗУП, да и отраслевые тоже.
Так что каждый волен выбирать и использовать то что ему нравится и подходит.
25. fixin 4276 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 550 30.07.19 07:32 Сейчас в теме
Спасибо что заморочился с архивом.
Такую настройку "Не выполнять обработчики обновления" видел и она доступна в бесплатной версии. И при обновлении бесплатным Обновлятором обработчики тоже выполняются, но почему то после обновления через Обновлятор с выполнением обработчиков, база при первом запуске просит подтвердить легальность получения обновлений. Неужели это "фишка" бесплатной версии ?
Надо мне проверить на своем бесплатном Обновляторе какую нибудь базу еще раз.
16. sinops 18.11.19 23:24 Сейчас в теме
В последних релизах можно запускать с параметром /C"ВыполнитьОбновлениеИЗавершитьРаботу"
база стартует, сама автоматом проставляет легальность обновления и выполняет обработку обновления .
17. VPanin56 550 19.11.19 09:26 Сейчас в теме
(16)
ВыполнитьОбновлениеИЗавершитьРаботу


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

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

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


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

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