![]() |
|
НачатьТранзакцию на клиенте. Как сделать? | ☑ | ||
---|---|---|---|---|
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) сразу все вопросы задать на клиенте можно (по всем документам)?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |