&ИзменениеИКонтроль - это самый геморный способ применения изменений в расширении!
Это не тот случай, когда точечно внес изменения и при изменении в основной конфигурации другого кода, измененный будет работать.
Это тот случай, когда при изменении кода в основной конфигурации будет выходить ошибка: "Текст модуля ... изменился".
Есть 2 варианта поймать ошибку:
- При запуске клиента и выполнении метода. Обычно об этом нам сообщает пользователь.
- При выполнении команды "Проверка возможности применения" в списке конфигураций.
Последний вариант срабатывает при соблюдении 2 условий:
- Основная конфигурация находится на поддержке
- Используется внешняя программа сравнения, желательно KDiff3.
Для выполнения второго условия надо предварительно скачать и установить эту программу.
Потом надо зайти в конфигураторе в Сервис / Параметры. На вкладке "Сравнение/Объединение" выбрать внешнюю программу KDiff3, нажать кнопку "Изменить" и указать путь к исполняемому файлу.

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

После этого перезайти в программу и применить команду "Проверка возможности применения".
В этом случае проверка покажет, что есть расхождения в тексте метода из поставки и в тексте метода в расширении. С помощью этой программы можно получить итоговый текст метода.
Во всех остальных случаях ошибка выйдет при непосредственном использовании метода из расширения.
Как правильно использовать &ИзменениеИКонтроль.
Если уж решились на такое непотребство, то надо запомнить главное правило:
Исправленный код должен максимально совпадать и исходным. Т.е. никаких лишних пробелов и пустых строк.
То, что надо удалить обрамляем тэгами:
#Удаление
...
#КонецУдаления
То, что надо вставить обрамляем тэгами:
#Вставка
...
#КонецВставки
Например было::
бла-бла-бла1;
бла-блабла2;
бла-бла-бла3;
стало:
бла-бла-бла1;
#Удаление
бла-блабла2;
#КонецУдаления
#Вставка
новое бла-бла-бла2;
#КонецВставки
бла-бла-бла3;
Обращаем внимание:
- между началом тэга и предыдущей строкой нет лишних символов.
- между конечным и начальным тэгом нет лишних символов
Между началом и концом тэга Вставка может быть все что угодно, но снаружи ничего лишнего.
То, что в удалении строго соответствует тексту в основной конфигурации.
|