Имя: Пароль:
1C
1С v8
Сообщение пользователю
0 NewBieOneS
 
09.02.15
17:57
Здравствуйте!

Есть документ "Задача". В нем табличная часть "Подчиненные подразделения" (в ней один столбец - "Подразделение"). При записи документа (если табличная часть не пуста) дополнительно выполняются следующие действия:

1. Производится выборка документов задача, у которых поле "Родитель" равно текущему документу.
2. Перебираются строки табличной части. Если в выборке нет документа, у которого поле "Подразделение" равно подразделению из текущей строки, то создается новый документ "Задача" с заполнением необходимых полей. Если документ есть, то производится переход к следующей строке.

Весь этот алгоритм работает в процедуре "ПриЗаписиНаСервере()" формы документа. Сейчас возникла необходимость протоколировать вышеуказанную "беду", т.е. при создании документа выводить сообщение о создании, при пропуске - выводить номер и дату ранее созданного документа.

Если выводить сообщения прямо в процедуре "ПриЗаписиНаСервере()", то они, конечно, на экране появятся. Но форма, как правило, закрывается, т.к. пользователь нажимает "Записать и закрыть". Сообщений никто не увидит. Если перебирать строки в клиентской процедуре, то получится, что для каждой строки потребуется серверный вызов.

Господа профессионалы, посоветуйте, пожалуйста, в каком направлении лучше реализовать протоколирование? Может есть еще какие-либо варианты?
1 Господин ПЖ
 
09.02.15
18:05
ничонипонял
2 Ёпрст
 
09.02.15
18:12
(1) смирись, ты просто либо товарищъ, либо любитель :)
3 EugeniaK
 
09.02.15
18:12
(0) Можно попробовать проверяять в форме списка при изменении данных, а не в форме элемента.
4 Ёпрст
 
09.02.15
18:16
(0) зачетно, какие действия при отмене/удалении вашего дока происходят ? Херятся хоть все подчиненные доки ?
Что делаете при невозможности создания/проведения подчиненных доков ?...
5 Ёпрст
 
09.02.15
18:16
Если че, то всякие сообщения..тут вообще ни о чем, тут что-то в консерватории изначально менять надо
6 ShoGUN
 
09.02.15
18:17
(0) Не закрывать форму не предлагать?
7 NewBieOneS
 
09.02.15
19:28
(3) Каким образом в форме списка проверить? P.S. Формы - управляемые.

(4) Подчиненные удаляются. При невозможности - отмена транзакции. Но я не об этом спрашивал. И не понял про "консерваторию". Поясните, пожалуйста.

(6) Как один из вариантов, но не хотелось бы.
8 EugeniaK
 
09.02.15
23:10
(7) Ну ты форму элемента вызываешь из формы списка или откуда?
Если из формы списка, то проверь, какое событие при этом происходит.
9 Web00001
 
10.02.15
01:23
Тут вариантов то два:
1. Не закрывать форму пока юзер не скажет "ок".
2. Открывать формочку с информацией.
Ну или комбинировать эти варианты.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.