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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.06.2015, 09:35   #1  
axm2013
Гость
 
n/a
Имхо сложно сказать смотреть надо. Было бы замечательно если бы пример проблемы в виде xpo-шника выгрузили.
Старый 17.01.2017, 08:52   #2  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
А последовательный вызов SysFlushDictionary, SysFlushAOD и SysFlushData не помогает?
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 17.01.2017, 09:12   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Это первое что попробовал.
Не помогает.
Пробовал запускать и на клиенте и на сервере.
Старый 25.01.2017, 19:43   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
в микрософт вроде разрабочки изолированно работают, так что рестрат не должнен быть проблемой
2 trud

Я выше в описании пояснил почему это все же проблема :
1. Как правило после добавления поля - надо их заполнить тестовыми данными и тут же прогнать проверку. Крайне неудобно закрывать клиента со всеми окнами редактора кода, затем снова открывать их и вспоминать что и где было. Это очень сильно замедляет процесс разработки. Особенно "приятно" это ощущать когда проект уже стартовал, надо срочно пофиксить баги, над душой стоит начальник с воплем, что ты сейчас зафакапишь нам все внедрение, а ты в очередной раз перестартуешь аос и снова открываешь редактор кода там где он был открыт 2 минуты назад

2. У меня к разработке может быть подключен вебпортал в котором крутится функциональность, которую я довожу до ума. Нашел ошибку - подправил код, снова продолжаю тестирование.
Все перестартовывать крайне неудобно даже для одного разработчика.

Кроме того, разве у нас запретили совместную разработку на одном аосе ? Нигде не видел такого указания.
Да и в чем проблема то ? Дописать в ядре аналог классов SysFlushDictionary, SysFlushAOD и SysFlushData чтобы обнуляли соответствующий кеш объектов и все.
Это просто лень и наплевательское отношение к коллегам по прикладной разработке.

Последний раз редактировалось Logger; 25.01.2017 в 19:49.
Старый 25.01.2017, 19:51   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Надо будет попрбовать запустить аос с ключом
-INTERNAL=NOCURSORREUSE

есть подозрение, что поможет.
Старый 25.01.2017, 20:10   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Проверил, похоже
-INTERNAL=NOCURSORREUSE
нас спасает. Не удается повторить глюк.

Правда это достигается ценой снижения производительности. Но в деве это некритично.
За это сообщение автора поблагодарили: fed (3), Ace of Database (3), Perc (2), ax_mct (3), alex55 (3), S.Kuskov (2), Товарищ ♂uatr (1).
Старый 27.01.2017, 01:50   #7  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Logger Посмотреть сообщение
Проверил, похоже
-INTERNAL=NOCURSORREUSE
нас спасает. Не удается повторить глюк.

Правда это достигается ценой снижения производительности. Но в деве это некритично.
Круто, у меня под рукой всегда скрипт рестарта АОСа, думал это рутинная операция для дев
А где вы этот ключ нашли, мне что то гугл не хочет показывать...
По поводу наплевательского отношения, так это же не первый случай, на разработчиках бабла не срубишь и они где то в конце списка, если вообще там
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
Старый 27.01.2017, 07:41   #8  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Link Посмотреть сообщение
А где вы этот ключ нашли, мне что то гугл не хочет показывать...
На форуме было
internal

Аудит блокировок

ошибка update_recordset

Последний раз редактировалось Logger; 27.01.2017 в 07:50.
За это сообщение автора поблагодарили: Link (5).
Старый 30.01.2017, 13:22   #9  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Logger Посмотреть сообщение
Да, спасибо, я искал документацию, и вот что удалось найти:

The Internal command-line parameters


Axapta has a number of command-line parameters which extends the formal and documented list of parameters. All of these takes the form -INTERNAL=something, where something denotes the flavor of the parameter. Below is a list of parameters maintained by the BackOffice Feature Team (links to whitepapers appear where appropriate):

-INTERNAL=NOCURSORREUSE Disable the SQL cursor reuse mechanism. Hurts performance, improves easy of tracing/debugging

-INTERNAL=COMMENTS Insert comments in the generated SQL showing the values of placeholders.

-INTERNAL=RELAXEDONTTSLEVEL Suppress the TTS level checking. Should only be used with care.

-INTERNAL=RELAXEDONUPDATE Suppress the checks on updates, and deletes (manipulating data which was not seleted locked)

-INTERNAL=UNIQUEINDEXES Force all Axapta indexes to be created unique (i.e. by appending the RecId column to the index). Requires the database to be re-indexed to be applied to the database.

-INTERNAL=SYSLASTVALUE Make the table SysLastValue be stored in Axapta internal storage (as opposed to the SQL database). For backward compatibility only.

-INTERNAL=SYSLASTVALUECACHE:cacheMode Overrule the default caching method on the system table SysLastValue. Default is 3 (“NotFound”), valid values 0 through 3. Used for testing and debugging purposes only.

-INTERNAL=MONOCASE Simulate the way the Oracle-version handles indexed fields, i.e. lower (“mono”) case the data. Used for testing and debugging purposes only.

-INTERNAL=NODATAAREAID Simulate the “SavePerCompany” table property to be “FALSE” on all tables. To be used in benchmarking.

-INTERNAL=NOSYNCTABLELOCK Don’t apply exclusive tablelock on a table being synchronized.

Еще есть для клиента:

-INTERNAL=NOMODALBOXES switch prevents Axapta from different pop-ups during the process.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: sukhanchik (6), Logger (3), Ace of Database (3), Raven Melancholic (2), gl00mie (3), -DocSerzh- (1).
Старый 27.01.2017, 11:31   #10  
VORP is offline
VORP
Участник
Аватар для VORP
 
147 / 95 (4) ++++
Регистрация: 26.05.2006
Наверное не то, но недавно натолкнулся, в базу знаний как говорится. На форму LedgerParameters Добавили ReferenceField. Поле сохраняется, но пишет что оно не извлечено. Оказалось что проблема в том что на форме удалён супер в методе init, и это стандарт. Как следствие дополнительные датасорсы по Reference Field не Outer джойнятся.
Старый 27.01.2017, 14:41   #11  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Парад "Неизвлеченных" полей.
На форме CustTable в источнике данных CustTable надо перекрыть метод executeQuery() вот так:
X++:
public void executeQuery()
{
    QueryBuildDataSource    qbds = this.query().dataSourceName(this.name());
    ;
    qbds.orderMode(OrderMode::GroupBy);
    super();
}
Миниатюры
Нажмите на изображение для увеличения
Название: НеИзвлечено.jpg
Просмотров: 555
Размер:	218.0 Кб
ID:	11162  

Последний раз редактировалось Ace of Database; 27.01.2017 в 14:43.
Старый 27.01.2017, 16:36   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
Парад "Неизвлеченных" полей.
...
Ну это не баг.
Просто из-за группировки, поля из базы не выбраны и ядро об этом сигнализирует. И это хорошо.
Старый 27.01.2017, 17:08   #13  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Да, приятно самому управлять программно надписью "Поле не извлечено", именно когда сам этого хочешь
Старый 30.01.2017, 14:33   #14  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Да, прикольная ссылочка. Мне тоже попадалась.
Кстати, если открыть ax32Serv.exe и поискать в UTF16 подстроку NOCURSORREUSE то рядом с ней найдется еще кучка параметров, которые в указанной ссылке не упомянуты (конечно без описания, но у некоторых по названию ясно что делают) :

ENABLEREFERENCECOUNTERTRACE
ENABLEEVALSTACKINDEXCHANGETRACE
HANDLEASSIGNMENT:NO
SKIPUTILLAYERSQUERY
FORCECLISTRCMP

DELETECONFIGFILE
CRASHLOGPOSTFIX:
RECCACHE:
REPORTWARNINGS
SILENT
NOUNLOADONCOMPILE
NOVCS
NOARRAYFETCH:
OLDCOMPILEROUTPUT
STRICTSYNTAX
RELAXEDSYNTAX
NOSYNCTABLELOCK
NODATAAREAID
GENERATEKEYHELP
NOMODALBOXES
AOCPLOG
CSDEBUGLOG
SYSLASTVALUECACHE:
MAXCACHELEVEL:
IMPORTEXPORTID
EXTRACTDOCUMENT
UNIQUEINDEXES
STRICTONUPDATE
SHOWUNFREED:
STRICTONTTSLEVEL
RELAXEDONUPDATE
RELAXEDONTTSLEVEL
STATISTICS
SHOWSQLERROR
MOVEAOTELEMENTS
NOCURSORREUSE
SHOWDEBUG
CLASSONSERVER
REVERSEMAP
NORESTRICTED
NOSCOPE

Последний раз редактировалось Logger; 30.01.2017 в 14:35.
Старый 30.01.2017, 15:37   #15  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Надпись "Поле не извлечено" очень полезна при модификации форм, на которых отображаются сгруппированные данные. При добавлении новых полей есть шанс забыть сделать по ним группировку.
Раньше в таких случаях отображалось пустое значение, а сейчас - "Поле не извлечено".
Например, в форму "в наличии" мне надо было добавить отображение остатков в разрезе самодельных полей в партии товара.
Надпись "Поле не извлечено" напомнила, что надо залезть в класс InventDimCtrl_Frm_OnHand и добавить в метод modifyQuery группировку по самодельным полям.

Последний раз редактировалось Ace of Database; 30.01.2017 в 15:40.
За это сообщение автора поблагодарили: Logger (1), gl00mie (2), dech (2).
Старый 04.07.2019, 17:35   #16  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Экспресс-вариант: временно изменить на таблице свойство CacheLookup в None.

Главное потом не забыть вернуть обратно.
Старый 04.07.2019, 21:17   #17  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от alex55 Посмотреть сообщение
Экспресс-вариант: временно изменить на таблице свойство CacheLookup в None.

Главное потом не забыть вернуть обратно.
Какую проблему это решает?
Старый 18.07.2019, 18:38   #18  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Какую проблему это решает?
Помогало с поле "не извлечено" на формах без рестарта AOS.
Старый 19.07.2019, 13:48   #19  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от alex55 Посмотреть сообщение
Помогало с поле "не извлечено" на формах без рестарта AOS.
Мне тоже сперва так показалось. Я игрался этим свойством, но по факту оно не влияет.

Внимательно посмотрите описанный мной пример как воспроизводить баг.
Ядро держит некий пул курсоров и случайным образом хватает оттуда объекты, так что в итоге при последовательном добавлении нескольких полей в табличку может получиться так, что у вас в пуле будут разные курсоры, с корректным перечнем и с неправильным (разным количеством полей). По несчастливой случайности при выполнении запроса из аксапты может попасть курсор с корректным числом полей и у вас создастся ложное ощущение, что проблема решена, но если попробовать задействовать больше курсоров (открыть 5-10 обозревателей таблички или сделать несколько параллельных вставок в БД), то тут-то проблема и проявится.
Старый 10.08.2019, 15:18   #20  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Там просто меняется условие фильтрации, поэтому ядро открывает новый курсор, в котором корректный перечень полей.

Основная засада дам со вставкой записей в бд.
Теги
ax2012, command line parameters, internal, nocursorreuse, баг, не извлечено, параметры командной строки, поле не извлечено

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Sustained Engineering: Announcing Compatibility Certification of App-V 5.0 and TFS 2012 with Dynamics AX 2012 CU5 and Dynamics AX 2012 R2 CU1 Blog bot DAX Blogs 0 01.06.2013 04:38
AX 2012 R2 инсталляция polygris DAX: Администрирование 4 29.04.2013 15:38
dynamics-community.at: Neue Product Release Training Web Seminars für Dynamics AX 2012 R2 Blog bot DAX auf Deutsch 0 17.01.2013 12:11
DAX: Official Dynamics AX 2012 R2 Content (update) - Where is it, and how can you find out about updates? Blog bot DAX Blogs 0 03.12.2012 11:11
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11

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

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

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