Имя: Пароль:
1C
1С v8
Расширение - замена инструкции &Вместо
0 ildary
 
20.10.17
12:55
Уважаемые специалисты, подскажите пожалуйста, как правильно реализовать следующее:
УТ11.3.4, режим совместимости 8.3.8 - я прочитал, что &Вместо в нём не должно работать. Я хочу предотвратить выполнение процедуры типового модуля (как бы вставить в начало процедуры Возврат;) - как это можно сделать не меняя режим совместимости?

Для чего я это делаю - в модуле РаспределениеВзаиморасчетов происходит проверка даты запрета при пересчете отложенных движений по взаиморасчетам - и задание пересчета начинает сыпать ошибку выполнения (а у людей появляется окно "Вы печаете С/Ф по устаревшим данным"). Хочется убрать эту проверку, предотвратив выполнение процедуры ПроверитьДатуЗапрета() в этом модуле.
1 ildary
 
20.10.17
13:22
Почитал документацию более внимательно и понял - для перехвата общего модуля и &Вместо необходим режим совместимости 8.3.9, так что придется отложить создание расширения до выхода УТ11.4.
2 Звездец
 
20.10.17
13:43
изменить режим совместимости не?
3 ildary
 
20.10.17
13:44
(2) не хотелось бы менять режим совместимости - раз это не сделали авторы конфигурации, то не буду рисковать и я.
4 mehfk
 
20.10.17
13:46
Меняй, не ссы.
5 Собиратель
 
20.10.17
13:53
УстановитьВыполнениеОбработчиковСобытия
6 ildary
 
20.10.17
14:06
(4) я очкую потому что ранее читал на форуме о проблемах после снятия. Если в последней УТ11.3.4 снятие совместимости не вызывает ошибку - то я попробую снять.

(5) Это вроде для команд штука?
7 Собиратель
 
20.10.17
14:21
Это для событий форм (ПриСозданииНаСервере и т.п.). Если нужно не само событие, то можно забрать в расширение событие из которого вызывается нужная функция. Скопировать код из события, но его отредактировать и вызвать свою функцию.
8 mehfk
 
20.10.17
14:38
(6) Там РольДоступна() на недопустимые роли вылезет, но у тебя же есть расширение...сделаешь "&Вместо", а получение роли добавишь в попытку.
Основная теорема систематики: Новые системы плодят новые проблемы.