Поэтому мной была написана простая программа 1ConfigIns.exe, которая автоматизирует процесс обновления и изменения конфигурации баз данных и позволяет существенно сократить время при их администрировании.
Программа выполняет следующую последовательность команд:
— загрузка конфигурации из файла (*.cf);
— выгрузка файлов конфигурации (*.txt) в выбранный каталог;
— поиск, замена и вставка кода в текстовых файлах;
— загрузка измененных файлов конфигурации;
— синтаксическая проверка модулей;
— обновление конфигурации базы данных;
— откат изменений в случае возникновения ошибок и т.д.
Для настройки параметров и последовательностей команд используется интерактивный режим работы утилиты, далее можно запускать 1ConfigIns.exe с заданными настройками в режиме командной строки.
Программа написана на С++ (win32 api) и протестирована на OS: Windows 20002003XPVista2008W7W8.
Вы пишете про обновления, а четвертая строка первой картинки гласит об файлах CF, а расширение обновлений CFU.
Я понимаю, Ваша программа сравнивает две конфигурации и автоматизацию установки обновлений снятых с поддержки конфигураций не облегчает.
Не совсем понятно, как этим пользоваться… Даже из картинок. Но все равно плюс — за идею и старания!
А так то… Когда делаю сравнение-объединение конфигураций при просмотре модулей по процедурам, мне бы возможность выбрать КАКИЕ ПРОЦЕДУРЫ замещать, а какие — нет… но «галочки» не снимаются, видимо, 1С этого не умеет. И приходится замещать или весь модуль или «копи-пастить» вручную =(
Поясню, как я использую программу:
1. Обновляю одну, не снятую с поддержки базу и выгружаю конфигурацию в файл 1cv8.cf
2. Теперь надо обновить несколько баз клиентов, для этого заранее настраиваю программу 1Config для каждой базы и создаю несколько bat файлов.
3. Настраиваю планировщик заданий и ночью запускаю батники. Таким образом все базы обновляются, а также вносятся необходимые изменения в конфигурации.
(2) DrAku1a,
В окне сравнения нужно выбрать модуль, и в колонке «Режим объединения и порядок подчиненных объектов» указать по-процедурное обновление (нажать справа в строке кнопку «Открыть» — значок «лупа»).
Тогда откроет новое окно сравнения модулей и разрешит указывать, какие процедуры не обновлять, с выбором таких процедур галочкой.
(3) Alexa27,
Ни 1С, никто либо другой не может написать автоматическое сравнение двух кусков кода или двух интерфесов форм между собой и их корректное объединение при автообновлении.
Все нужно делать вручную. А если нет пересечений — то есть фильтр по дважды измененные при объединении и по-процедурное обновление модулей.
так что такая обработка не имеет смысла.
(4) Не знал. Спасибо! Круто! Действительно, остальное уже автоматизации не поддается…
(5) AlexO,
Смысл в том, что программа не обьединяет конфигурации и не сравнивает, а загружает из файла чистую обновленную конфу сверху. Код вставляется в текстовый файл модуля, причем только тогда, когда модуль обновился. Для интерфейсов форм я сделал другую программу на скриптах, но пока не пригодилась.
(4) AlexO,
А что делать, если процедуру надо обновить, опять руками делать?
Чет не совсем понятно какой алгоритм вставки изменений? Переписывает весь модуль на измененный, маркеры какито или анализирует чегото? мб исходники выложишь заодно?
(9) Жолтокнижниг.
Все правильно, измеяется текстовый файл модуля, потом этот модуль переписывается в конфе.
Исходники выложу позже, когда доделаю все что задумал.
что-то я не совсем понял
— обновление конфигурации базы данных;
у Вас свой синтакс-анализатор языка 1С реализован? и свои алгоритмы реструктуризации таблиц?
(11) artbear, кстати, исходники уже выложены. видимо, у автора больше нет возможности уделять должное время проекту
а, всё, понял, все действия выполняются через вызов конфигуратора с командной строкой
Тоже находил раньше этот проект, не понадобился.
А сегодня умышленно отыскал.. буду тестировать.
Спасибо!
Инструкция по использованию в стиле «Приложите бубен к монитору, у вас получиццо»