Не работает проверка применимости расширения при использовании директивы "ИзменениеИКонтроль"

1. PythonJ 111 13.10.19 14:14 Сейчас в теме
Воспользовался в расширении новой директивой "&ИзменениеИКонтроль".
Директива отрабатывает правильно. В случае точного соответствия измененной функции/процедуры оригинальному тексту происходит подмена.
Если же добавить в модифицированный текст хотя бы одну строчку вне директив "#Вставка" - "#Удаление", то подмены не происходит, выполняется оригинальный метод. Проблема заключается в том, что вопреки методической документации, модификация игнорируется без каких-либо уведомлений. То есть если код оригинального метода не соответствует коду в расширении, то расширение остается подключенным, успешно проходит проверку применимости, но при выполнении отрабатывает текст из исходной конфигурации. В документации указано:
Как только разработчик конфигурации исправит ошибку (и расширяемая конфигурация будет обновлена), наше расширение перестанет выполняться с диагностикой следующего вида:

Расширение1: Обычная: Ошибка применения модуля "Расширение1 ОбщийМодуль.ОбщийМодуль1.Модуль". Текст модуля для метода "ВозведениеВСтепень" изменился
Если проверка применимости расширений выполняется в конфигураторе, то результатом проверки будет сообщение об ошибки и возможность восстановить соответствие с методом конфигурации.


Ничего подобного у меня не произошло. Никаких сообщений не выдалось ни в режиме конфигуратора, ни в режиме предприятия. Но модификация при этом отрабатывать перестала. В итоге работа ничем не отличается, от директивы "&Вместо", поскольку придется при каждом обновлении конфигурации вручную проверять модификацию и оригинал.
Возможно, я что-либо неверно делаю, или неправильно понял. Кто-нибудь пробовал пользоваться этой директивой и видел заявленную разработчиками реакцию конфигуратора при проверке расширения?
VladC#; user712426; Wrols; GAlexis; simgo83; Eillecho; AdmDsts; Tash.B; Nat_S; Mogilnikova; sapervodichka; +11 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. AlexandrSmith 68 13.10.19 19:44 Сейчас в теме
(1) Много есть проблем еще в расширениях. Есть еще "После", которое не отрабатывает после проведения, и после отмены проведения. К сожалению, пока в инете много подобных историй и разработчики негласно исправляют какие-то дефекты, а какие-то даже не пытаются.
11. sergey512 35 23.10.19 14:06 Сейчас в теме
(1) Какую версию платформы используете?
13. PythonJ 111 23.10.19 14:46 Сейчас в теме
3. PythonJ 111 13.10.19 22:24 Сейчас в теме
Вы прямо обнадежили...
4. stash_84 14.10.19 08:03 Сейчас в теме
(3) да, Вы бы попробовали обратиться в поддержу "1С", возможно включат Вашу ошибку в "Публикуемые ошибки" или ответят, что вопрос в разработке. Расширения ещё работают не по инструкции, к сожалению.
5. PythonJ 111 14.10.19 08:14 Сейчас в теме
(4) Обращусь, наверное. Хотел сначала спросить на форуме, возможно я что-либо неправильно понял и кто-то подскажет, что именно. Вообще, к ним обращаться - то еще развлечение. Уже пробовал как-то. Через недельку ответили "ошибка не воспроизведена", а между тем глюк в следующем релизе платформы исправили.
7. AlexandrSmith 68 14.10.19 14:55 Сейчас в теме
(5) Когда сталкиваюсь с проблемами расширений. Больше всего печалит:

1) Реквизиты не надежные.
2) Формы, откровенно говоря при обновлении почему-то меняют свои параметры, хотя должны полностью соответствовать форме в расширении.
3) Чисто логическая проблема - процедуры и функции лучше не вставлять целиком в расширение, так как сбои в работе конфигурации начинаются при изменении процедуры которая заменена, а ты ни сном ни духом.

Если вас такой расклад наведет на мысль, буду рад.

А пока я стараюсь просто обходить все эти "неучтенки" другими способами не связанными с расширениями.
8. PythonJ 111 14.10.19 21:14 Сейчас в теме
(7) Вроде как именно для решения логической проблемы за нумером 3 и сделали ИзменениеИКонтроль. Основной смысл - при обновлении основной конфы получить ошибку при проверке применимости. И именно это не отработало, как надо. Придется по старинке каждый раз проверять оригинальный код.
(6) К сожалению, как раз это - не песочница. В песочницах обычно необходимости в расширениях нету.
Eillecho; akocur; +2 Ответить
9. AlexandrSmith 68 14.10.19 22:16 Сейчас в теме
(8)
да вы правы я доисправлялся, что сам не заметил, как глупость вставил.

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

Вообщем я на такую штуку нарывался, решил сообщить.
16. sergey512 35 23.10.19 16:00 Сейчас в теме
(3) У меня в 8.3.15.1656 все работает. Добавляешь даже лишнюю пустую строку в не конструкций #Удаление #КонецУдаления или #Вставка #КонецВставки. Появляется ошибка и в конфигураторе при нажатии на "Проверка возможности применения" и в предприятии. На любой лишний пробел ругается вообщем.
Meaning0081; yuraskas; mrChOP93; Pavel791; CratosX; ASKiselev; criptid; natal_tihom; leonidol; CepeLLlka; boba13; user832824; Angealtor; +13 Ответить
17. PythonJ 111 23.10.19 16:09 Сейчас в теме
(16) А режимы совместимости основной/расширения какие?
18. sergey512 35 23.10.19 16:30 Сейчас в теме
(17)
Прикрепленные файлы:
6. VmvLer 14.10.19 10:00 Сейчас в теме
ИзменениеИКонтроль может и включено уже в финальные релизы, но все же это пока в статусе "неплохая идея".

при работе с расширениями я стараюсь использовать свое правило: в боевую базу входят только те механизмы расширений от финала которых прошло минимум полгода.
т.е., если ИзменениеИКонтроль зафиналили первый раз в августе, то где-то в феврале (в лучшем случае) я буду пробовать его "воткнуть" в боевую при условии, что ничто меня не будет смущать.

а бежать впереди планет всей можно и нужно в своих тестовых песочницах.
надеюсь автор именно в таких местах обнаружил баги и очень хорошо,
т.к. чем раньше и чаще пинать баг - тем больше вероятность, что будет "гол".
PythonJ; EVKash; +2 Ответить
45. Salavat 13 21.11.20 10:49 Сейчас в теме
(6)
а бежать впереди планет всей можно и нужно в своих тестовых песочницах.

Абсолютно согласен.
Также как и с тем, что - всё (включая и расширения) нужно применять к месту.
А не "потомучто это новое!"
Встречал я таких "современников", которые вместо элементарной Доп-Обработки ИзменениеТабличнойЧасти - сделали Отдельное Расширение.

И "убеждали" свою "правоту" именно этой "коронной" фразой -
"Это новая современная технология! И я никого слушать не буду, а буду делать, только так!"
10. Xershi 1473 17.10.19 09:09 Сейчас в теме
А вы режим совместимости конфигурации подняли?
Если нет, то нечего функции использовать на устаревших конфигурациях.
12. PythonJ 111 23.10.19 14:45 Сейчас в теме
(10) Нет, основная-то конфигурации не подняла еще. 8.3.12 стоит, основная - отраслевая, сделана на базе Бухгалтерии. Платформа 8.3.15. Если поменять режим совместимости расширения, оно не пройдет проверку применимости. Обещают, что можно будет в расширении поднимать режим совместимости выше основной, но для этого, насколько я понимаю, сама основная должна доползти до версии, где такую возможность реализовали. Вообще говоря, боюсь себе представить, как расширение будет работать при таком раскладе.
Просто сейчас сама директива отрабатывает именно так, как заявлено, не смотря на режим совместимости, то есть заходит в измененный код только когда он соответствует основной конфигурации. Возникло предположение, что проверка конфигурации тоже отработает, так как реализована в конфигураторе и, по идее, не должна обращать внимания на режим совместимости. А получилось ни два ни полтора. "Контроль" срабатывает, но молча. Полагаете, когда основная конфигурация доползет до 8.3.15, то все будет работать правильно?
Не подумал. Сделаю копию базы, сниму с поддержи, подниму совместимость и проверю. По результату напишу.
14. Xershi 1473 23.10.19 15:25 Сейчас в теме
(12) когда подымите до нужного уровня все у вас заработает. Если не на 1 релизе так на другом.
15. PythonJ 111 23.10.19 15:32 Сейчас в теме
Сейчас релиз платформы последний стоит, 8.3.15.1700. В боевой базе основную конфигурацию с поддержки в снимать не планируется, собственно почему и делаю расширениями. В виде эксперимента на копии попробую выровнять режим в потолок и в основной и в расширении и посмотрю, что получится.
19. aleksey.kubovtsov 116 25.12.19 10:15 Сейчас в теме
1С:Предприятие 8.3 (8.3.16.1063)
Бухгалтерия предприятия, редакция 3.0 (3.0.73.50)

ИзменениеИКонтроль
Отработал корректно, при условии, что не было лишних пробелов вне дериктивы
препроцессора #Вставка … #КонецВставки и #Удаление … #КонецУдаления
Сразу не заработал, были лишние пробелы перед дериктивой и после, как обычно делаешь отступы по коду
Обновление конф с данными механизмом еще не проводилось, посмотрим как себя поведет
примеры в скрине
Прикрепленные файлы:
20. shoy 19 17.02.20 14:59 Сейчас в теме
(19)
были лишние пробелы
так пробелы или всё же строки?
Kolesonik; +1 Ответить
22. aleksey.kubovtsov 116 19.02.20 13:09 Сейчас в теме
(20) пост 21 , пробелы , строки
21. z4z4z 50 18.02.20 18:01 Сейчас в теме
Решение такое
(специально тестил)

лишних строк ( в том числе пустых ) вообще в функции не должно быть ( в том числе в начале и в конце функции) , а также не убирать пустые строки ,которые есть в типовой функции

когда вставляете #Вставка … #КонецВставки и #Удаление … #КонецУдаления
тоже надо следить чтоб не до не после не было лишних пустых строк, и не убирать типовые пустые строки
GonziK_KIV; mrChOP93; user1477312; user1299321; Valerianich; Огонек; ASKiselev; criptid; mybracho; Grubly; tigcorp; kinoman; MihailP; +13 Ответить
23. kinoman 02.03.20 18:24 Сейчас в теме
(21) Всьо верно. Механызм работает
24. VN78 12.03.20 10:43 Сейчас в теме
(21)
Смысл директивы &ИзменениеИКонтроль как раз и заключается в том, что должна выводится ошибка в случае отклонения кода в расширении от кода в основной конфигурации. Если не использовать никаких лишних строк и пробелов, тогда код будет выполнятся, но при изменении кода поставщиком код расширения перестанет исполнятся и программист при обновлении не получит никакого сообщения.

У меня был момент, когда при использовании директивы &ИзменениеИКонтроль программа выдала ошибку о том, что в программе несоответствие кода, но потом сообщение перестало выводиться.

Вывод: код отрабатывает до момента изменения кода в конфигурации поставщика, как только поставщик изменит код директива &ИзменениеИКонтроль перестанет отрабатываться, следовательно директива не отрабатывается так, как заявлено.
BarsukM; akocur; +2 Ответить
56. ASKiselev 3 14.07.21 09:53 Сейчас в теме
(24) Просто после обновления желательно делать проверку конфигурации во всех расширениях. Конечно вылезет много ошибок, которые таковыми не являются, зато и реальные отличия конфигурации поставщика будут видны.
25. tigcorp 3 30.03.20 20:59 Сейчас в теме
(21) А еще никаких тонкостей не находили? Пробую у клиента поменять одну процедуру модуля документа объекта и одну функцию общего модуля. Вот функцию победил,а процедура упорно ругается на несоответствие кода. Ради теста полностью очистил модуль расширения, повторно добавил в расширение с директивой "Вызывать вместо (с контролем) и запустил (без вноса каких-либо правок). Все - равно ошибку выдает.
Помимо в расширение добавлены 2 реквизита и табличные части (только наименования без наполнения. в коде идет наполнение этих таблиц. может быть в них дело?
Если полностью очищаю модуль документа объекта в расширении, то ошибок не бьет.
55. criptid 06.07.21 21:08 Сейчас в теме
(21)
надо следить чтоб не до не после не было лишних пустых строк, и не убирать типовые пустые строки
Помогло, спасибо
26. Xershi 1473 30.03.20 23:33 Сейчас в теме
Какие есть нюансы.
1. Не переносит переменные.
2. Не должно быть лишних пробелов и строк.
3. Режим совместимости выше 8.3.10 по идее, а платформа 8.3.15+.
Если не понятно в чем проблема, то берете программу для сравнения текстов. Я пользуюсь винмердж.
И сравниваете все посимвольно.
Находите отличие и исправляете руками.
Kolesonik; +1 Ответить
28. Xershi 1473 03.04.20 15:23 Сейчас в теме
На 1С:Предприятие 8.3 (8.3.16.1063)
Как не пытался экспортная клиентская процедура не меняется.
Если не вносить правок работает)) Но как я понял это косяк должны исправлять.
В итоге плюнул и сделал через вместо по старинке.
29. SunStroke 27.05.20 14:44 Сейчас в теме
(28) Судя по всему, баг платформы - "Расширение методов конфигурации с помощью аннотации ИзменениеИКонтроль не работает, если вызов метода происходит на клиенте." По заверениям 1С, исправлено в 8.3.18, 8.3.15.1958, 8.3.16.1296, 8.3.17.1386
30. wokituk 17 30.05.20 02:15 Сейчас в теме
Может зависеть от режима совместимости основной конфигурации (и режима совместимости расширения) (скорее всего, если ниже 8.3.15, то не будет срабатывать "ИзменениеИКонтроль")
31. hottion 83 09.07.20 18:39 Сейчас в теме
В параметрах расширения выставите галочки и поедет) сам долго пытался понять почему в одном расширении у меня заработало а в другом нет, пока не обнаружил связь ) после выставления галочек сделайте изменения в расширении(пробела будет достаточно) и примите их. После чего все работает)
Прикрепленные файлы:
user1477312; CratosX; +2 Ответить
32. Alfn 59 09.07.20 19:56 Сейчас в теме
(31) а если мне не надо безопасный режим, как тогда быть?
38. hottion 83 10.07.20 10:24 Сейчас в теме
(32) вот именно что снимаете все галочки как на скриншоте. у нас платформа 8.3.15.1830, и такая комбинация срабатывает.
33. Xershi 1473 09.07.20 20:15 Сейчас в теме
Поставили 8.3.17 и забыли, что это такое.
34. EVKash 14 10.07.20 08:24 Сейчас в теме
35. Xershi 1473 10.07.20 09:08 Сейчас в теме
(34) вы не умеете ставить платформу?
36. EVKash 14 10.07.20 09:14 Сейчас в теме
(35) смешно)
о чем забыли?
о проблеме и все работает как должно?
или о директиве "&ИзменениеИКонтроль"? что-то новое в 17й появилось?
37. Xershi 1473 10.07.20 09:16 Сейчас в теме
(36) все работает.
В определённых моментах не работало пока спецы 1с не поправили по баг репортам.
39. Alfn 59 10.07.20 18:25 Сейчас в теме
(37) при определенных моментах при наличии ИзменениеИКонтроль в расширениях, невозможно обновить конфу... и на 17-й платформе в том числе
Был опыт неделю назад. Пока не вынес все эти криворукожопосделанные вставки и удаления, ни в какую не обновлялось... такая вот проза (((
40. Xershi 1473 10.07.20 18:59 Сейчас в теме
(39)неделю назад у вас не мог быть актуальный релиз. Вышел с беты 7 числа.
41. Alfn 59 11.07.20 06:31 Сейчас в теме
(40) а это?
Прикрепленные файлы:
46. Xershi 1473 21.11.20 13:32 Сейчас в теме
(41) так я же писал актуальный. А актуальный это через 3 дня с фиксом!
А так уже давно 8.3.18.
42. shved 26.10.20 07:56 Сейчас в теме
Мож кто знает как после обновления найти все "Текст модуля для метода "" изменился" ? Проверки пименимости проходят, но режиме юзеров начинают вылазить Текст модуля для метода "" изменился.
Модули в расширении через &ИзменениеИКонтроль.
В идеале при обновлении основной конфы - обновлялись бы и куски кода оставшиеся оригинальными в расширении
blandinko; vv2; +2 Ответить
43. GV. 1 12.11.20 19:59 Сейчас в теме
Это просто полнейшая феерия!!!
Система вообще игнорирует фукнцию в расширении с директивой "&ИзменениеИКонтроль", если в основной конфигурации в строке объявления метода есть перенос строки!

НЕ БУДЕТ РАБОТАТЬ для метода в основной конфигурации:
Функция ВариантыОтветовДляВыполненияЗадачиПоПочте(
	ЗадачаСсылка,
	БизнесПроцессСсылка,
	ТочкаМаршрута) Экспорт
	
	Результат = Новый Структура;
	...
КонецФункции


Но БУДЕТ РАБОТАТЬ для метода основной конфигурации:
Функция СформироватьТекстУведомленияПоЗадачеСВозможностьюВыполненияПоПочте(ЗадачаСсылка, ПолучательУведомления) Экспорт
	
	// Получение файлов предметов задачи
	Предметы = МультипредметностьКлиентСервер.ПолучитьМассивПредметовОбъекта(ЗадачаСсылка);
	...
КонецФункции


Вывод: в моем случае я разрешил редактирование модулей и подкорректировал объявление необходимых методов без переноса строк как во втором представленном выше варианте. После этого переопределение методов в расширении с директивой "&ИзменениеИКонтроль" заработало как следует.
44. GV. 1 12.11.20 21:56 Сейчас в теме
Дополнение:
1. Последующее изменение модуля основной конфигурации на исходный отрабатывает правильно: в режиме предприятия выводится уведомление об изменении соответствующего метода.
2. Вывод в (43) - это не единственное и не лучшее решение. Если вручную полностью скопировать метод, объявляемый в несколько строк (первый случай упомянутый в (43)) вместе со строкой, которая его объявляет, то механизм "&ИзменениеИКонтроль" также работает корректно, код переопределенного метода выполняется.

Данный метод в расширении успешно переопределит метод основной конфигурации:

&ИзменениеИКонтроль("ВариантыОтветовДляВыполненияЗадачиПоПочте")
Функция MY_ВариантыОтветовДляВыполненияЗадачиПоПочте(
	ЗадачаСсылка,
	БизнесПроцессСсылка,
	ТочкаМаршрута) Экспорт
	
	Результат = Новый Структура;
	...
КонецФункции
Показать
47. Xershi 1473 21.11.20 13:33 Сейчас в теме
(43) следует указывать релиз платформы и ответ от ТП 1С.
48. GV. 1 04.12.20 16:32 Сейчас в теме
(47) В ТП не писал, т.к. все-таки можно добиться желаемого. Полагаю, что этим заниматься не будут, ведь есть проблемки и посерьезнее... =)

1С:Предприятие 8.3 (8.3.15.1830)
49. Xershi 1473 04.12.20 16:36 Сейчас в теме
(48) я уже последнюю 8.3.18 тестирую.
50. Cvetic 307 22.12.20 13:32 Сейчас в теме
https://its.1c.eu/db/v8315doc#bookmark:dev:TI000002149
Если проверка применимости расширений выполняется в конфигураторе, то результатом проверки будет сообщение об ошибки и возможность восстановить соответствие с методом конфигурации.
Для восстановления следует нажать гиперссылку в колонке Действие. В результате будет открыта форма трех-стороннего объединения модуля. В объединении будут участвовать:

● Оригинальный текст метода, который был в расширяемой конфигурации. Файл будет иметь имя ИмяМетод_RESTORED_.

● Текст метода из расширения (с директивами препроцессора). Файл будет иметь имя ПрефиксРасширенияИмяМетода.

● Текст метода, который сейчас находится в расширяемой конфигурации. Файл будет иметь имя ИмяМетод.

Результат объединения будет помещен в расширение. Если в конфигурации не настроено использование внешней программы для трехстороннего объединения ‑ восстановить соответствие с методом конфигурации будет невозможно. Внешняя программа, необходимая для объединения, указывается в свойстве Режим "Объединить с помощью внешней программы" в диалоге настройки параметров конфигуратора (Главное меню ‑ Сервис ‑ Параметры ‑ Сравнение/объединение ‑ группа Модули ‑ группа Обновление конфигурации на поддержке и актуализация расширения конфигурации). Это свойство не должно быть установлено в значение Не использовать.

То же столкнулась с проблемой, что расширение перестало работать. На сайте ИТС нашла эту статью. Возможно дело в том, что не настроено использование внешней программы для трехстороннего объединения. Только не понятно как настраивать ))
proger1c81; sergkushkov; vvh74; +3 Ответить
51. Dmitry888 37 13.01.21 16:04 Сейчас в теме
Долго мучился с этой директивой и в итоге пришлось изменять конфигурацию.
lefthander; +1 Ответить
52. lefthander 13.01.21 16:52 Сейчас в теме
(51)А я вообще решил отказаться от расширения, потихоньку все перетаскиваю в основную конфу... ;)
53. shoy 19 03.02.21 15:33 Сейчас в теме
(52)
А я вообще решил отказаться от расширения, потихоньку все перетаскиваю в основную конфу... ;)

и начал, наверное, с быстрорастворимой лапши ... ;)
54. user1549679 26.04.21 16:31 Сейчас в теме
Может кому поможет. Тоже имел счастье столкнуться с такой проблемой и СОВЕРШЕННО случайно она решилась.

Вот оригинал:
"...
КонецЕсли;

Возврат ОбщиеПараметры;
..."

Вот так НЕ РАБОТАЕТ:
"...
КонецЕсли;

#Вставка
ОбщиеПараметры.Получатель = "Частные лица";
ОбщиеПараметры.ПолучательИНН = "";
#КонецВставки

Возврат ОбщиеПараметры;

..."

А вот так РАБОТАЕТ:
"...
КонецЕсли;
#Вставка
ОбщиеПараметры.Получатель = "Частные лица";
ОбщиеПараметры.ПолучательИНН = "";
#КонецВставки

Возврат ОбщиеПараметры;
..."

т.е. в мое случае между "КонецЕсли;" и "#Вставка" был перенос строки. Вот он и мешал.
57. impextr 88 02.11.21 13:26 Сейчас в теме
58. user981405 02.11.21 18:46 Сейчас в теме
Внутри вставок #Удаление и #КонецУдаления нельзя делать никаких изменений типового кода.

Мой пример из жизни: внутри поставила свой комментарий - не работало. Убрала - заработало.

Внутри вставок #Вставка и #КонецВставки можно писать все, что угодно.

Также для аннотации &ИзменениеИКонтроль нельзя вписывать никакой код ВНЕ самих вставок.
vikalinina; BarsukM; +2 Ответить
60. fatman78 17 03.05.22 12:26 Сейчас в теме
(58)
Также для аннотации &ИзменениеИКонтроль нельзя вписывать никакой код ВНЕ самих вставок.


Ну почему-же. Можно менять в расширении имена параметров в определении/заголовке заимствованной процедуры (количество параметров должно быть равно количеству в оригинальной процедуре). Я такое иногда использую чтобы передавать дополнительные параметры в перехваченные процедуры (если в оригинале нет параметра с типом структура или соответствие) - упаковав при вызове оригинальный параметр в структуру, а в принимающей модифицированной процедуре проверяю тип параметра для понимания, что вызов был с доп. параметрами. А переименование параметра в заголовке процедуры помогает сориентироваться в новой смысловой нагрузке
Оригинал
// Сообщает об ошибках проведения по регистру Запасы.
//
// Параметры:
//  ДокОбъект - ДокументОбъект - проводимый документ,
//  ВыборкаЗаписей - ВыборкаИзРезультатаЗапроса - выборка из результата запроса контроля остатков,
//  Отказ - Булево - признак наличия ошибок.
//  ОстаткиРезервов - ТаблицаЗначений - таблица остатков резервов интеркампани.
Процедура Запасы(ДокОбъект, ВыборкаЗаписей, Отказ, ОстаткиРезервов = Неопределено) Экспорт
	
	Если ТипЗнч(ДокОбъект) = Тип("ДокументОбъект.ОтчетОРозничныхПродажах")
		И НЕ Константы.КонтролироватьОстаткиПриПробитииЧековККМ.Получить() Тогда
		ЗаголовокОшибки = НСтр("ru = 'Внимание:'");
	Иначе
		ЗаголовокОшибки = НСтр("ru = 'Ошибка:'");
	КонецЕсли;
Показать

Расширение
//ОстаткиРезервов - ДополнительныеПраметры  заменил имя переменной в расширении
&ИзменениеИКонтроль("Запасы")
Процедура РК_Запасы(ДокОбъект, ВыборкаЗаписей, Отказ, ДополнительныеПраметры = Неопределено) Экспорт
#Вставка
	Если ДополнительныеПраметры = Неопределено или ТипЗнч(ДополнительныеПраметры) = Тип("ТаблицаЗначений") Тогда //стоковый вызов
		ДатаКонтроляОстатков = ТекущаяДата();
	    ОстаткиРезервов = ДополнительныеПраметры; //Передаем оригинальный параметр
	ИначеЕсли ТипЗнч(ДополнительныеПраметры) = Тип("Структура") Тогда      //Значит из расширения вызываем
		ДатаКонтроляОстатков = ДополнительныеПраметры.ДатаКонтроляОстатков;
		ОстаткиРезервов = ДополнительныеПраметры.ОстаткиРезервов;//Передаем оригинальный параметр
	КонецЕсли;
#КонецВставки
Показать
62. YNik 07.07.22 01:16 Сейчас в теме
(58)
Внутри вставок #Удаление и #КонецУдаления нельзя делать никаких изменений типового кода.

Я пишу комментарий в этом случае после #Удаление.
59. avbolshakov 18.04.22 12:28 Сейчас в теме
у меня проблема оказалась в том, что автоформатирование встроенного языка срабатывало. Я делал вставку посередине условия, те добавлял одну ветку ИначеЕсли и в этот момент код форматировался сам и была проблема, что текст модуля, мол, изменился. Решил отключением Встроенного языка, включением просто Текст, потом вставляем. все ок
61. CepeLLlka 58 06.07.22 20:55 Сейчас в теме
У меня проблема образовалась после установки платформы - "8.3.18.1741"

На 18.1334 всё было ок.

Притом проблема возникает не в каждой процедуре.

Например не получается внести изменения в код процедуры - "ПриНачалеВыбораНоменклатуры" модуля "СобытияФормИСКлиентПереопределяемый" В УТ 11.4

Пишешь например вот так

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

Всё норм, ошибки нет

Делаешь вот так
#Вставка
//
#КонецВставки

И всё, ошибка изменения текста процедуры.. Что за бред :)
63. Anthon 230 19.11.22 09:11 Сейчас в теме
Вдруг кому интересно, на 8.3.19.1467 глюк еще наблюдается, на 8.3.20.1710 и старше - уже нет. На данный момент актуальные платформы - 8.3.22.1709, 8.3.21.1624, 8.3.20.2184, 8.3.19.1726, 8.3.18.1959, 8.3.17.2760
64. st8899 19.02.24 17:02 Сейчас в теме
(63) на 1С:Предприятие 8.3 (8.3.22.2239) - НЕ работает. Глюк не исправлен.
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

Руководитель группы разработки 1С
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день