1ConfigIns утилита для автоматического обновления и изменения конфигураций 1СV8 (файловый вариант)


Очень часто возникает ситуация, когда необходимо вносить небольшие изменения в конфигурацию, но в тоже время не прекращать ее обновления. В этом случае, после обновления, приходится вручную восстанавливать “затертые” изменения в конфигурации, что заметно усложняет администрирование, особенно, когда на обслуживании находятся несколько небольших фирм, использующих файловые базы данных на платформе 1С:Предприятие 8.х.
Поэтому мной была написана простая программа 1ConfigIns.exe, которая автоматизирует процесс обновления и изменения конфигурации баз данных и позволяет существенно сократить время при их администрировании.

Программа выполняет следующую последовательность команд:

 — загрузка конфигурации из файла (*.cf);

 — выгрузка файлов конфигурации (*.txt) в выбранный каталог;

 — поиск, замена и вставка кода в текстовых файлах;

 — загрузка измененных файлов конфигурации;

 — синтаксическая проверка модулей;

 — обновление конфигурации базы данных;

 — откат изменений в случае возникновения ошибок и т.д.

Для настройки параметров и последовательностей команд используется интерактивный режим работы утилиты, далее можно запускать  1ConfigIns.exe  с заданными настройками в режиме командной строки.

Программа написана на С++ (win32 api) и протестирована на OS: Windows 20002003XPVista2008W7W8.

15 Comments

  1. Воронкин

    Вы пишете про обновления, а четвертая строка первой картинки гласит об файлах CF, а расширение обновлений CFU.

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

    Reply
  2. DrAku1a

    Не совсем понятно, как этим пользоваться… Даже из картинок. Но все равно плюс — за идею и старания!

    А так то… Когда делаю сравнение-объединение конфигураций при просмотре модулей по процедурам, мне бы возможность выбрать КАКИЕ ПРОЦЕДУРЫ замещать, а какие — нет… но «галочки» не снимаются, видимо, 1С этого не умеет. И приходится замещать или весь модуль или «копи-пастить» вручную =(

    Reply
  3. Alexa27

    Поясню, как я использую программу:

    1. Обновляю одну, не снятую с поддержки базу и выгружаю конфигурацию в файл 1cv8.cf

    2. Теперь надо обновить несколько баз клиентов, для этого заранее настраиваю программу 1Config для каждой базы и создаю несколько bat файлов.

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

    Reply
  4. AlexO

    (2) DrAku1a,

    В окне сравнения нужно выбрать модуль, и в колонке «Режим объединения и порядок подчиненных объектов» указать по-процедурное обновление (нажать справа в строке кнопку «Открыть» — значок «лупа»).

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

    Reply
  5. AlexO

    (3) Alexa27,

    Ни 1С, никто либо другой не может написать автоматическое сравнение двух кусков кода или двух интерфесов форм между собой и их корректное объединение при автообновлении.

    Все нужно делать вручную. А если нет пересечений — то есть фильтр по дважды измененные при объединении и по-процедурное обновление модулей.

    так что такая обработка не имеет смысла.

    Reply
  6. DrAku1a

    (4) Не знал. Спасибо! Круто! Действительно, остальное уже автоматизации не поддается…

    Reply
  7. Alexa27

    (5) AlexO,

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

    Reply
  8. Alexa27

    (4) AlexO,

    А что делать, если процедуру надо обновить, опять руками делать?

    Reply
  9. Жолтокнижниг

    Чет не совсем понятно какой алгоритм вставки изменений? Переписывает весь модуль на измененный, маркеры какито или анализирует чегото? мб исходники выложишь заодно?

    Reply
  10. Alexa27

    (9) Жолтокнижниг.

    Все правильно, измеяется текстовый файл модуля, потом этот модуль переписывается в конфе.

    Исходники выложу позже, когда доделаю все что задумал.

    Reply
  11. andrewks

    что-то я не совсем понял

    — синтаксическая проверка модулей;

    — обновление конфигурации базы данных;

    у Вас свой синтакс-анализатор языка 1С реализован? и свои алгоритмы реструктуризации таблиц?

    Reply
  12. andrewks

    (11) artbear, кстати, исходники уже выложены. видимо, у автора больше нет возможности уделять должное время проекту

    Reply
  13. andrewks

    а, всё, понял, все действия выполняются через вызов конфигуратора с командной строкой

    Reply
  14. OrsoBear

    Тоже находил раньше этот проект, не понадобился.

    А сегодня умышленно отыскал.. буду тестировать.

    Спасибо!

    Reply
  15. ALLES

    Инструкция по использованию в стиле «Приложите бубен к монитору, у вас получиццо»

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *