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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.03.2005, 19:41   #1  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
findRecord - Out of memory
На форме номенклатуры (около 200 000 позиций) пытаюсь сделать findRecord.
Если код номенклатуры относительно небольшой, то все отрабатывает на ура. Если ближе к концу, то Аксапта крепко задумывается на минуту - полторы, после чего вываливается с Out of Memory.

Кто-нибудь наступал на эти грабли?
Старый 31.03.2005, 20:25   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Ближе к концу чего?
Старый 31.03.2005, 20:41   #3  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Ближе к максимальному коду
Старый 31.03.2005, 20:46   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
findRecord - это метод таблицы inventTable?

или вы в форме нажимаете правую кнопку мыши и выбираете пункт Найти...?
Если ищете мышкой, вы ищите по полю код?

Какая версия Аксапты? Какой сервис-пак?
Старый 31.03.2005, 20:52   #5  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Делаю так:
PHP код:
lineFound InventTable::find(itemId);
 if(
lineFound.recId
      
inventTable_ds.findRecord(lineFound
Мышкой по полю 'код' все работает отлично

Axapta3.0, SP2
Старый 31.03.2005, 20:54   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
А так то зачем?
Зачем вы дергаете датасорс?
Старый 31.03.2005, 20:56   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
И еще поставьте экзешник от 3го сервис-пака.
хуже не будет.

только устанавливать надо на всех клиентов и на аос.
Старый 31.03.2005, 20:58   #8  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
А как же мне еще спозиционироваться на запись в гриде формы?
Старый 31.03.2005, 20:59   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
а зачем нужно спозиционироваться на гриде?
причем на неотфильтрованном гриде?
Старый 31.03.2005, 21:03   #10  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Хм... И правда, зачем? :-)
Старый 01.04.2005, 09:45   #11  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Вообще, findRecord - исключительно вредная функция. Если Вам необходимо установить курсор на некоторую запись, проверьте сначала, что она есть в буфере с помощью getFirst()/getNext(). Если нет, добавьте запись в буфер с помощью create().
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 01.04.2005, 10:24   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Максим, а можно поподробней? С примером.
Спасибо
Старый 01.04.2005, 10:31   #13  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Цитата:
Изначально опубликовано Maxim Gorbunov
Вообще, findRecord - исключительно вредная функция.
Да уж, в ее "вредности" я убедился Задача была следующая: при считывании сканером ШК позиционироваться на запись в гриде. На небольших отсортированных гридах проблем не возникало, а на номенклатуре Аксапта и накрылась. Решил с помощью ds.filter(...)

mazzy, спасибо.
Старый 01.04.2005, 10:42   #14  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано kashperuk
Максим, а можно поподробней? С примером.
Спасибо
Хорошо. На выходных набросаю.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 01.04.2005, 12:08   #15  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
И в ФАК?
Старый 01.04.2005, 12:13   #16  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да не, ФАК здесь не при чем. Лучше вообще так не делать
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 01.04.2005, 12:15   #17  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Вот, вместо findRecord`a:
http://www.axforum.info/forums/showt...8883#post38883
__________________
Андрей.
Старый 01.04.2005, 13:52   #18  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, кстати, в той ветке есть и пример кода, который делает то, что я написал выше.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 13.04.2005, 16:53   #19  
Denicce is offline
Denicce
Участник
 
62 / 54 (2) ++++
Регистрация: 22.03.2005
Адрес: Москва
Проблемка: в моей таблице нет уникальных индексов, окромя RecId, ессно. Но по большим RecId (которые на форме отражаются отрицательными целочисленными величинами) методика эмуляции перехода к основной таблице не работает. С малыми RecId все в порядке.



Чего делать?

findRecord работает жутко медленно в данном случае, т.к. много записей.
PHP код:
void clicked()
{
    
#define.Down(-2063383882)

    
CustInvoiceTable    save CustInvoiceTable::FindRecId(#Down);

    
CustInvoiceTable_DS.executeQuery();

    
element.args().lookupField(fieldNum(CustInvoiceTableRecId));
    
element.args().lookupValue(queryValue(save.RecId));
    
CustInvoiceTable_ds.executeQuery();


Старый 13.04.2005, 17:09   #20  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
попробуйте без queryValue()
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ax 3 SP4 Out of memory Arahnid DAX: Администрирование 17 01.09.2008 18:04
memory leak in Axapta 3.0 Blog bot DAX Blogs 1 15.08.2008 11:56
Smartheap Library out of memory Fedor DAX: Программирование 11 02.03.2005 13:18
Out of memory Swetik DAX: Программирование 9 02.04.2004 06:33
Ошибка "Memory could not be "read" kalex DAX: Администрирование 14 23.01.2003 12:54

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

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

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