Имя: Пароль:
1C
1С v8
Прерывание выполнения процедуры
0 bUbA
 
23.05.17
11:26
Есть расширение, в нем есть форма с таблицей. В расширении, у таблицы, добавлена процедура ПриАктивизацииСтрокиПеред, в которой по определенному условию выполняется ее прерывание. Но после ее прерывания выполняется типовая процедура ПриАктивизацииСтроки. Можно ли как то отменить выполнение типовой процедуры по условию, только без ПриАктивизацииСтрокиВместо?
1 Волшебник
 
модератор
23.05.17
11:30
сделай Вместо, в которой вызывай типовую процедуру по условию
2 Ц_У
 
23.05.17
11:31
ну если без вместо то после :)
3 bUbA
 
23.05.17
11:33
(1) хотелось бы по-минимуму использовать заменяющие процедуры
4 bUbA
 
23.05.17
11:33
(1) или тут без замены никак? может есть какой-нибудь способ?
5 bUbA
 
23.05.17
11:34
(2) После уже не поможет
6 Волшебник
 
модератор
23.05.17
11:34
(3) Если ты вызываешь исходную, то ничего не портишь
7 Naf2017
 
23.05.17
11:39
делаешь ВМЕСТО

внутри своей функции пишешь:

Если Условие Тогда
  Возврат;  //игнорируем типовую
КонецЕсли;

ПродолжитьВызов(); //попрежнему типовая
8 Вафель
 
23.05.17
11:41
как раз таки ДО и ПОСЛЕ ненужное изобретение 1С
9 bUbA
 
23.05.17
11:43
(6) (7) так и сделал, за отсутствием других вариантов. Спасибо!
10 bUbA
 
23.05.17
11:44
(8) почему это ненужное? Минимум вмешательства, при обновлении типовой знаешь, что все будет работать, даже если нужная процедура была изменена
11 Волшебник
 
модератор
23.05.17
11:46
(8) это более продвинутый полиморфизм, чем в Java
12 Naf2017
 
23.05.17
11:51
(10)(11) полностью перекрывается обычным полиморфизмом

Например, "ПЕРЕД":

Процедура
  ТвоиДействия();
  ПродолжитьВызов();
КонецПроцедуры
Основная теорема систематики: Новые системы плодят новые проблемы.