Uploaded by yagee12

Использование внешних программ при обновлении 1С

advertisement
Повышение производительности
обновления типовых конфигураций
1С с использованием внешних
программ
Платформа 1С: Предприятие 8.3.6
• Внешние программы
• План вебинара
• Для чего нужны внешние программы
• Внешние программы – установка и настройка;
• Что такое двустороннее и трёхстороннее объединение;
• Демонстрация и сравнение внешних программ по
возможностям, стоимости и удобству в работе;
• Примеры использования внешних программ для увеличения
эффективности выполнения обновлений типовых конфигураций
1С.
• Для чего нужны внешние программы
• Типовая система сравнения и объединения модулей 1С
• Плюсы
• Автоматически объединяет при единичном изменении
модуля (демонстрация);
• Фильтр по «дважды изменённым» модулям (демонстрация);
• Умеет объединять по процедурам (демонстрация);
• Возможность редактировать конечный текст модуля в
процессе сравнения и объединения (демонстрация);
• Минусы
• В автоматическом режиме воспринимает модуль, как единое
целое;
• Объединение по процедурам только в ручном режиме;
• Не поддерживает трёхстороннее объединение.
• Для чего нужны внешние программы
• Внешние программы
•
•
Плюсы
• Поддерживают трёхстороннее объединение;
• Поддерживают автоматическое трёхстороннее объединение;
• Воспринимают модуль, не как единое целое, а как набор строк
программного кода;
• Возможность редактировать конечный текст модуля в процессе сравнения
и объединения.
Минусы
• Не умеют объединять по процедурам;
• Иногда зависают при определении конфликтов;
• В неавтоматическом режиме требуют открытия окна сравнения и
объединения, даже если нет конфликтов;
• Автоматический режим есть не во всех внешних программах;
• Платформа 1С: Предприятие пока не умеет запускать внешние программы
в автоматическом режиме на этапе первичного сравнения и объединения;
• Для чего нужны внешние программы
• Оптимальная комбинация возможностей стандартного
сравнения и объединения от 1С и внешних программ
•
•
Стандартная подсистема
• При «единичном» изменении модуля (или только в текущей
конфигурации или только в новой конфигурации поставщика) – не
будут открываться дополнительные окна;
• При сложном сравнении и объединении по процедурам – если
поставщик сильно изменил состав и названия процедур и функций и
внешние программы не справляются с таким набором изменений;
• При зависании внешних программ;
Внешние программы
• Во всех остальных случаях. То есть, если модуль был изменён и в
текущей конфигурации и в новой конфигурации поставщика, то по
умолчанию пробуем внешнюю программу (демонстрация).
• Для чего нужны внешние программы
• Выявление ошибок
• В процессе выполнения обновления, как
с использованием стандартной
подсистемы, так и с использование
внешних программ, возможно
появление ошибок;
• Для поиска таких ошибок необходимо
выполнить полную проверку модулей.
• Внешние программы
• Справочная информация на сайте its.1c.ru
Описание настройки параметров внешних
программ
http://its.1c.ru/db/v83doc#bookmark:dev:TI000001471
Описание механизма сравнения и
объединения конфигураций
http://its.1c.ru/db/v83doc#bookmark:dev:TI000001537
• Внешние программы
• Список внешних программ, для которых в платформе
1С:Предприятие 8.3.6 имеются настройки по умолчанию
• Araxis Merge
ссылка для загрузки
• DiffMerge
ссылка для загрузки
• KDiff3
ссылка для загрузки
• TortoiseMerge
ссылка для загрузки
• Perforce P4Merge
ссылка для загрузки
Для использования внешних программ в процессе «Сравнение/объединение» конфигуратора,
необходимо их загрузить, установить и указать пути к исполняемым файлам.
• Внешние программы
• Указание путей к исполняемым файлам внешних
программ после загрузки и установки
• В конфигураторе выбрать пункт меню «Сервис» «Параметры»
• Внешние программы
• Указание путей к исполняемым файлам внешних
программ после загрузки и установки
• Нажать на кнопку «Изменить…»
• Внешние программы
• Указание путей к исполняемым файлам внешних
программ после загрузки и установки
• Указать путь к исполняемому файлу
• Внешние программы
• Указание путей к исполняемым файлам внешних
программ после загрузки и установки
Правильные пути к исполняемым файлам:
Araxis Merge
DiffMerge
KDiff3
TortoiseMerge
Perforce P4Merge
C:\Program Files\Araxis\Araxis Merge\Compare.exe
C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe
C:\Program Files\KDiff3\kdiff3.exe
C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
C:\Program Files\Perforce\p4merge.exe
• Внешние программы
• Настройка процесса сравнения и объединения
Режим «Взять из…», «Объединить с
приоритетом…» – установить в «Стандартный
способ»
позволит использовать стандартные возможности там, где
1С справляется полностью автоматически и не открывать
лишние окна;
Режим «Объединить с помощью внешней
программы» – установить выбранную внешнюю
программу, например «Perforce P4Merge»
Выбранную внешнюю программу можно поменять, если
нужно, прямо в процессе сравнения и объединения;
Устанавливать по умолчанию – не устанавливать!
Т. к. приведёт к открытию лишних окон в тех случаях, когда
1С справляется автоматически.
• Внешние программы
• Что такое двустороннее объединение
Есть текущий программный
код конфигурации:
Есть новый программный
код в новом релизе:
А = 2;
Б = 4;
В = 7;
А = 3;
Б = 5;
В = 7;
Алгоритм простого объединения работает с двумя вариантами программного кода:
Текущий
программный код
конфигурации
Новый
программный код
поставщика
Сценарий работы алгоритма двустороннего объединения при изменении программного кода поставщика:
Текущий программный код конфигурации (А = 2;)
отличается от нового программного кода поставщика
(А = 3;) и нужно принимать решение, как именно
применить новый программный код поставщика
• Внешние программы
• Что такое трёхстороннее объединение
Программный код
в релизе 1.0.1.1:
Мы изменили одну строку
программного кода:
Программный код
в релизе 1.0.1.2:
А = 1;
Б = 4;
В = 7;
А = 2;
Б = 4;
В = 7;
А = 3;
Б = 5;
В = 7;
Алгоритм трёхстороннего объединения работает с тремя вариантами программного кода:
Старый
программный код
поставщика
Текущий
программный код
конфигурации
Новый
программный код
поставщика
Два сценария работы алгоритма трёхстороннего объединения при изменении программного кода поставщика:
1. Текущий программный код конфигурации (Б =
4;) идентичен старому программному коду
поставщика (Б = 4;), значит никто ничего не
менял, можно применить новый программный
код поставщика (Б = 5;)
2. Текущий программный код конфигурации (А = 2;)
отличается от старого программного кода
поставщика (А = 1;), значит были внесены изменения,
и нужно принимать решение, как именно применить
новый программный код поставщика (Б = 5;)
• Внешние программы
• Преимущество трёхстороннего объединения перед
двусторонним
Трёхстороннее объединение:
А = 1;
Б = 4;
В = 7;
изменение есть
изменений не было
изменений не было
А = 2;
Б = 4;
В = 7;
решение принимает программист
решение принимается автоматически
ничего менять не нужно
А = 3;
Б = 5;
В = 7;
Двустороннее объединение:
Десятки, сотни и тысячи строк
программного кода в новых
релизах поставщика!
А = 2;
Б = 4;
В = 7;
решение принимает программист
решение принимает программист
ничего менять не нужно
А = 3;
Б = 5;
В = 7;
• Внешние программы
• Примеры на демонстрационной базе
• При наличии конфликта;
• При отсутствии конфликта;
• С использованием стандартных возможностей;
• Сложные случаи.
• Внешние программы
• Что такое автоматическое трёхстороннее объединение
Программный код
в релизе 1.0.1.1:
Мы изменили одну строку
программного кода:
Программный код
в релизе 1.0.1.2:
А = 1;
Б = 4;
В = 7;
А = 2;
Б = 4;
В = 7;
А = 1;
Б = 5;
В = 7;
Плюсы: Если при выполнении обновления программного кода конфликты не
обнаружены, то внешняя программа не будет открывать окно для контроля
программиста, а выполнит объединение полностью самостоятельно.
Минусы: Текущий сценарий использования внешних программ на платформе
1С:Предприятие 8.3.6 нивелирует возможности автоматического трёхстороннего
объединения.
• Внешние программы
• Сценарии выполнения обновления конфигурации на
новый релиз после открытия окна сравнения
Порядок
С использованием трёхстороннего
объединения
С использованием автоматического
трёхстороннего объединения
1.
Устанавливаем отбор по дважды изменённым
объектам – в текущей конфигурации и в
конфигурации поставщика
Устанавливаем отбор по дважды изменённым
объектам – в текущей конфигурации и в
конфигурации поставщика
2.
Сверху вниз просматриваем все изменённые
объекты
Сверху вниз просматриваем все изменённые
объекты
3.
Для всех изменённых объектов (формы,
реквизиты, модули, функциональные опции,
критерии отбора и т.д.) уделяем внимание
каждому конфликту. Для модулей используем
внешние программы.
Для всех изменённых объектов, кроме модулей
(формы, реквизиты, функциональные опции,
критерии отбора и т.д.) уделяем внимание
каждому конфликту. Внешние программы пока не
используем.
Запускаем процесс объединения
Запускаем процесс объединения и, если внешняя
программа не смогла выполнить объединение
автоматически, решаем конфликты в поочерёдно
открывающихся окнах
4.
• Внешние программы
• Сравнение возможностей внешних программ
• По данным сайта its.1c.ru http://its.1c.ru/db/v83doc#bookmark:dev:TI000001471
ОС
Сравнение
двух файлов
Объединение
двух файлов
Трёхстороннее
объединение
Автоматическое
трёхстороннее
объединение
Платная
Araxis Merge
Windows
+
+
+
-
+
(30 дней демо)
DiffMerge
Windows
+
-
+
-
-
KDiff3
Windows
Linux
+
+
+
+
-
TortoiseMerge
Windows
+
-
+*
-
-
Perforce P4Merge
Windows
Linux
+
-
+
-
-
Стандартное
сравнение и
объединение 1С
Windows
Linux
+
+
-
-
-
Внешняя программа
• Внешние программы
• Сравнение возможностей внешних программ
• По данным сайта its.1c.ru http://its.1c.ru/db/v83doc#bookmark:dev:TI000001471
Внешняя
программа
ОС
Краткое описание
Выводы
Windows
Платная программа. Продемонстрировать уже не
получится, т.к. прошли 30 дней бесплатного
использования.
Не использовать.
DiffMerge
Windows
Конфликты определяет корректно, но неудобный и
неочевидный интерфейс, с которым не удалось
разобраться. Регулярно требует пройти регистрацию.
Не использовать.
KDiff3
Windows
Linux
Конфликты определяет верно (100%). Работоспособность
и удобство использования на 4 по пятибалльной шкале
Использовать
TortoiseMerge
Windows
Хотя и позволяет выполнять трёхстороннее объединение,
но делает это каким-то хитрым способом (описание
способа, англ.)
Не использовать.
Perforce
P4Merge
Windows
Linux
Конфликты определяет почти всегда верно (90%).
Работоспособность и удобство использования на 5 по
пятибалльной шкале.
Araxis Merge
Использовать
• Внешние программы
• Примеры на реальных базах
• Объединение модуля стандартным способом и с
помощью внешних программ (KDiff3 и Perforce
P4Merge) – сравнение;
• Зависание при работе с конфликтами.
Download