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 не будет опубликован. Обязательные поля помечены *