Таким образом, мы заменили текст предупреждения на свой. При этом весь остальной код процедуры будет контролироваться платформой при обновлении конфигурации. И еще хотели бы отметить еще один момент. Если Вы получаете ошибку вида:
{Дополнение ОбщийМодуль.НоменклатураКлиент.Модуль(5,3)}: Ожидается оператор препроцессора
#<<?>>Удалить (Проверка: Тонкий клиент)
Это значит Вы используете неверные операторы препроцессора. В своих пресс-релизах 1С объявило об одних наименованиях, а сделали по другому). Ну ничего — мы быстро адаптируемся!
Спасибо!
Есть какое нибудь объяснение почему данная возможность применяется только в процедурах? Мне как раз необходимо доработать функцию, но механизм не работает, хотя на сайте ИТС пример демонстрируется как раз на функции
Добрый день, Евгений. Спасибо что обратили на это внимание. Пересмотрели возможность использования аннотации ИзменениеИКонтроль в платформе 8.3.16 — ограничений на использование аннотации в функциях нет. Из справки:
«Для процедур можно указать один из четырех вариантов аннотаций, а для функций — только &Вместо или &ИзменениеИКонтроль».
Спасибо. В расширении с назначением «Дополнение» будет работать?
Добрый день! Привязки функционала к назначению расширения нет. Подробно про назначение можно прочитать тут https://tnsoft.ru/blog/naznachenie-rasshireniya-konfiguratsii-pravilnyj-vybor-varianta/
Добрый день. Добавил следующий код в расширение
#Вставка
Запрос.УстановитьПараметр(«ОтражатьФактурнуюСтоимость», Ложь);
#КонецВставки
При проверке применимости возникает ошибка:
Ошибка применения модуля «Расширение1 Документ.ГТДИмпорт.МодульМенеджера». Текст модуля для метода «ПодготовитьПараметрыПроведения» изменился
Я только позаимствовал эту функцию и добавил пару строк. Что еще я делаю не так?
Добрый день, Николай. Проверьте внимательно текст доработанной процедуры (функции) — возможно, случайным образом Вы внесли другие изменения. Также возможен вариант некорректного переноса метода в расширение.
Ошибка в том, что препроцессоры должны быть без пробелов вначале, а у вас там видимо пробелы стоят
Добрый день
Что произойдёт, если при &ИзменениеИКонтроль изменить имя одного из входных параметров процедуры?
Его будет изменять при обновлении и надо будет обратно каждый раз править?
Можно ли в строке Процедура … () обрамить #Вставкой этот параметр? Или же это будет некорректно с точки зрения использования команд предпроцессора?
Добрый день!
Сомневаюсь что с помощью данной аннотации можно изменять имена параметров процедуры. Если у Вас есть другая информация — опишите в комментариях. Это будет полезно и другим программистам.
Юзаю пока старое доброе «&Вместо», с этим потому что возникают непонятные ошибки на ровном месте. Пока что разбираться нет времени, но при каждом обновлении релиза базы — расширения слетали в вот этих самых контролируемых процедурах
Хотя вроде как бы эти процедуры 1С — никами даже и не трогались. Приходилось заново переписывать код в расширение который в #Вставка и #Удаление, и теряется весь смысл этого механизма, с «Вместо» проблем никаких при этом
Поддерживаю. У меня тоже при каждом обновлении слетает этот функционал, хотя проверка применимости не ругается. Может есть какой то секрет, что бы все работало при обновлении?)
Приведенный пример не будет работать! Любой добавленный символ (в том числе пробелы и переводы строк) вне «тегов» приведет к тому, что расширение будет молча игнорироваться, а выполняться будет оригинальный код. Слово «Контроль» является большим преувеличением. Фактически о проблеме можно узнать только в конфигураторе, запустив проверку возможности применения. Иначе можно думать, что расширение работает (потому что ошибок нет), а оно не работает.