Приветствую Вас ГостьСуббота, 14.06.2025, 06:43

Каталог статей


&ИзменениеИКонтроль

&ИзменениеИКонтроль - это самый геморный способ применения изменений в расширении! 

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

Это тот случай, когда при изменении кода в основной конфигурации будет выходить ошибка: "Текст модуля ... изменился".

Есть 2 варианта поймать ошибку:

  1. При запуске клиента и выполнении метода. Обычно об  этом нам сообщает пользователь.
  2. При выполнении команды "Проверка возможности применения" в списке конфигураций. 

Последний вариант срабатывает при соблюдении 2 условий:

  1. Основная конфигурация находится на поддержке
  2. Используется внешняя программа сравнения, желательно KDiff3.

 Для выполнения второго условия надо предварительно скачать и установить эту программу.

Потом надо зайти в конфигураторе в Сервис / Параметры. На вкладке "Сравнение/Объединение" выбрать внешнюю программу KDiff3, нажать кнопку "Изменить" и указать путь к исполняемому файлу.

Так же надо не забыть указать KDiff3  в группе свойств "Обновление конфигурации на поддержке и актуализация расширения конфигурации". 

После этого перезайти в программу и применить команду "Проверка возможности применения".

В этом случае проверка покажет, что есть расхождения в тексте метода из поставки и в тексте метода в расширении. С помощью этой программы можно получить итоговый текст метода.

Во всех остальных случаях ошибка выйдет при непосредственном использовании метода из расширения.

Как правильно использовать &ИзменениеИКонтроль.

Если уж решились на такое непотребство, то надо запомнить главное правило:

Исправленный код должен максимально совпадать и исходным. Т.е. никаких лишних пробелов и пустых строк.

То, что надо удалить обрамляем тэгами:

#Удаление
... 
#КонецУдаления

То, что надо вставить обрамляем тэгами:

#Вставка
...
#КонецВставки

Например было::

бла-бла-бла1;
бла-блабла2; 
бла-бла-бла3;

стало:

бла-бла-бла1;
#Удаление
бла-блабла2; 
#КонецУдаления
#Вставка
новое бла-бла-бла2; 
#КонецВставки
бла-бла-бла3;

Обращаем внимание:

  • между началом тэга и предыдущей строкой нет лишних символов.
  • между конечным и начальным тэгом нет лишних символов

Между началом и концом тэга Вставка может быть все что угодно, но снаружи ничего лишнего.

То, что в удалении строго соответствует тексту в основной конфигурации.

 

Категория: Программирование | Добавил: leshic (16.04.2025)
Просмотров: 14 | Рейтинг: 0.0/0
Всего комментариев: 0
Вход на сайт
Поиск
Категории раздела
СКД [51]
Регистры [7]
Формы [47]
Администрирование [46]
Запросы [11]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [46]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0