|
Прерывание выполнения процедуры
| ☑ |
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) полностью перекрывается обычным полиморфизмом
Например, "ПЕРЕД":
Процедура
ТвоиДействия();
ПродолжитьВызов();
КонецПроцедуры
|
|