|
Отделить проведение от отмены проведения в подписке "ПередЗаписью" регистра | ☑ | ||
---|---|---|---|---|
0
Cyberhawk
27.09.12
✎
12:22
|
Друзья, создал подписку "ПередЗаписью" на регистр сведений (подчиненный регистратору). Как в этой подписке отделить проведение от отмены проведения?
Пока сделал так: Процедура ПередЗаписьюРСПередЗаписью(Источник, Отказ, Замещение) Экспорт Если Источник.мТаблицаДвижений = Неопределено Тогда Возврат; КонецЕсли; ... КонецПроцедуры() Оно работает: при отмене проведения никаких проверок (то что там в многоточии) не выполняется, что и требуется. Но нутро подсказывает, что че-то не то (не к тому признаку привязался). Кто как у себя делает? Есть другие решения? |
|||
1
pessok
27.09.12
✎
12:28
|
эммм... может это все же надо в подписку перед записью ДОКУМЕНТА?
|
|||
2
Spieluhr
27.09.12
✎
12:28
|
Источник.Проведен
|
|||
3
pessok
27.09.12
✎
12:29
|
(2) источник.проведен и режимзаписидокумента никак не связаны между собой
|
|||
4
Cyberhawk
27.09.12
✎
12:30
|
Нет, вы что: давать записать косячный документ никаких препятствий быть не должно. Представьте, что в нем 1000 строк, а человеку бежать надо.
Если же вы предлагаете внедриться в обработку проведения (что уже ближе к истине), то в данном случае мимо: документов-регистраторов много, не хочется в каждом портить модуль. |
|||
5
pessok
27.09.12
✎
12:31
|
тогда никак
|
|||
6
Cyberhawk
27.09.12
✎
12:31
|
(4) было для (1)
(2) в обоих случаях Источник.Проведен = Истина |
|||
7
DrShad
27.09.12
✎
12:32
|
(1) +100500 там есть РежимЗаписи
|
|||
8
Cyberhawk
27.09.12
✎
12:34
|
(7) безусловно, но тема топика - про подписку на событие регистра. Правильно ли Я понимаю, что вы придерживаетесь мнения, что в подписке на событие регистра отделять проведение и отмену проведения методологически неверно?
|
|||
9
pessok
27.09.12
✎
12:34
|
(8) не то, что неверно. невозможно
|
|||
10
Cyberhawk
27.09.12
✎
12:35
|
(9) смотрите в (0) абзац после кода: "Оно работает".
|
|||
11
DrShad
27.09.12
✎
12:35
|
(9) +1
|
|||
12
DrShad
27.09.12
✎
12:36
|
(10) мТаблицаДвижений есть не везде
|
|||
13
pessok
27.09.12
✎
12:37
|
(10) в коде написана не проверка на проведение/отмену проведения, на на записи регистра, что во многих случаях не одно и тоже
|
|||
14
Spieluhr
27.09.12
✎
12:38
|
а Источник.Количество() и при отмене проведения больше нуля?
|
|||
15
Cyberhawk
27.09.12
✎
12:41
|
(14) Бинго! При проведении - больше нуля, при отмене - ноль.
(12) в (14) могут быть какие-то подводные камни, как вы указали про мТаблицуДвижений? |
|||
16
Spieluhr
27.09.12
✎
12:46
|
(15) например документ при проведении не формирует движений по Вашему регистру.
или всегда при проведении формирует? |
|||
17
DrShad
27.09.12
✎
12:47
|
(15) а при перепроведении?
|
|||
18
Cyberhawk
27.09.12
✎
12:51
|
(17) при перепроведении подписка вызывается дважды: сначала как для отмены проведения, а затем как для проведения. Отрабатывает корректно.
|
|||
19
Cyberhawk
27.09.12
✎
12:52
|
(16) пусть не формирует - тогда мне код в подписке и не понадобится.
|
|||
20
DrShad
27.09.12
✎
13:03
|
я бы все таки перед записью документа РежимЗаписи запихнул в доп свойства и уже в подписке сравнивал именно Режим - так на мое имхо кошернее
|
|||
21
Cyberhawk
27.09.12
✎
13:09
|
(20) круто, благодарю!
|
|||
22
DrShad
27.09.12
✎
13:11
|
(21) это стеб? или действительно благодарность?
|
|||
23
Spieluhr
27.09.12
✎
13:18
|
(20) Вроде в ПередЗаписью для регистра передается ссылка на регистратор, а доп.свойства доступны в объекте.
могу ошибаться |
|||
24
Cyberhawk
27.09.12
✎
13:25
|
(22) никакого стеба. Проверил только что по-быстрому: запихнул режим проведения из события ПередЗаписью() модуля документа в константу, а затем попробовал константу получить в подписке - работает.
(20), (22) что именно вы имеете в виду под доп. свойствами? Одноименный реквизит-структуру у объекта-документа? Да, по ссылке они недоступны, и в подписку передается ссылка |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |