Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов
Разработка - DevOps и автоматизация разработки
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Досталось мне по наследству выполнение обновления баз 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 обновляются с Пн по Пт, В субботу обновляются БП КОРП , в воскресенье БП Сельхозка). На полуавтомате остались тока БП с дописками и обновлением из хранилища.
Вступайте в нашу телеграмм-группу Инфостарт