Методика и инструменты полуавтоматического обновления конфигураций 7.7 до типовой версии с сохранением модификаций

01.03.18

База данных - Инструменты администратора БД

Данная публикация описывает методику и предоставляет инструменты для полуавтоматического обновления модифицированных типовых конфигураций 1С Предприятие 7.7 (версий ПРОФ) до типовых с сохранением модификаций. В данной методике не используются системы контроля версий. Update. 2018/01/23. В связи с переездом на x64 модифицирована часть файлов.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
update77.zip
.zip 395,48Kb ver:1.5
2
2 Скачать (1 SM) Купить за 1 850 руб.

Благодарности

Благодарю Федора Езеева за создание и распространение такой утилиты, как GComp (http://1c.alterplast.ru/gcomp/);

Алексея (alexqc) за создание и распространение утилиты ConfStarter (//infostart.ru/public/14304/);

Ларри Уолла за создание языка программирования PERL и PERL-сообщество, продолжающее его развивать;

Авторов таких утилит, как diff и diff3 и тех, кто перенёс эти утилиты на платформу windows http://gnuwin32.sourceforge.net/packages/diffutils.htm

https://github.com/emanspeaks/Diffutils64 - версия для x64, без установщика. Я ставил x86 (ссылка выше), затем заменил бинарники в Program Files

Компанию ActiveState за windows-версию PERL 5 (http://www.activestate.com/activeperl)

Обновление

2018/01/23. В связи с переездом на x64 модифицирована часть файлов.

Добавлен конфигурационный файл vars.bat, содержащий ссылки на исполняемые файлы 1c и unrar.exe

Предисловие

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

Методика разработана в 2009 году и используется по сегодняшний день практически без изменений. С её помощью обновляются программы 1С Бухгалтерия 7.7, УСН, Зарплата и Кадры. Обновление занимает 15-20 минут с использованием RAM-диска.

Методика основана на трехстороннем сравнении 3-х конфигураций: Типовой, модифицированной Типовой и новой Типовой.

Методика основана на следующих принципах:

1. Обновление реквизитов, форм и таблиц осуществляется стандартным методом объединения 1С

2. Объединение текстов модулей производится методом diff3 с последующей автоматической зачисткой конфликтов 1с.orig <-> 1c.new, так как они не содержат модификаций.

3. Если форма или таблица не подвергались модификации, то принудительно подставляется форма 1C.new.

4. Контроль конфликтов осуществляется через Полный синтаксический контроль. Diff3 выделяет знаками "<", "|", ">" части текста, которые менялись и в новой типовой и в модифицированной. А эти знаки, сами по себе, не являются кодом встроенного языка 1С.

 

Методика основана на следующих инструментах:

1. Набор bat-скриптов, автоматизирующих основные этапы обновлений.

2. Утилита GComp для разборки/сборки MD-файла

3. Утилита ConfStarter для автоматического обновления результирующей базы обновлённым MD-файлом

4. Утилит diff и diff3 для сравнения текстовых файлов и автоматического внесения правок.

5. Набора PERL-скриптов, осуществляющих автоматизирующих процесс  сравнения и склейки модификаций.

Утилиты тестировались в среде x32 и x64. Рекомендуется, при необходимости, исправить явно указанные пути в vars.bat.

Начало

1. Установить ActivePerl версии 5.

1.1. Убедиться в ассоциации файлов .pl с файлом perl.exe.

2. Установить DiffUtils for Windows.

2.1. Убедиться, что утилиты доступны через переменную окружения PATH.

3. Установить UnRAR for Windows (http://www.rarlab.com/rar_add.htm)

4. Скачать и установить утилиты GComp и ConfStarter. Убедиться, что пути к ним есть в переменной окружения PATH

5. Скачать архив с утилитами update77.zip.

Методика

Термины

1с.ORIGinal. Типовая конфигурация, на которой базируется модифицированная.

1c.NEW. Типовая конфигурация, до которой обновляем.

MODified. Промежуточная конфигурация, используемая для обновления форм и таблиц.

original. Модифицированная конфигурация. Которую обновляем.

work. Рабочая конфигурация, в которой происходит склейка

result. Результирующая конфигурация. Результат обновления до типовой с сохраненим модификаций.

Порядок обновления

1. Создать папку c:\update

2. Распаковать в c:\update\ файлы архива update77.zip

2.1. Отредактировать пути в файле vars.bat

3.1 Запустить файл prepare1.5.bat. Будут созданы каталоги и скрипт ставится на паузу

+old
+1c.XXX
+1c.YYY
 

3.2. В этом месте нужно скопировать MD файл (или базу) обновляемой конфигурации в каталог OLD.

3.3. В каталог 1c.XXX нужно скопировать MD файл Типовой конфигурации, на которой базируется модифицированная. Должен быть оригинальный файл MD для ПРОФ версии. С Базовой GComp не работает. Каталог можно переименовать в 1C.<Номер версии>. Например, 1С.262

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

3.4. В каталог 1c.YYY нужно скопировать MD файл Новой Типовой конфигурации.

Должен быть оригинальный файл MD для ПРОФ версии. Каталог можно переименовать в 1C.Номер версии. Например, 1С.270

3.5. Нажать Enter в окне скрипта.

3.6. Запустится Конфигуратор для каталога  c:\update\WORK.

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

 

3.7. Скрипт делает технологические каталоги и копии. Распаковывает src.rar в подкаталог src

+old
+1c.XXX
+1c.YYY
+result
+work
+src
 +1c.new
 +1c.original
 +modified
 +work
 +original

3.8. Жмём Enter. Скрипт закрыватся.

4. Заходим в src и запускаем 0.make.bat. Ждём паузы ("Для продолжения нажмите любую клавишу...")

5. Запускаем Конфигуратор в каталог c:\update\result. Делаем полный синтаксический контроль. При обнаружении ошибок на знаки "<", "|", ">" анализируем текст конфикта и правим код.

Обновление завершено. Дальше - работа напильником. Правка форм и таблиц.

Дополнения, баги и фичи

1. Предполагается, что 1С установлена в c:\Program Files\1cv77\BIN\1cv7.exe. Если исполняемый файл 1С отличается, то необходимо исправить это в файле 7.update.result.bat и вернуть его обратно в src.rar

Все настройки к исполняемому файлу 1С и UnRar хранятся в файле vars.bat

2. При частых обновлениях, возможно наложение нескольких безимянных групп на формах объектов (например, форма элемента Справочник.Сотрудники в ЗиК).

3. При обновлении в режиме объединения, 1С делает следующие "косяки":

3.1. Если MOD-реквизит был неограниченной длины, а в 1C.NEW-типовой - ограниченной, то 1С поставит ограниченную длину, что чревато потерями данных.Тоже касается длины Наименования справочника, если она была увеличена по сравнению с типовой.

3.2. То же касается констант.

3.3. Не сохраняется Ввод на основании.

3.4. Не сохраняется Периодичность номера документа ("В пределах года" и т.д.)

4. Для 1С Бухгалтерии у документа ПоступлениеМатериалов возможно "пропадание" двух текстовых колонок в МЧ, из-за того, что GComp выгружает их с одинаковым идентификатором (Себестоимость и ВсегоСебестоимость). Наличие бага проверяется простым открытием формы документа после обновления. Исправляется воссозданием колонок.

5. При изменениях в типовых печатных формах возможно дублирование печатных форм (т.е. 1С.NEW форма + модифицированная). Связано с внутренними идентификаторами.

6. В каталоге src создаются 2 лог-файла объединения форм:
result. Содержит указание метода подмены модулей с путями (если объединение кода не требуется, а код модуля не менялся)
result2. Содержит указание форм, возможно, требующих проверки. Значит форма менялась и 1С и Вами.

Исправления

1. По досадному недоразумению в первую публикацию ошибочно был залит тестовый файл prepare1.2.bat

В нём нужно заменить (строки 23-28)

xcopy /y /e old\*.* result\
for /F %%A in ('dir /on /b 1c.*') do (
copy /y %%A\1cv7.md work\
goto NEXT2
)
:NEXT2

на

xcopy /y /e old\*.* result\
xcopy /y /e old\*.* work\

Исправленный файл в архиве перезалит

2. Добавлен конфигурационный файл vars.bat, содержащий пути к 1c и unrar.

Стартовый файл переименован в prepare1.5.bat

v77 v7 7.7 обновление модифицированных конфигураций автоматизация обновления конфигураций

См. также

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

18.02.2022    4011    0    igor7777    6    

2

Инструменты администратора БД Программист Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5875    2    CheBurator    3    

2

Журнал регистрации Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11555    phsin    20    

28

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15858    4    devlabnn    2    

6

Инструменты администратора БД Бухгалтер Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3851    1    Genyak    1    

0

Инструменты администратора БД Системный администратор Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    28034    19    tux    3    

1

Инструменты администратора БД Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    37100    rudjuk    21    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dime2 28 15.04.15 23:44 Сейчас в теме
В первичную публикацию вкралась досадная ошибка. Был вложен неверный файл prepare1.2.bat (являвшийся экспериментальным)
Правильный файл prepare1.4.bat прилагается
Прикрепленные файлы:
prepare1.4.bat
2. dime2 28 23.01.18 00:38 Сейчас в теме
Обновление от 2018/01/23. Доработана возможность быстрой настройки.
Исправленные файлы прилагаются.
Прикрепленные файлы:
update77.1.5.zip
Оставьте свое сообщение