УФ, Отображение ошибок возникших при проведении документа #660949


#0 by guitar_player
Добрый день! При проведении документа осуществленна проверка, в случае проведения документа из формы и наличию ошибок при проведении необходимо отобразить подробный список ошибок, механизм СообщитьПользователю не подходит для этого. Подскажите, как лучше передать результат выполнения на клиентскую часть? Погуглил - рекомендуют разместить результат в параметрах сеанса и т.д., но мне это кажется диким, что лучше сделать?
#1 by Нуф-Нуф
тупо сообщить
#2 by guitar_player
не, не подходит такой вариант Нужна специализированная форма в которой будет в иерархическом виде отображаться ошибки, предлагаться расшифровки и горячие кнопки для исправления... необходимо где то сохранить результат, чтобы потом его вывести в отдельной форме "для ошибок", либо на форме документа отобразить элемент, по нажатию на который будет выведена форма "для ошибок".
#3 by pumbaEO
почему с этим не справиться регистр сведений?
#4 by hhhh
при откате транзакции, он тоже откатывается.
#5 by sonsimo
Чем временное хранилище не подходит?
#6 by guitar_player
пока решил сделать именно через временное хранилище, остался вопрос только с тем как кинуть адресом временного хранилища в форму и в составке данных, которые кидаю...
#7 by guitar_player
+100500 - почему то все советуют сделать именно через справочник
#8 by mistеr
ТЗ/ДЗ, что может быть проще?
#9 by guitar_player
так то эти данные не отображаются клиенте+кидаться с сервером ДЗ вообще нельзя.
#10 by sonsimo
Самый хороший способ - через доп.данные объекта-документа. Добавить в доп.данные таблицу значений, в форме должно быть событие, которое происходит после записи о объекта и в котором доступен сам объект, т.е. не произошла еще конвертация в реквизит формы. там и прочитать доп.параметры, заполнив реквизит формы - таблицу значений с сообщениями, ну а дальше можно делать с ней что угодно. Сейчас под рукой нет 1с, проверить это не могу, но я бы действовал примерно так
#11 by guitar_player
- если транзакция откатывается - события такого нет. И вообще с доп. свойствами можно работать на форме перед записью на сервере, после записи у тек. объекта их уже нет - там другой экземпляр. Хотя если такой способ рабочий, то может с ним стоит еще покопаться. Я пока решил эту проблему по другому, но хочу вернуться к ней и сделать правильно.
#12 by sonsimo
Что бы проверить, что он рабочий - нужно в конфигураторе посидеть. Но у формы документа, если я не ошибаюсь, есть событие, в котором доступен объект, не реквизит формы Объект, а именно тот объект, который был записан и он должен передаваться в параметре события. Но, конечно, я могу ошибаться. Проверить смогу только на следующей неделе -сейчас в отпуске
#13 by samozvanec
а если его персонально в транзакцию обернуть?
#14 by sonsimo
в 1с нет автономных транзакций. Все, что выполняется в рамках транзакции, например, запись, является одной транзакцией и будет откачено при роллбеке. Как вариант, если использовать временное хранилище - можно использовать guid самого объекта. Затем на форме получить значение из временного хранилища по этому guid-у. Это не очень хорошее решение, но рабочее.
#15 by AaNnDdRrEeYy
Объект.ДополнительныеСвойства - это структура которая существует пока существует сам объект, сувай туда.
#16 by Ns33
Я тут поигрался, и вроде как в случае отказа поведения, никакой обработчик формы не вызывается. Поэтому видится вариант делать свою кнопку проведения в которой получать объект, проводить, и ловить ошибки в ДополнительныеСвойства.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С