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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2013, 10:31   #1  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
Глюк с таблицей RpayHRMOrganization в DAX2009
С момента перехода на 2009 наблюдается следующий глюк:
таблица RpayHRMOrganization периодически исчезает из АОТ, хотя из датасорса формы открывается в обозревателе и в администрировании SQL она тоже есть.
Но в методах она не доступна, то есть при попытке компиляции методов, где она используется, выдается сообщение, что переменная не была объявлена. Хотя ранее скомпилированное работает без проблем.

Как с этими исчезновениями можно бороться? и из-за чего это может происходить?

ПС версия АХ на скрине, на чистую АХ установлено решение АНД-проджект "Зарплата и кадры", База данных на SQL2008.
Id таблицы ни с чем не пересекается, проверено не однократно.

ПС2 Через администрирование SQL таблицу синхронизируешь, перезайдешь в аксапту и таблица появилась.
Нажмите на изображение для увеличения
Название: RpayHRMOrganization.jpg
Просмотров: 419
Размер:	222.0 Кб
ID:	8399

Последний раз редактировалось d_alexe; 20.09.2013 в 10:36.
Старый 20.09.2013, 10:43   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Может вам в приложении индексы (*.aoi) пересоздать ?
Старый 20.09.2013, 11:51   #3  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
В схожей ситуации помогла переиндексация в средствах разработки (Сервис \ Средства разработки \ Объекты приложения \ Переиндексация)
__________________
Здесь могла быть Ваша реклама!
Старый 20.09.2013, 14:32   #4  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
И логику переиндексировали и глобальную компиляцию запускали, ни чего не помогает

не как таблицу вернуть я знаю, а вот почему она пропадает и как от этого избавиться, вот в чем вопрос
Старый 20.09.2013, 14:47   #5  
rootx is offline
rootx
Участник
 
28 / 18 (1) ++
Регистрация: 17.02.2008
Слава богу, а то думал у меня одного такие глюки, первый раз зайду она есть , второй раз в аоте уже ее нет. Плюнул захожу через проекты.))
Старый 20.09.2013, 14:52   #6  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
так она и в проектах так же, то есть, то нет.

… Видишь суслика?
— Нет.
— И я не вижу. А он есть! (c)ДМБ

вот и тут так же
Старый 20.09.2013, 15:23   #7  
rootx is offline
rootx
Участник
 
28 / 18 (1) ++
Регистрация: 17.02.2008
Странно, у нас пропадает только из самого аоса, редко но бывает, в проектах остается.
Старый 23.09.2013, 15:41   #8  
LRA is offline
LRA
Участник
 
41 / 39 (2) +++
Регистрация: 19.12.2005
Адрес: Москва
Столкнулись с похожей проблемой. Победили так. Запустите следующий джоб (ногами не пинать – писали начинающие стажеры), если джоб найдет ошибки, то надо будет написать ещё один джобик, который удалить "испорченные" объекты.
X++:
// Поиск дубликатов объектов с различными ID
static void findDuplicateJob_LRA(Args _args)
{
    Dictionary                  dict1 = new Dictionary();
    Dictionary                  dict2 = new Dictionary();
    DictTable                   dictTable1;
    DictTable                   dictTable2;
    DictEnum                    dictEnum;
    DictType                    dictType;
    int                         i1, i2, num;
    ;
    // Обработка таблиц
    for (i1 = 1; i1 <= dict1.tableCnt(); i1++)
    {
        dictTable1 = new DictTable(dict1.tableCnt2Id(i1));
        if (dictTable1)
        {
            print strFmt("%1 из %2    %3", i1, dict1.tableCnt(), dictTable1.name());
            for (i2 = i1+1; i2 <= dict2.tableCnt(); i2++)
            {
                dictTable2 = new DictTable(dict2.tableCnt2Id(i2));
                if (dictTable2)
                {
                    if (dictTable1.name() == dictTable2.name() && dictTable1.id() != dictTable2.id())
                    {
                        // Здесь собственно и есть ошибка
                        error(strFmt("Ошибка в объекте %1  %2  %3", dictTable1.name(), dictTable1.id(), dictTable2.id()));
                        num++;
                    }
                }
                else
                {
                    info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2)));
                }
            }
        }
        else
        {
            info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2)));
        }
    }
 
    info(strFmt("Готово! Ошибок %1", num));
}
Внедряли у нас Dynamics AX кстати, тоже АНД-проджект, и такая же байда была не только с таблицами, больше всего траболов всплыло на енумах и EDT. Кажется, ещё и на классах.
«Сервис \ Средства разработки \ Объекты приложения \ Переиндексация» у нас безвозвратно подвисала Dynamics AX.

Последний раз редактировалось LRA; 23.09.2013 в 15:57.
Старый 23.09.2013, 16:42   #9  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
По-пробовал не помогло. "Ошибок 0."
В общем-то, как и ожидалось, так как на пересечения по Id или названию проверялись в-первую очередь.
Старый 23.09.2013, 16:43   #10  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Я замечал, что такие глюки бывают из-за того, что на разных слоях объект существует с названием в разных регистрах символов (например RPayHRMOrganization и RpayHRMOrganization).
За это сообщение автора поблагодарили: Logger (3), Ace of Database (3), Ivanhoe (1), d_alexe (1).
Старый 24.09.2013, 08:34   #11  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
Цитата:
Сообщение от McArrow Посмотреть сообщение
Я замечал, что такие глюки бывают из-за того, что на разных слоях объект существует с названием в разных регистрах символов (например RPayHRMOrganization и RpayHRMOrganization).
Похоже вот оно на
SL2 - RPayHRMOrganization, а на
CUS & USR - RpayHRMOrganization

теперь надо пробовать переименовать как-то, в лоб не получилось
Старый 24.09.2013, 08:52   #12  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Я думаю, надо попробовать послойно экспортировать слои в XPO, потом удалить из AOT, поправить регистр в XPO и импортировать в обратном порядке (данные могут покриветь, если пройдёт синхронизация таблиц -- в зависимости от имеющихся модификаций на удаляемых слоях. Вообще лучше на тестовой инсталляции опробовать для начала).
Старый 24.09.2013, 10:04   #13  
d_alexe is offline
d_alexe
Участник
 
17 / 10 (1) +
Регистрация: 01.04.2009
Цитата:
Сообщение от McArrow Посмотреть сообщение
Я думаю, надо попробовать послойно экспортировать слои в XPO, потом удалить из AOT, поправить регистр в XPO и импортировать в обратном порядке (данные могут покриветь, если пройдёт синхронизация таблиц -- в зависимости от имеющихся модификаций на удаляемых слоях.
абсолютно верно так и попробовал, все получилось. При чем даже не удаляя послойно, можно просто проекты с измененным именем сверху накатывать, только где это может аукнуться дальше хз. По-этому лучше удалить и накатить.

Цитата:
Сообщение от McArrow Посмотреть сообщение
Вообще лучше на тестовой инсталляции опробовать для начала).
Ну это само собой разумеющиеся , чай не первый год замужем
Теги
rpayhrmorganization, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Производительность и надежность Workflow в DAX2009 db DAX: Функционал 25 30.01.2013 12:20
DAX2009 не дружит с VS2010 oleg_e DAX: Администрирование 2 17.06.2010 10:34
Вопросы по OLAP в DAX2009 oleg_e DAX: Функционал 9 10.12.2008 02:02
Апгрейд существующего приложения на DAX2009 petr DAX: Администрирование 3 03.09.2008 18:54
Глюк автоматическое рассопопоставление Logger DAX: Функционал 4 14.07.2006 10:09

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

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

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