Автообновление конфигурации, не подключенной к хранилищу

01.11.17

Разработка - Инструментарий разработчика

Конфигурация поможет обновить любую БД, не подключенную к хранилищу, объектами из хранилища

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

Наименование Файл Версия Размер
Автообновление конфигурации, не подключенной к хранилищу:
.cf 3,52Mb
9
.cf 1.0.1.2 3,52Mb 9 Скачать

Добрый день.

Решил написать эту конфигурацию, т.к. периодически нужно было обновлять рабочую базу, не подключенную к хранилищу, а вручную это делать, конечно, лень.

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

Основные функции:

- получение списка изменений хранилища, возможно с группировкой и отбором

- обновление основной конфигурации обновляемой базы с помощью выгрузки XML из конфигураций хранилища

- обновление основной конфигурации обновляемой базы полной загрузкой конфигурации хранилища

- выгрузка cf файла, содержащего выбранные изменения относительно обновляемой конфигурации (для ручного сравнения/объединения)

- сохранение истории обновления (сохраняются объекты и версии хранилища, загруженные в обновляемую базу, и номер версии хранилища, на которую обновлена база (при полной загрузке))

- отдельное обновление конфигурации БД обновляемой базы

 

Итак, начнем.

Для начала нужно заполнить справочник "Базы". Там необходимо ввести строку подключения к БД, Пользователя и Пароль.

Далее нужно заполнить Настройки обновления базы. Там указать обновляемую базу, путь к хранилищу, из которого берем историю изменений, Пользователя и Пароль хранилища.

Обязательно заполнить поле "База обновлена на версию хранилища". Это номер версии хранилища, к которому приведена наша БД и начиная с которого будет получаться история изменений. Этот реквизит будет изменяться при полном обновлении конфигурации на определенную версию хранилища.

Далее нужно выбрать разрешено ли делать загрузку напрямую в обновляемую БД - это поле "Загружать напрямую в базу". Если оно установлено в значение ИСТИНА, то программа загрузит необходимые объекты в основную конфигурацию обновляемой базы и предложит обновить конфигурацию БД. Если ЛОЖЬ, то станет видимым поле "Каталог результата" -  это путь к папке, в которую будет выгружен файл Result.cf - результирующий cf, содержащий в себе конфигурацию - результат загрузки объектов в обновляемую конфигурацию, которая при сравнении/объединении с обновляемой конфой покажет различия только в выбранных объектах.

Поле "Разрешить динамическое обновление" говорит само за себя - при попытке обновления конфигурации БД обновляемой базы будет или не будет разрешено динамическое обновление.

Опционально можно заполнить "Код доступа" и "Дополнительные параметры запуска". Код доступа нужен, когда установлена блокировка установки соединений с БД (параметр /UC пакетного запуска). Дополнительные параметры можно перечислить, если есть необходимость. Они будут добавлены в команду пакетного запуска конфигуратора (Например, "/NoProxy /debug " и т.д.)

 

Основные команды (кнопки в главном окне):

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

Обновить базу через XML (действует при загрузке напрямую в базу, сохраняет историю обновления) - собирает выбранные для загрузки объекты, анализирует целостность данных (например, если добавлен новый объект, то вместе с ним будет загружен корень конфигурации и все добавленные в этой версии хранилища объекты), выгружает необходимые версии хранилища в файлы (может быть выгружена одна версия хранилища в cf, если она содержит все выбранные изменения, или несколько, если выбраны версии объектов, которые не должны попасть в базу, например, ОбщийМодуль.ОбщегоНазначения изменяли Паша и Саша, а базу нужно обновить всеми изменениями Саши, кроме модулья ОбщегоНазначения - его берем из версии Паши).

Обновить на версию хранилища (действует при загрузке напрямую в базу, сохраняет историю обновления) - выгружает cf хранилища в файл и загружает его в конфигурацию обновляемой базы.

Обновить конфигурацию БД - просто обновляет конфигурацию БД с разрешением/запретом динамического обновления (регулируется галочкой, пока не работает - система игнорирует данный параметр).

Выгрузить cf с изменениями (не видна при загрузке напрямую в базу, сохраняет историю обновления) - так же как и "Обновить базу через XML" анализирует выбранные объекты и в результате выгружает cf файл, содержащий при сравнении/объединении с обновляемой базой только выбранные изменения. Можно использовать, когда есть необходимость контролировать изменения, которые попадут в базу.

Выгрузить cf хранилища <номер версии> (не видна при загрузке напрямую в базу, не сохраняет историю обновления) - выгружает в cf файл выбранную в основном онке версию хранилища.

Перед обновлением можно менять настройки на одноименной вкладке - пользователей и пароли БД и хранилища, пути выгрузки результата и временных файлов. Эти изменения откатятся при перечитывании настроек. 

Так же на форме есть кнопки устновить/снять все флажки и снять/установить флажок на текущей строке. На текущей строке флажок снимается/устанавливается так же двойным кликом.

В конфигурацию вставлено немного из БСП, чтобы выполнять обновление через длительные операции на сервере.

изменения хранилища обновление баз без хранилища

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    124796    682    389    

732

Infostart PrintWizard

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

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

18000 руб.

06.10.2023    7752    24    6    

42

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4264    12    2    

36

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2280 руб.

14.01.2013    178620    1083    0    

861

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99602    239    97    

298

[ЕХТ] Фреймворк для Расширений 1С

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

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18374    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23852    16    15    

33

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28308    3    10    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1519 05.07.17 13:09 Сейчас в теме
Плюс за автоматизацию.
но я решаю подобные задачи другими способами, полностью автоматически, через сервер CI
+
2. Tracerdim 5 05.07.17 15:16 Сейчас в теме
(1) а у нас есть специальный человек, который выбирает объекты и версии, которые должны попасть в базу, поэтому ручной выбор.
P.S. там была галочка автообновления по расписанию, но я ее выпилил. Выпущу в обновлении
+
3. artbear 1519 05.07.17 15:45 Сейчас в теме
Какое узкое место этот ваш человек :(

Мы этот путь проходили, не гуд
+
4. Tracerdim 5 05.07.17 16:46 Сейчас в теме
(3) а как вы обновляетесь? каждый программист свое загружает в боевую базу?
+
5. artbear 1519 06.07.17 12:27 Сейчас в теме
(4) делается релиз, формируется файл поставки.
файл поставки устанавливается в рабочую базу, конфа находится на поддержке без возможности изменения.

мы работаем в основном по скраму, делаем только те задачи. что должны войти в релиз.
Если что-то не удается завершить, через возможность настройки закрываем функционал или откатываем его.

Ну и тесты + код-ревью - наше все :) без них никак.
+
6. Tracerdim 5 06.07.17 20:08 Сейчас в теме
(5)ну мы так проекты делаем по скраму. А вот поддержку почему-то наши ананлитики не хотят по скраму и релизы. Вот и приходится
+
7. artbear 1519 07.07.17 10:25 Сейчас в теме
(6) поддержке по скраму будет тяжко, да.
но ведь какой-то процесс у них есть? или все на живую, правим в бою, регламентных окон нет или минимум, динамическое обновление рулит?
+
8. Tracerdim 5 07.07.17 19:56 Сейчас в теме
(7)не не не. Никакого динамического. Поэтому и спец человек, который в нерабочее время обновляет ))
+
9. adapter 417 18.12.19 17:44 Сейчас в теме
Обновление из хранилища по расписанию
https://infostart.ru/public/1108896/
+
10. Tracerdim 5 19.12.19 18:50 Сейчас в теме
(9)ну там полное обновление вроде? А тут можно выбирать какие доработки переносить, а какие нет
+
Оставьте свое сообщение