Имя: Пароль:
1C
 
Как в расширении (&Перед) прервать процедуру основной конфы?
0 program345
 
01.11.25
14:05
Доброго.
1. Есть Код поставщика, в расширении &Перед("ПроцедураПоставщикаНаСервере") как я могу прекратить выполнение процедуры поставщика?

2. Возврат не помогает...Возврат только завершает мою процедуру расширения...
1 Bigbro
 
01.11.25
14:07
добавление &Вместо будет проигнорировано
но можешь добавить через изменение и контроль - оно выполнится. и там возврат воткнуть.
2 Ненавижу 1С
 
гуру
01.11.25
14:08
(0) Никак, используйте &Вместо - кстати это наиболее универсальная форма (&Перед просто ее частный случай).
3 program345
 
01.11.25
14:09
(1) &Вместо и &ИзменениеИКонтроль не могу использовать, поставщик постоянно что-то меняет в коде.
4 Ненавижу 1С
 
гуру
01.11.25
14:11
(3)

&Перед(...)
Процедура Тест()
  //Мой код
КонецПроцедуры

//полностью эквивалентно:

&Вместо(...)
Процедура Тест()
  //Мой код
  ПродолжитьВызов();
КонецПроцедуры
5 program345
 
01.11.25
14:13
(2) ВызватьИсключение "Стоп!";
делать нельзя?
6 denk
 
01.11.25
15:55
Нужно определиться, какой все-таки код нужен, свой или поставщика. Если "и тот, и тот", то для этого и нужно &ИзменениеИКонтроль. При проверке возможности применения расширения система выдаст сообщение о различиях в процедуре в основной конфе и в расширении за пределами своих вставок. Надо будет устранить эти различия.
7 Bigbro
 
01.11.25
15:57
(3) так вы определитесь уже - вам важно то что поставщик что то меняет постоянно
или вы хотите все что у него проигнорировать.
а то либо крестик либо трусы но не вместе.
8 Saval1986
 
01.11.25
16:04
(0) Используйте директиву Вместо в сочетании с методом глобального контекста "ПродолжитьВызов()".

Например, Если УсловиеВыполнено() Тогда ПродолжитьВызов()
9 laeg
 
01.11.25
16:26
(3) Пусть хоть до усрачки изменяет.
в (8) и ранее вам дали 100% корректное решение - Только "Вместо", никаких "ИзменениеИКонтроль" - задолбаетесь с каждым обновлением изменять.