AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2002, 10:31   #1  
Yuri Safronov is offline
Yuri Safronov
Участник
 
140 / 55 (2) ++++
Регистрация: 21.08.2002
Адрес: Москва
? Глобальная транзакция
У пользователя есть форма с Grid-ом, в него он вводит некоторые записи.
Также есть кнопки «Сохранить и закрыть» и «Закрыть».
Как сделать так чтоб по нажатию на кнопку «Сохранить и закрыть» все записи введённые пользователем сохранялись и форма закрывалась, а по нажатию «Закрыть» закрывалась бы форма и происходил бы откат всех записей введённых пользователем? Я конечно могу всё ручками сделать, но не работает ли
ttsbegin, ttsabort и ttscommit более глобально, нежели только в рамках одной функции?
__________________
yurisafronov@mail.ru
skype: y.safronov
Старый 18.09.2002, 11:02   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,253 / 980 (37) +++++++
Регистрация: 03.04.2002
Как говорил мой начальник и учитель: "Read the fucking MANUAL!!!"
Во первых:
«Сохранить и закрыть» = маленький крестик в правом верхнем углу формы
«Закрыть» = кнопка Esc в левом верхнем углу клавиатуры
Во вторых:
"ttsbegin, ttsabort и ttscommit" относятся к базе, а в гриде у тебя коллекция объектов на локале.
В третьих:
в форме есть куча методов типа: closeOk, closeCancel. Их не нужно переопределять, их нужно вызвать из clicked()
Вывод: я понимаю, тебе как настоящему программисту обидно, но это уже написано до тебя
Старый 18.09.2002, 11:13   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
1. Сделать всю работу пользователя во временной таблице (или типа того). А по "Сохранить" сохранять всё по своим местам.
2. Работают и боллее глобально ttsbegin увеличивает уровень транзакции для всех последующих действий с БД. ttscommit закрывает ближайший ttsbegin. ttsabort срубает ВСЕ открытые транзакции. НО:
- открыть форму внутри транзакции - это значит залочить все записи на неопределенный срок (что есть прохо) и Аксапта начинает ругаться на нарушение ttslevel-а.
- велика вероятность не закрыть какую-дь транзакцию или закрыть лишнее.
Старый 18.09.2002, 11:37   #4  
Yuri Safronov is offline
Yuri Safronov
Участник
 
140 / 55 (2) ++++
Регистрация: 21.08.2002
Адрес: Москва
Да, "Read the fucking MANUAL!!!" супер

На форме Grid связанный с DataSource-ом
Вставляю одну запись, вторую, третию ...
Нажимаю Esc, смотрю БД все записи сохранились
Нажимаю "маленький крестик в правом верхнем углу формы", смотрю БД все записи сохранились
Вызываю closeOK, смотрю БД все записи сохранились
Вызываю closeCancel, смотрю БД все записи сохранились

"Read the fucking MANUAL!!!"

//----------------------------------------------------------------

Как связать временную таблицу с Grid-ом?
__________________
yurisafronov@mail.ru
skype: y.safronov
Старый 18.09.2002, 11:52   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Оч. просто
Есть временная табл. tmpMyTable и есть форма с DS по этой табл
PHP код:
void init()
{
    
super();
    
    
tmpMyTable.setTmpData(_tmpMyTable);

, где _tmpMyTable курсор на временную таблицу, переданный извне или созданный ранее в той же форме.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Одна открытая транзакция - одна запись в журнале DenisR DAX: Программирование 4 09.03.2017 14:27
Почему-то вылетатет транзакция bolt DAX: Программирование 21 03.07.2007 17:09
Глобальная компиляция OmenSore DAX: Программирование 1 24.07.2006 14:30
Транзакция в modified Gad DAX: Программирование 1 29.11.2005 19:54
Axapta. Третье пришествие. Что нас ожидает? Роман Кошелев DAX: Функционал 34 13.10.2003 10:41

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:00.