|
НачатьТранзакцию на клиенте. Как сделать?
| ☑ |
0
ИС-2
naïve
24.11.17
✎
08:21
|
В цикле создаются несколько документов. Часть процедур выполняется на клиенте (готовятся данные), часть на сервере (записывает данные в объект).
Последовательность идет клиент(считываение введенных данных)-сервер(создание документа,вычисление)-клиент(запрос доп. данных у пользователя)-сервер(помещение данных) и т.д
Надо, чтобы если хоть в одном документе будет ошибка, то отменить все созданные документы.
Как такое сделать? Логику работы не предлагайте менять
|
|
1
wondkind
24.11.17
✎
08:30
|
(0) поменять логику работу и создавать документы пачкой.
Использование клиента не оправдано
|
|
2
бомболюк
24.11.17
✎
08:31
|
а на каком этапе определяется, есть ошибки или нет?
|
|
3
ИС-2
naïve
24.11.17
✎
08:50
|
(2) на клиенте, когда идет получение доп. данных в зависимости от решения пользователя
|
|
4
lodger
24.11.17
✎
09:04
|
(0) это грустно и печально.
Логику работы менять.
ну можно хотя бы так.
1) клиент - ввод первой порции данных.
2) сервер - обсчет и выполнение математики с получением ошибок.
3) клиент - тч со списком ошибок-успехов и выбором решения
4) сервер - НачатьТранзакцию(); в цикле (Документ.КолХоз.СозатьЭлемент();)
|
|
5
wondkind
24.11.17
✎
09:05
|
ну а если быть серьёзней - просто создай обработку записи объектов. По мере заполнения данными потом записывай весь пакет.
|
|
6
ptiz
24.11.17
✎
09:10
|
(0) В таком варианте самое простое - удалять все созданные в случае ошибки через .Удалить()
|
|
7
ptiz
24.11.17
✎
09:11
|
Или если каждый следующий документ не зависит от предыдущего - вместо записи в базу сериализовать и записывать в файл или другой регистр, а в конце в случае успеха - писать скопом.
|
|
8
Бычье сердце
24.11.17
✎
09:17
|
(0)
1. Клиент - ввод первой порции
2. На сервере НачатьТранзакцию(), записать документы, ОтменитьТранзакцию(). В случае отсутствия ошибок пакет данных кидаем в общий список.
2. Клиент - ввод второй порции, далее на сервере пункт 2.
3. Если есть ошибки, то ТЧ их все. Если нет ошибок новая транзация с перебором из списка и запись объектов.
|
|
9
АнализДанных
24.11.17
✎
09:55
|
(0) сразу все вопросы задать на клиенте можно (по всем документам)?
|
|