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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.08.2010, 13:09   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 868 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
приложение для разработки есть? (там проблем нет?)
модифы переносите проектами? с идентификаторами удалением\пересозданием объектов или как-есть?

Случай загадочный, конечно. Обычно такое приключается после правки classDeclaration где-то в родительском классе и лечится инкрементной компиляцией.
Не понятно, что может "само" периодически портить уже откомпилированные классы.
Старый 25.08.2010, 14:15   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,821 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Wamr Посмотреть сообщение
приложение для разработки есть? (там проблем нет?)
модифы переносите проектами? с идентификаторами удалением\пересозданием объектов или как-есть?

Случай загадочный, конечно. Обычно такое приключается после правки classDeclaration где-то в родительском классе и лечится инкрементной компиляцией.
Не понятно, что может "само" периодически портить уже откомпилированные классы.
в приложении для разработки таких ошибок особо не замечено. переносим проектами, без идентификаторов.
Случай действительно загадочный и впервые в моей практике
Старый 02.09.2010, 10:34   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
:) вступил в ряды ice, с непонятным поведением new() :)
Вчера вечером стал очевидцем отказа классом потомком вызывать метод new() своего родителя. Как получилось такое восстановить....

Есть класс наследник от RunBase, назовем его ClassGeneral. В классе ClassGeneral унаследован метод new() и в нем выполняются некие действия. От класса ClassGeneral унаследовано куча классов, в основном отчетные классы. Понадобилось мне создать подобие одного из таких классов, назовем его ClassReport1. Соответственно что бы все заново не переписывать и не мучить кнопки Ctr+C и Ctrl+V воспользовался замечательной функцией дублирования, доступной по правой кнопке мыши. Сдублированный класс переименовал как мне надо, пусть будет ClassReport1_Copy, внес все нужные изменения. Запускаю свой класс и... При инициализации класса ClassReport1_Copy ни в какую не хочет выполняться метод new() класса родителя! (ClassGeneral ). Никакие танцы с бубнами (Глобальная компиляция, инкрементная компиляция класса ClassGeneral, обновление словаря, обновление данных, обновление ADO) не помогают. Так же не помог и экспорт\импорт класса (экспортировал, удалил, импортировал), что меня удивило .

Помогло только ручное создание класса-дубликата.

Ещё нюанс. Такое явление наблюдается только при дублировании старых классов, которые уже давно были созданы. Попробовал восстановить такое поведение с помощью новой иерархии тестовых классов. Все нормально дублируется. Метод new() класса родителя выполняется как не крути.

З.Ы. Ax3.0 SP3 Может кто сможет у себя такое поведение восстановить...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 02.09.2010, 12:12   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1789 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от lev Посмотреть сообщение
Ещё нюанс. Такое явление наблюдается только при дублировании старых классов, которые уже давно были созданы. Попробовал восстановить такое поведение с помощью новой иерархии тестовых классов. Все нормально дублируется. Метод new() класса родителя выполняется как не крути.
Тогда резонно предположить, что ошибка скорее всего закралась в какую-то систему кэширования, и процедура дублирования (в отличии от ручного создания) не обновляет информацию в кэше. Причём кэш может сбоить как на сервере так и на клиенте. Для AX2009 клиент создаёт некие файлы вот в этой папке c:\Users\%username%\AppData\Local\. С тройкой работал давно, сейчас уже не вспомню было ли там аналогичное кэширование на клиенте. Попробуйте воспроизвести ошибку под новым профилем с чистым кэшем.
За это сообщение автора поблагодарили: lev (2).
Теги
runbase

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связи между таблицами 1:N и N:1 Jox DAX: Программирование 10 12.07.2006 10:17
Связи между таблицами. braathe DAX: Программирование 7 18.02.2005 18:40
связи между таблицами при установлении прав доступа Manner DAX: Администрирование 9 08.10.2004 22:31

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

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

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