Имя: Пароль:
1C
1С v8
Подписка ОбработкаПроведения - как понять, был ли документ уже проведен?
,
0 mikhailovaew
 
16.08.13
16:03
Есть задача: при проведении документа выполнять действие (присылать оповещение сотруднику). При этом нужно, чтобы действие выполнялось только при "первичном" проведении документа, а если документ перепроводится, то нет. В подписке на событие ОбработкаПроведения Источник.Проведен всегда возращает Истина.
Как проверить, был ли уже документ проведен на момент проведения?
1 Wobland
 
16.08.13
16:03
Ссылка.Проведён?
2 mikhailovaew
 
16.08.13
16:07
(1) не помогает, то же самое
3 Maxus43
 
16.08.13
16:12
(2) перед записью дока,
ДополнительныеСвойства.вставить("БылПроведён",Ссылка.Проведён);

далее Источник.Свойство("БылПроведён",А) И А Тогда
//был проведён
4 mikhailovaew
 
16.08.13
16:16
(3) эх, не хотелось в модуль документа вносить изменения... видимо, другого решения нет. спасибо.
5 Maxus43
 
16.08.13
16:19
(4) можно, добавив подписку ПередЗаписью дока, там доп свойство добавить ему
6 mikhailovaew
 
16.08.13
16:20
(5) именно ПередЗаписью? не ПриЗаписи?
7 Maxus43
 
16.08.13
16:21
(6) чтобы узнать был ли проведён раньше - поможет только перед записью
8 Maxus43
 
16.08.13
16:21
Я имею ввиду этой подписке отловить признак только, все действия дальше - как и хотели, в обработке провелдения подписке
9 mikhailovaew
 
16.08.13
16:26
хм... ПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения)
можно же прямо перед записью проверить РежимЗаписи - если Проведение, то выполнять оповещение.
есть маленький риск, что по каким-то причинам документ не проведется, но при проведении Увольнения это маловероятно )
10 Serg_1960
 
16.08.13
16:28
Чего мелочиться? Регистр сведений и всего делов :)
11 mikhailovaew
 
16.08.13
16:30
(10) не вполне поняла Вашу мысль. идея Maxus43 мне нравится
12 Serg_1960
 
16.08.13
16:31
Ни перед записью, ни при записи и тем более при проведении вам не поймать "первое" проведение - документ может быть снятьс проведения. Так понятно?
13 mikhailovaew
 
16.08.13
16:34
(12) то, что документ распроведется, а потом при новом проведении возникнет событие - не страшно. У нас обычно документ проводится, и потом еще много раз нажимают кнопку ОК, что вызывает нежелательные повторные оповещения.
14 Serg_1960
 
16.08.13
16:39
С регистром проще жить :) Можно регистрировать документ, момент времени "первичного" проведения, сам факт создания сообщения...
15 Serg_1960
 
16.08.13
16:41
(14) + можно туда писать жалобы на тех, кто "много раз нажимают кнопку" - анализ и отчет на стол их начальнику :)
16 mikhailovaew
 
16.08.13
16:42
(14) ну это уже тотальный контроль ) хотя, возможно, вы правы.
17 mikhailovaew
 
16.08.13
16:49
(8) Maxus43, спасибо за подсказку, все получилось )
18 Serg_1960
 
16.08.13
16:52
Ммм... ещё одна мысль пришла :) если автор расшифрует как реализовано "присылать оповещение сотруднику" (0) - то может быть искать "следы" этого оповещения и делать выводы?
19 mikhailovaew
 
16.08.13
16:55
(18) письмо по электронной почте отправляется. на самом деле, использование доп.свойства в данном конкретном случае решит все мои проблемы )
Закон Брукера: Даже маленькая практика стоит большой теории.