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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.09.2008, 11:44   #1  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
? где хранятся значения полей удаленных строк?
Добрый день, уважаемые посетители форума!
У меня возникла такая проблема.
Есть форма, которая отображает значения полей строки некой таблицы. В одном из полей хранится значание штрих-кода. На форме есть кнопка, которая позволяет удалить отображаемую строку. Если потом, не закрывая форму, снова ввести строку с таким же значением штрих-кода, то в остальных полях будут те же значения, что и до удаления. Если форму предварительно закрыть, то после добавления строки с тем же штрих-кодом. в остальных полях будут значения по умолчанию.
Почему так происходит и как устранять эту "остаточную память"?
Старый 03.09.2008, 13:59   #2  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Э-э-э... Я что-то совершенно непонятное спрашиваю?
Хорошо. Может, тогда кто-нибудь знает как в AX 3.0 обращаться к кэшу?
Старый 03.09.2008, 14:24   #3  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Администрирование\Пользователи\Настройка пользователя\использование Данных\ вкладка Разное кнопка Сброс.
Старый 03.09.2008, 14:28   #4  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
А программным способом?
Старый 03.09.2008, 14:39   #5  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Пояснение: Администрирование\Пользователи\Настройка пользователя\использование Данных\ вкладка Разное кнопка Сброс.
Это просто типа такого
X++:
static void Job3(Args _args)
{
SysLastValue sysLastValue;
ttsbegin;

delete_from  SysLastValue where SysLastValue.userId=='Твой код пользователя в аксапте';

ttscommit;
}
и еще
кеш сбросить надо, то проверь в: Администрирование\Пользователи\Настройка пользователя\использование Данных\ Вкладка Все Данные.
Все строки выделяешь и удаляешь ;-)

Последний раз редактировалось Poleax; 03.09.2008 в 14:49.
Старый 03.09.2008, 16:48   #6  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Попробовала, отработало, но решению обозначенной в самом начале проблемы не помогло
Все равно спасибо
Старый 03.09.2008, 16:50   #7  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
chanchala Еще раз снова можете сформулировать проблему? как понять
Цитата:
отработало, но решению обозначенной в самом начале проблемы не помогло
Все равно спасибо
проблему значит не решили?
Старый 03.09.2008, 17:29   #8  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Пока нет. Буду думать
Старый 03.09.2008, 17:33   #9  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
может это быть не в кеше дело, а просто в какомто методе просто по умолчанию данные подымаются из других таблиц?
Если скажете название формы, путь к ней и версию аксапты, думаю можно покапаться в коде и найти что нибудь.
Старый 03.09.2008, 17:37   #10  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от chanchala Посмотреть сообщение
Пока нет. Буду думать
А можно посмотреть код, который выполняется по нажатию кнопки?
Или у Вас там чере Menu Item серьёзный класс дергается?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.09.2008, 10:01   #11  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Цитата:
Сообщение от Poleax Посмотреть сообщение
может это быть не в кеше дело, а просто в какомто методе просто по умолчанию данные подымаются из других таблиц?
Если скажете название формы, путь к ней и версию аксапты, думаю можно покапаться в коде и найти что нибудь.
Форма не аксаптовская, а рукописная, так что...
Старый 04.09.2008, 10:10   #12  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от chanchala Посмотреть сообщение
Форма не аксаптовская, а рукописная, так что...
Ну формато написана в аксапте, я так понимаю?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.09.2008, 10:18   #13  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Цитата:
Сообщение от lev Посмотреть сообщение
А можно посмотреть код, который выполняется по нажатию кнопки?
Или у Вас там чере Menu Item серьёзный класс дергается?
Код достаточно простенький. Информация о паспорте изделия хранится в двух таблицах PREMScanList (переменная _psl) и PREMPassportTable (переменная _pt). В случае удаления паспорта удаляются строки из обеих таблиц.

X++:
DialogBox           db;
    int                 answer;
    xSession            xS;
    InventJournal       ij;
    JournalID           jID;
    ;

    super();

    xS = new xSession();

    db = new DialogBox(2, "Вы действительно хотите удалить выбранную строку из списка сканирования без сохранения в таблице паспортов?", "Сообщение", "", 3);

    if (db.retval() == 1)
    {
        ttsbegin;

        while select forupdate _psl
        where _psl.ScanLogin == xS.userId() &&
        _psl.BarCode == PREMScanList_BarCode.valueStr()
        {
            if (_psl.validateDelete())
            {
                while select forupdate _pt
                where _pt.BarCode == _psl.BarCode
                {
                    _pt.delete();
                }

                _psl.delete();
            }
        }

        ttscommit;
    }

    PREMScanList_ds.executeQuery();
    PREMScanList1_ds.executeQuery();
    PREMPassportTable_ds.executeQuery();
Старый 04.09.2008, 10:38   #14  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от chanchala Посмотреть сообщение
...
PREMScanList_ds.executeQuery();
PREMScanList1_ds.executeQuery();
PREMPassportTable_ds.executeQuery();
...
[/XPP]
похоже у Вас просто форма не обновляется, я бы сделал вот так:
X++:
    PREMScanList_ds.research();
    PREMScanList1_ds.research();
    PREMPassportTable_ds.research();
Потому что на сколько я знаю при выполнении research() перечитываются данные и обновляется форма, а при выполнении executeQuery() просто перечитываются данные.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 04.09.2008, 10:40   #15  
ViV is offline
ViV
Axapta Retail User
Самостоятельные клиенты AX
Axapta Retail User
 
200 / 79 (3) ++++
Регистрация: 14.09.2005
А вы при/после открытия формы пользуетесь фильтрами? Если были фильтры и мы при них будет создавать строку - она по умолчанию заполнится значениеми фильтра.

Создаете стандартным способом?
Старый 04.09.2008, 10:45   #16  
ViV is offline
ViV
Axapta Retail User
Самостоятельные клиенты AX
Axapta Retail User
 
200 / 79 (3) ++++
Регистрация: 14.09.2005
;)
Цитата:
Сообщение от lev Посмотреть сообщение
похоже у Вас просто форма не обновляется, я бы сделал вот так:
X++:
    PREMScanList_ds.research();
    PREMScanList1_ds.research();
    PREMPassportTable_ds.research();
Потому что на сколько я знаю при выполнении research() перечитываются данные и обновляется форма, а при выполнении executeQuery() просто перечитываются данные.
При выполнении executeQuery() заново выполняется запрос к базе данных и форма обязательно обновляется. Как следствие при этом слетает текущий курсор.
Старый 04.09.2008, 10:45   #17  
chanchala is offline
chanchala
Участник
Аватар для chanchala
 
113 / 10 (1) +
Регистрация: 14.05.2008
Адрес: СПб
Фильтрами пользуюсь. Фильтрую по логину пользователя, а "запоминаются" значения совсем других полей.
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
Где Аксапта хранит значения Параметров!? 3oppo DAX: Программирование 1 30.08.2006 07:48
Добавление строк при изменении значения контрола 36AC DAX: Программирование 3 11.08.2005 12:56
Где хранятся настройки пользователей tolstjak DAX: Администрирование 3 21.01.2005 13:25
Где хранятся данные налогового платежа? SAN DAX: Программирование 5 08.10.2004 08:49
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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