Имя: Пароль:
1C
1C 7.7
v7: Процедура ПриЗаписи() при программной записи элемента справочника
0 Archy82
 
08.02.12
12:46
Всем привет. Есть база куда куча разных внешних обработок добавляют новый товар. Есть несколько процедур, которые должны быть выполнены при записи товара. При интерактивной записи они, как и положено, выполняются из процедуры ПриЗаписи().
Есть ли какая-то возможность обрабатывать вызов этих процедур при программной записи без явного их указания в каждой обработке, которая изменяет товар (По типу как в 8-ке: модуль элемента ПриЗаписи())?
1 Ёпрст
 
гуру
08.02.12
12:51
(0) Есть.
Только быстрее - прописать это в коде обработки
2 Archy82
 
08.02.12
12:55
(1) Обработок - очень много, притом я всех могу сразу и не найти. А можно по поводу про "Есть"?
3 PZh
 
08.02.12
13:04
(0) Мне такие способы не известны.

Сделай так:
Введи специфичную функцию: глМояЗапись(Объект) в глобальнике, в ней проверяй тип и вид объекта, и если это твой справочник, то делай то, что написано в модуле при_записи(). Если нет, то просто Объект.Записать();

Потом пробей по все конфе и всем обработкам поиском строку ".Записать()" и замени соответственно <Объект>.Записать() на глМояЗапись(<Объект>)
4 Archy82
 
08.02.12
14:46
Спасибо. Действительно через Ж. Абидна.

Еще раз спасибо за помощь.
5 Ёпрст
 
гуру
08.02.12
14:47
(2) Открываешь форму, далее запускаешь ПриЗаписи в ней.
6 andrewks
 
08.02.12
14:49
(2) 1cpp, перехватчик
7 Mikeware
 
08.02.12
14:50
(5) Точнее, В ПриОткрытии - выполнение действий, вызов ПриЗаписи, вызов Записать
8 Ёпрст
 
гуру
08.02.12
14:50
+5 в любом случае, имеешь слайдшоу от открытия/закрытия формы.
Выполнять код открытой формы можешь как штатно:
через обработкуОжидания (это если вообще не менять код формы) или с передачей параметра в ПриОткрытии

или с помощью ВК, например, 1сpp/формекс, там либо тупо Конт.ИмяПроцы() или Сервис.ВыполнитьПроцу или ВыполняемыйМодуль юзать
9 Абыр
 
08.02.12
14:59
(8) Хм. А если ПриЗаписи() вызывать в ПриОткрытии() как в (7), а потом СтатусВозврата(0), слайдшоу не должно ж быть?
10 Ёпрст
 
гуру
08.02.12
15:00
(9) так да, но тебе придется тогда править форму самого справочника.
11 Ёпрст
 
гуру
08.02.12
15:00
точнее, модульформы
12 Ёпрст
 
гуру
08.02.12
15:01
И один хрен, это в разы медленнее, чем работа через объект созданный как СоздатьОбъект
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.