|
Как при записи документа отличить интерактивную запись от групповой. | ☑ | ||
---|---|---|---|---|
0
amakarov
14.12.16
✎
19:59
|
Здравствуйте, товарищи. Есть задача менять в документах ответственного, для этого создана подписка на событие ПриЗаписиДокумента и все вроде как работает. Но ответственного нужно менять только тогда, когда происходит интерактивная запись, а если запись происходит групповой обработкой или через проведение документов, то ответственный изменяться не должен. Можно добавить в допсвойства документов флаг, но это надо лезть в модуль каждого документа, а надо бы как-нибудь глобально и красиво решить эту задачу. В 7.7 был признак групповойконтекст или как-то так назывался, есть ли что нибудь подобное в 8.2.
Спасибо. |
|||
1
Cyberhawk
14.12.16
✎
20:02
|
ДополнительныеСвойства
|
|||
2
mistеr
14.12.16
✎
21:37
|
(0) А если пользователь выбрал в списке штук 10 и провел?
|
|||
3
Garykom
гуру
14.12.16
✎
21:43
|
(0) "глобально и красиво" можно "решить эту задачу" записывая всех ответственных, точнее кто вносил изменения в документу и когда.
А кого там назначить из полного списка и в каком виде интерактивном или групповом это уже на ваше усмотрение )) |
|||
4
trooba
14.12.16
✎
21:47
|
(1) +1
|
|||
5
RomanYS
15.12.16
✎
00:17
|
Есть событие ОбработкаПроверкиЗаполнения, но вызываться будет только при (интерактивном) проведении
|
|||
6
amakarov
15.12.16
✎
10:12
|
(1) ДополнительныеСвойства не подходят - это надо лезть в модуль формы каждого документа и прописывать флаг в приоткрытии или где-то там, чтоб словить интерактивное открытие.
|
|||
7
amakarov
15.12.16
✎
10:17
|
(2) Это будет считаться групповой обработкой и ответственный меняться не будет, тем более, множественный выбор в списке в нашей конфе нигде не разрешен.
|
|||
8
amakarov
15.12.16
✎
10:22
|
(5) Тут опять получается надо добавлять доп. свойство и прописывать в каждом документе в каждом модуле.
Вопрос даже не в ответственном, а в возможности в событии при записи понять как записывается документ пользователь открыл форму и нажал записать или ОК, или с помощью метода ОбъектДокумент.записать(). |
|||
9
aleks_default
15.12.16
✎
10:22
|
(5) С чего бы это?
(6) Нафига лезть в модуль каждого документа? Не проще ли устанавливать признак как раз при групповом проведении, а все остальное считать интерактивным? |
|||
10
Cyberhawk
15.12.16
✎
10:35
|
(6) "надо лезть в модуль формы каждого документа" // Если тямы не хватает внедриться в общий модуль, вызываемый из каждой формы - тогда да...
|
|||
11
amakarov
15.12.16
✎
18:41
|
(10) У нас нет такой процедуры, которая вызывалась бы из каждой формы при открытии или при закрытии. Вопрос немного в другом, можно ли понять в событии при записи как записывается документ из формы или через метод ОбъектДокумент.Записать()?
|
|||
12
Mankubus
15.12.16
✎
18:57
|
(11) нельзя. используй доп.свойства
|
|||
13
RomanYS
15.12.16
✎
18:59
|
(8) (9)
Зачем допсвойство? Подписка и меняй прямо в ней. "Описание: Вызывается расширением формы при необходимости проверки заполнения реквизитов при записи или при проведении документа в форме, а также при выполнении метода ПроверитьЗаполнение. Если для документа при конфигурировании свойство Проведение установлено в Разрешить, то вызывается только при проведении. Если документ не проводится (установлено Запретить), то вызывается при записи. Позволяет разработчику конфигурации самостоятельно реализовать проверку заполнения в обработчике события. При этом в обработчике можно полностью отказаться от системной обработки (очистив список проверяемых реквизитов), отказаться от проверки системой части реквизитов (выполнив проверку отдельных реквизитов особенным образом и исключив эти реквизиты из списка), а также добавить для проверки другие реквизиты, проверка которых не была указана. " |
|||
14
amakarov
20.12.16
✎
02:04
|
(13) Спасибо. Этот совет очень помог. Все работает как надо в подписке проверка заполнения. Все красиво и всего несколько строчек кода.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |