gifts2017

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

Опубликовал Александр Лебедев (Alexa27) в раздел Администрирование - Сервисные утилиты

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

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

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

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

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

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

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

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

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

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

Программа написана на С++ (win32 api) и протестирована на OS: Windows 2000\2003\XP\Vista\2008\W7\W8.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
1ConfigIns
.rar 688,13Kb
09.11.12
78
.rar 688,13Kb 78 Скачать
1ConfigIns cpp
.rar 186,14Kb
08.02.13
13
.rar 186,14Kb 13 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Игорь Воронкин (Воронкин) 03.10.12 19:35
Вы пишете про обновления, а четвертая строка первой картинки гласит об файлах CF, а расширение обновлений CFU.
Я понимаю, Ваша программа сравнивает две конфигурации и автоматизацию установки обновлений снятых с поддержки конфигураций не облегчает.
2. Андрей Акулов (DrAku1a) 04.10.12 07:35
Не совсем понятно, как этим пользоваться... Даже из картинок. Но все равно плюс - за идею и старания!
А так то... Когда делаю сравнение-объединение конфигураций при просмотре модулей по процедурам, мне бы возможность выбрать КАКИЕ ПРОЦЕДУРЫ замещать, а какие - нет... но "галочки" не снимаются, видимо, 1С этого не умеет. И приходится замещать или весь модуль или "копи-пастить" вручную =(
3. Александр Лебедев (Alexa27) 04.10.12 10:07
Поясню, как я использую программу:
1. Обновляю одну, не снятую с поддержки базу и выгружаю конфигурацию в файл 1cv8.cf
2. Теперь надо обновить несколько баз клиентов, для этого заранее настраиваю программу 1Config для каждой базы и создаю несколько bat файлов.
3. Настраиваю планировщик заданий и ночью запускаю батники. Таким образом все базы обновляются, а также вносятся необходимые изменения в конфигурации.
4. Алекс Ю (AlexO) 04.10.12 12:25
(2) DrAku1a,
В окне сравнения нужно выбрать модуль, и в колонке "Режим объединения и порядок подчиненных объектов" указать по-процедурное обновление (нажать справа в строке кнопку "Открыть" - значок "лупа").
Тогда откроет новое окно сравнения модулей и разрешит указывать, какие процедуры не обновлять, с выбором таких процедур галочкой.
5. Алекс Ю (AlexO) 04.10.12 12:26
(3) Alexa27,
Ни 1С, никто либо другой не может написать автоматическое сравнение двух кусков кода или двух интерфесов форм между собой и их корректное объединение при автообновлении.
Все нужно делать вручную. А если нет пересечений - то есть фильтр по дважды измененные при объединении и по-процедурное обновление модулей.
так что такая обработка не имеет смысла.
6. Андрей Акулов (DrAku1a) 05.10.12 02:44
(4) Не знал. Спасибо! Круто! Действительно, остальное уже автоматизации не поддается...
7. Александр Лебедев (Alexa27) 08.10.12 14:14
(5) AlexO,
Смысл в том, что программа не обьединяет конфигурации и не сравнивает, а загружает из файла чистую обновленную конфу сверху. Код вставляется в текстовый файл модуля, причем только тогда, когда модуль обновился. Для интерфейсов форм я сделал другую программу на скриптах, но пока не пригодилась.
8. Александр Лебедев (Alexa27) 08.10.12 14:29
(4) AlexO,
А что делать, если процедуру надо обновить, опять руками делать?
9. Алексей Ко (Жолтокнижниг) 10.10.12 09:13
Чет не совсем понятно какой алгоритм вставки изменений? Переписывает весь модуль на измененный, маркеры какито или анализирует чегото? мб исходники выложишь заодно?
10. Александр Лебедев (Alexa27) 15.10.12 11:39
(9) Жолтокнижниг.
Все правильно, измеяется текстовый файл модуля, потом этот модуль переписывается в конфе.
Исходники выложу позже, когда доделаю все что задумал.
11. Модератор раздела Артур Аюханов (artbear) 09.02.13 15:38
(0) Хорошая идея.
Нужно обязательно пощупать.
Ждем исходники в будущем.

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

Ты не совсем прав, как раз для кода это можно сделать, если вставлюятся блоки кода и слабо или поблочно меняются существующие куски кода.
А самый надежный вариант - это использовать 3-merge, в этом случае удается автоматически на 95%, т.е. очень быстро объединять свои изменения и изменения с 1С.
Этот механизм был давно опробован еще на 7-ке при использовании gcomp
12. andrewks 09.02.13 16:28
что-то я не совсем понял
- синтаксическая проверка модулей;

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


у Вас свой синтакс-анализатор языка 1С реализован? и свои алгоритмы реструктуризации таблиц?
13. andrewks 09.02.13 16:32
(11) artbear, кстати, исходники уже выложены. видимо, у автора больше нет возможности уделять должное время проекту
14. andrewks 09.02.13 16:39
а, всё, понял, все действия выполняются через вызов конфигуратора с командной строкой
15. Alex Steiner (OrsoBear) 13.02.13 10:41
Тоже находил раньше этот проект, не понадобился.
А сегодня умышленно отыскал.. буду тестировать.
Спасибо!
16. Дмитрий Тарасов (ALLES) 10.02.16 21:47
Инструкция по использованию в стиле "Приложите бубен к монитору, у вас получиццо"
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа