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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.05.2024, 07:40   #1  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
По-хорошему, после этого нужно бы остановить АОС DEV и выполнить коррекцию счетчиков RecId в табличках XREF* (иначе компиляция проекта с включенной галкой Перекрестные ссылки может привести к ошибкам), но честно признаюсь - я этого не делаю, ибо не хочется рестартовать АОС, а пока заявок на эту проблему не поступало
Это просто мы терпеливые.
На самом деле часто после копирования перекрестных ссылок на некоторых действиях Акса кричит, что не может вставить запись в XRef... Например, при просмотре таблиц при помощи Table browser.
За это сообщение автора поблагодарили: sukhanchik (3).
Старый 09.05.2024, 21:58   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Это просто мы терпеливые.
На самом деле часто после копирования перекрестных ссылок на некоторых действиях Акса кричит, что не может вставить запись в XRef... Например, при просмотре таблиц при помощи Table browser.
Странно конечно - зачем Аксе требуется создавать запись в Xref при открытии Table Browser (не встречал такого), но... ок, можно и этот момент исправить. Просто, к сожалению, табличку SystemSequences можно менять только при остановленном АОСе. И если вдруг обновление ссылок закончилось в "рабочее" время - то рестарт АОСа без предупреждения может напрячь...
__________________
Возможно сделать все. Вопрос времени
Старый 14.05.2024, 00:06   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Странно конечно - зачем Аксе требуется создавать запись в Xref при открытии Table Browser (не встречал такого), но...
Может из-за этого ?
Открыть в новом окне объект из кода
За это сообщение автора поблагодарили: sukhanchik (3).
Старый 14.05.2024, 07:19   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Конкретно этого кода не нашел на том приложении, на котором искал, но ... тут само действие хотя бы объяснимо - тут сама функция концептуально построена на генерации записей в XREFREFERENCES.
Но Table Browser тут точно ни при чем.

Попробую сначала решение со сбросом кэша...

Спасибо за версии!
__________________
Возможно сделать все. Вопрос времени
Старый 14.05.2024, 07:52   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Конкретно этого кода не нашел на том приложении, на котором искал
А чего его искать. Добавьте логирование с записью стека вызовов на вставке в xRef* таблички, пропуская это действие для юзера под которым крутится пакет. Оно все само найдет.
За это сообщение автора поблагодарили: sukhanchik (4).
Старый 14.05.2024, 08:52   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
А чего его искать. Добавьте логирование с записью стека вызовов на вставке в xRef* таблички, пропуская это действие для юзера под которым крутится пакет. Оно все само найдет.
Спасибо. Эта идея помогла решить другую задачу )).
Конкретно место всё-таки нашел и там (конкретно в моем случае) уже "по-правильному" исправлено
__________________
Возможно сделать все. Вопрос времени
Старый 15.05.2024, 08:06   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Это просто мы терпеливые.
На самом деле часто после копирования перекрестных ссылок на некоторых действиях Акса кричит, что не может вставить запись в XRef... Например, при просмотре таблиц при помощи Table browser.
Цитата:
Сообщение от michel1971 Посмотреть сообщение
Вместо рестарта аоса, можно попробовать дернуть \Classes\ReleaseUpdateBulkCopyDB\flushNextRecIdForTable
Цитата:
Сообщение от Logger Посмотреть сообщение
В общем, нашел более простое решение. Суть в том, чтобы не сдвигать RecId ПОСЛЕ массовой вставки данных, а в том, чтобы изначально "обнулять" RecId (ДО построения перекрёстных ссылок)

Т.е. общая схема такая:
  • Перед началом построения перекрестных ссылок останавливаем АОС (это вообще всегда полезно - прочистить память). Предполагаем, что с CIL проблем нет (он не развален и актуален для процедуры обновления ссылок)
  • Очищаем XREF*-таблички (через TRUNCATE)
  • Сдвигаем RecId по ним в табличке SystemSequences на "нулевое" значение. В роли "нулевого" значения я взял значение, которое устанавливает АХ для свежесозданной таблицы
  • Стартуем АОС и начинаем строить перекрестные ссылки

В моём случае (когда я использую отдельное приложение для сборки ссылок) на целевом приложении ссылки уже строились несколько раз и RecId уже сдвинуты на достаточно приличное "расстояние" от "нулевого".

Т.о. после массового переноса данных - в целевом приложении - в SystemSequences будут следующие значения RecId гораздо больше, нежели они будут сгенерированы на промежуточном приложении. Как следствие - проблем не возникнет.

Да, это конечно всё заморочки... Но сделав их один раз, запихнув в скрипт и шедулер уже про них забываешь и получаешь результат не думая, какими усилиями он получается.
__________________
Возможно сделать все. Вопрос времени
Старый 14.05.2024, 08:50   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Это просто мы терпеливые.
На самом деле часто после копирования перекрестных ссылок на некоторых действиях Акса кричит, что не может вставить запись в XRef... Например, при просмотре таблиц при помощи Table browser.
Нашел барабашку. Оказывается в стандарте всё хорошо . Но если пользоваться всякими утилитками, привнесенными извне - то да, в них могут быть и такие сюрпризы, как построение перекрестных ссылок при просмотре обозревателя таблиц )). Я то этим не пользовался никогда - вот и не замечал проблем

Нажмите на изображение для увеличения
Название: чч.png
Просмотров: 7
Размер:	21.6 Кб
ID:	13646
__________________
Возможно сделать все. Вопрос времени
Старый 14.05.2024, 09:15   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Нашел барабашку.
Ха, у нас тоже на HK Framework проявлялось. Поэтому и нашел, когда занялся оптимизацией.
Теги
ax2012, ax2012r2, ax2012r3, map, modelelementdata, table, view

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Sumit Potbhare: AX 2012 R3 | Statement Posting| Part IV: Hotfixes Blog bot DAX Blogs 0 23.06.2017 14:11
stoneridgesoftware: Part I: Configuring the Dynamics AX 2012 R3 Entity Store Blog bot DAX Blogs 0 27.04.2017 12:11
dynamicsaxse: Announcing Cumulative Update 12 for Microsoft Dynamics AX 2012 R3 Blog bot DAX Blogs 0 22.11.2016 13:11
axsa: Extensibility in Dynamics AX 2012 R3 CU8 (CRT, RetailServer, MPOS) Part 2 – New data entity Blog bot DAX Blogs 0 21.05.2015 01:19
amer-ax: It was a great day! Blog bot DAX Blogs 3 29.12.2012 01:02

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.