Вход | Регистрация


НачатьТранзакцию на клиенте. Как сделать?

НачатьТранзакцию на клиенте. Как сделать?
Я
   ИС-2
 
24.11.17 - 08:21
В цикле создаются несколько документов. Часть процедур выполняется на клиенте (готовятся данные), часть на сервере (записывает данные в объект).

Последовательность идет клиент(считываение введенных данных)-сервер(создание документа,вычисление)-клиент(запрос доп. данных у пользователя)-сервер(помещение данных) и т.д

Надо, чтобы если хоть в одном документе будет ошибка, то отменить все созданные документы.

Как такое сделать? Логику работы не предлагайте менять
 
 
   wondkind
 
1 - 24.11.17 - 08:30
(0) поменять логику работу и создавать документы пачкой.

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует