Имя: Пароль:
1C
1С v8
УФ, Отображение ошибок возникших при проведении документа
0 guitar_player
 
14.04.13
15:35
Добрый день!

При проведении документа осуществленна проверка, в случае проведения документа из формы и наличию ошибок при проведении необходимо отобразить подробный список ошибок, механизм СообщитьПользователю не подходит для этого.

Подскажите, как лучше передать результат выполнения на клиентскую часть?
Погуглил - рекомендуют разместить результат в параметрах сеанса и т.д., но мне это кажется диким, что лучше сделать?
1 Нуф-Нуф
 
14.04.13
15:39
тупо сообщить
2 guitar_player
 
14.04.13
15:42
(1) не, не подходит такой вариант

Нужна специализированная форма в которой будет в иерархическом виде отображаться ошибки, предлагаться расшифровки и горячие кнопки для исправления...

необходимо где то сохранить результат, чтобы потом его вывести в отдельной форме "для ошибок", либо на форме документа отобразить элемент, по нажатию на который будет выведена форма "для ошибок".
3 pumbaEO
 
14.04.13
16:07
(2) почему с этим не справиться регистр сведений?
4 hhhh
 
14.04.13
20:05
(3) при откате транзакции, он тоже откатывается.
5 sonsimo
 
14.04.13
20:23
Чем временное хранилище не подходит?
6 guitar_player
 
15.04.13
11:46
(5) пока решил сделать именно через временное хранилище, остался вопрос только с тем как кинуть адресом временного хранилища в форму и в составке данных, которые кидаю...
7 guitar_player
 
15.04.13
11:46
(4)+100500 - почему то все советуют сделать именно через справочник
8 mistеr
 
15.04.13
11:48
ТЗ/ДЗ, что может быть проще?
9 guitar_player
 
15.04.13
13:32
(8) так то эти данные не отображаются клиенте+кидаться с сервером ДЗ вообще нельзя.
10 sonsimo
 
15.04.13
19:19
(6) Самый хороший способ - через доп.данные объекта-документа. Добавить в доп.данные таблицу значений, в форме должно быть событие, которое происходит после записи о объекта и в котором доступен сам объект, т.е. не произошла еще конвертация в реквизит формы. там и прочитать доп.параметры, заполнив реквизит формы - таблицу значений с сообщениями, ну а дальше можно делать с ней что угодно.
Сейчас под рукой нет 1с, проверить это не могу, но я бы действовал примерно так
11 guitar_player
 
16.04.13
10:00
(10) - если транзакция откатывается - события такого нет.

И вообще с доп. свойствами можно работать на форме перед записью на сервере, после записи у тек. объекта их уже нет - там другой экземпляр.

Хотя если такой способ рабочий, то может с ним стоит еще покопаться.

Я пока решил эту проблему по другому, но хочу вернуться к ней и сделать правильно.
12 sonsimo
 
16.04.13
10:27
Что бы проверить, что он рабочий - нужно в конфигураторе посидеть.
Но у формы документа, если я не ошибаюсь, есть событие, в котором доступен объект, не реквизит формы Объект, а именно тот объект, который был записан и он должен передаваться в параметре события. Но, конечно, я могу ошибаться. Проверить смогу только на следующей неделе -сейчас в отпуске
13 samozvanec
 
16.04.13
10:44
(4) а если его персонально в транзакцию обернуть?
14 sonsimo
 
16.04.13
11:02
(13) в 1с нет автономных транзакций. Все, что выполняется в рамках транзакции, например, запись, является одной транзакцией и будет откачено при роллбеке.
(11) Как вариант, если использовать временное хранилище - можно использовать guid самого объекта. Затем на форме получить значение из временного хранилища по этому guid-у.
Это не очень хорошее решение, но рабочее.
15 AaNnDdRrEeYy
 
16.04.13
11:20
Объект.ДополнительныеСвойства - это структура которая существует пока существует сам объект, сувай туда.
16 Ns33
 
16.04.13
11:41
Я тут поигрался, и вроде как в случае отказа поведения, никакой обработчик формы не вызывается. Поэтому видится вариант делать свою кнопку проведения в которой получать объект, проводить, и ловить ошибки в ДополнительныеСвойства.
AdBlock убивает бесплатный контент. 1Сергей