Имя: Пароль:
1C
1С v8
Как сохранить в базе сообщение о причине отказа проведения документа
,
0 jyupiter
 
14.10.20
09:48
Конфигурация на обычных формах, похожа на УТ 10.3.

При проведении реализации производится проверка на добросовестность покупателя. Если какую-то из проверок он не прошёл, формируется текстовое сообщение с результатами этой проверки (что-то вроде "превышена допустимая сумма долга на Х рублей" или "превышена глубина долга на Х дней").

Задача -- в каком-то виде сохранять в базе эти сообщения об отказах, чтоб потом можно было составить по ним отчёт для агента или супервайзера. Я выбрал записывать это сообщение в новое свойство документа.

Проблема -- если в обработке проведения Отказ = Истина, то транзакция не фиксируется, все изменения в базе не сохраняются, свойство остаётся незаполненным. Если Отказ = Ложь, то реализация проводится, и недобросовестный контрагент получает незаслуженную отгрузку.

Не получается придумать, как это обойти, подкиньте идейку, плизз
1 ASU_Diamond
 
14.10.20
09:49
Регистр сведений
2 1c-kind
 
14.10.20
09:50
У нас сделан спец. регистр сведений "Регистрация отказа отгрузки".

https://gyazo.com/1706d398a6ff3cc0c883b0f2498f57b7
3 ДенисЧ
 
14.10.20
09:51
В ЖР или внешнюю базу
4 jyupiter
 
14.10.20
09:52
Но ведь "ЗначенияСвойствОбъектов" -- это тоже регистр сведений. В отладчике видно, что записи в нём появляются в ходе обработки, но откатываются по её завершении. Другой регистр разве будет записываться?
5 jyupiter
 
14.10.20
09:53
(3) Что такое ЖР?
6 ДенисЧ
 
14.10.20
09:54
(5) Журнал регистрации
7 jyupiter
 
14.10.20
09:55
(5) Понял. ЖР неудобно, потому что как по нему делать отчёты? Рег.сведений было бы идеально, но я ведь и так пытаюсь его заполнять, а он не записывается
8 ДенисЧ
 
14.10.20
10:01
(7) ЖР можно прграммно регламентом обрабатывать и переливать данные в РС.
9 jyupiter
 
14.10.20
10:03
(8) Ну, если не получится с другим рег.сведений, придётся попробовать и этот вариант, хоть он и кажется неоправданно громоздким. Спасибо за идею.
10 ДенисЧ
 
14.10.20
10:07
(9) С РС не получится.
11 jyupiter
 
14.10.20
10:10
(10) И правда, не получилось.
Интересно, как это реализовано у (2)
12 SleepyHead
 
гуру
14.10.20
10:10
(0) Перед записью в форме повторите алгоритм проверки на недобросовестного покупателя, и фиксируйте результат, где удобно.
13 jyupiter
 
14.10.20
10:13
(12) Блин, в форме! Я делал в модуле, но оказалось, что это одна и та же транзакция. А это, видимо, разные. Должно сработать, спасибо
14 jyupiter
 
14.10.20
10:17
(12) Всё получилось, большое спасибо!
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший