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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.07.2008, 14:08   #1  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
Поле с кодом "0"...
что означает ошибка
Поле с кодом "0" в таблице "Такой то" не обнаружено.

что за код??? куда копать??? причем выскакивает методе класса где эта таблица вообще не упоминается...
Старый 25.07.2008, 14:10   #2  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
там, наверное, map упоминается... Который и надо посмотреть...
Старый 25.07.2008, 14:11   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от V777 Посмотреть сообщение
куда копать???
В класс info метод add
Старый 25.07.2008, 14:23   #4  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
Цитата:
Сообщение от Yprit Посмотреть сообщение
там, наверное, map упоминается... Который и надо посмотреть...
мап упоминается я его просмотрел...да в нем есть это поле но оно нифига не заполняется...но мап по другаму обзывается и к этой таблице тоже отношения не имеет как я понял...
Старый 25.07.2008, 14:28   #5  
Yprit is offline
Yprit
Злыдни
Аватар для Yprit
Злыдни
 
419 / 93 (4) ++++
Регистрация: 22.02.2004
Адрес: СПб
Мэп - это всего лишь попытка распространить принципы ООП на табличные переменные. А операции производятся с реальными таблицами, согласно структуре мэппинга. Чтобы не гадать - покажите кусок кода, ну или просто настройте меппинг "Поле мэпа -> поле таблицы, на которое ругается"
За это сообщение автора поблагодарили: V777 (1).
Старый 25.07.2008, 14:34   #6  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
мда действительно...спасибо...
Старый 27.08.2009, 07:45   #7  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
Столкнулся с такой же ошибкой, map вроде бы не участвует...
\Classes\PurchTotals\calc
currency = purchTable.CurrencyCode;

purchTable.CurrencyCode = "RUR" - инициал.через vendTable.
в ошибке: "Поле с кодом 0 в таблице PurchParmTable не обнаружено."
Миниатюры
Нажмите на изображение для увеличения
Название: error.JPG
Просмотров: 319
Размер:	111.6 Кб
ID:	5036  
Старый 27.08.2009, 10:27   #8  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
может банальная [глобальная] перекомпиляция поможет?
__________________
Zhirenkov Vitaly
Старый 27.08.2009, 10:41   #9  
Alexx7 is offline
Alexx7
Сам.AX
Аватар для Alexx7
Самостоятельные клиенты AX
1C
 
305 / 28 (1) +++
Регистрация: 22.07.2009
Такая же ошибка при разноске/проверке журнала.
проверка проходит после прогонки Job с кодом
X++:
    RPayJournalTrans    rPayJournalTrans;
    int                 i = 1;
    ;

    ttsbegin;

    while select forupdate rPayJournalTrans
        where rPayJournalTrans.JournalId == 'Номер журнала который не разносится'
    {
        rPayJournalTrans.LineNum = i;
        rPayJournalTrans.update();
        i ++;
    }

    ttscommit;
Но постоянно прогонять джоб тоже не вариант. А проблема так и не уходит. Что можно сделать?

Последний раз редактировалось Alexx7; 27.08.2009 в 10:45.
Старый 27.08.2009, 11:30   #10  
nano3 is offline
nano3
Участник
 
57 / 24 (1) +++
Регистрация: 21.03.2007
Цитата:
Сообщение от ZVV Посмотреть сообщение
может банальная [глобальная] перекомпиляция поможет?
можно сначала попробовать compile forward
Объявляем переменную - в дебагере нету
Старый 27.08.2009, 13:40   #11  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
Компиляция не помогает (ни глобальная, ни инкрементная).

Забыл указать Kernel 4.0.2501.116
Application 4.0.2501.121
Retail version: R7.04.0800.0
Старый 27.08.2009, 14:56   #13  
Alexx7 is offline
Alexx7
Сам.AX
Аватар для Alexx7
Самостоятельные клиенты AX
1C
 
305 / 28 (1) +++
Регистрация: 22.07.2009
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ну здесь только как найти ошибку, используя отладчик. Совершенно не ясно почему возникает эта ошибка? т.е. в какой момент пользователь делает что то не так... если в результате журнал не проверяется/разностися а дает такую ошибку.
см. мой пост выше.
Старый 27.08.2009, 14:59   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Alexx7 Посмотреть сообщение
Совершенно не ясно почему возникает эта ошибка?
Там же все написано - используйте стек отладки. поднимайтесь по стеку, чтобы выяснить первопричину.

если вас смущает то, что у пользователя: включите ему средства разработки и поставьте ему точку останова. попросите его позвать вас как только он увидит что-то непонятное и красное
__________________
полезное на axForum, github, vk, coub.
Старый 27.08.2009, 15:12   #15  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от kaw Посмотреть сообщение
purchTable.CurrencyCode = "RUR" - инициал.через vendTable. в ошибке: "Поле с кодом 0 в таблице PurchParmTable не обнаружено."
Если по факту у вас - таблица PurchTable, а Аксапта пишет про PurchParmTable, то, видимо, ее где-то переклинило на счет id-шиков таблиц. С учетом того, на каком слое расположены таблицы, остается только шаманить с компиляцией, удалением индекса приложения, удалением кэшей на клиенте...
PS. Буквально вчера словил аналогичную ошибку на собственном Map'е для двух таблиц. Одно и то же отмапленное поле с одной таблицей работало нормально, а с другой - приводило к вылету ошибки про нулевой идентификатор. В моем случае вылечилось лишь после удаления Map'а из AOT, заливки его по-новой без сохранения идентификаторов и нескольких перекомпиляций всего кода, ссылавшегося на Map. Но, очевидно, когда объекты расположены на sys/dis/gls-слоях, это - не выход.
За это сообщение автора поблагодарили: kaw (1).
Старый 28.08.2009, 09:04   #16  
kaw is offline
kaw
Участник
 
122 / 35 (2) +++
Регистрация: 23.03.2004
Адрес: Новосибирск
Цитата:
Сообщение от mazzy Посмотреть сообщение
в данном случае в начале вылетает ошибка Debugger-а
а потом уже система дублирует ее в инфолог
запускает info.add()
Старый 28.08.2009, 09:34   #17  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Цитата:
Сообщение от Alexx7 Посмотреть сообщение
Такая же ошибка при разноске/проверке журнала.
проверка проходит после прогонки Job с кодом
X++:
    RPayJournalTrans    rPayJournalTrans;
    int                 i = 1;
    ;

    ttsbegin;

    while select forupdate rPayJournalTrans
        where rPayJournalTrans.JournalId == 'Номер журнала который не разносится'
    {
        rPayJournalTrans.LineNum = i;
        rPayJournalTrans.update();
        i ++;
    }

    ttscommit;
Но постоянно прогонять джоб тоже не вариант. А проблема так и не уходит. Что можно сделать?
Это старый известный баг (странно, что до сих пор не поправили). Правда, он несколько из другой серии, нежели вышеприведенные сообщения. Тут проблема в том, что из-за некорректного индекса на RPayJournalTrans неверно работает автонумерация строк (присвоение значений полю LineNum) при создании строк журнала через форму RPayJournalTrans. Автонумерация строк журнала опирается на то, что LineNum должен быть уникальным в рамках каждого журнала, см. таблицы строк стандартных журналов InventJournalTrans, ProjJournalTrans, ProdJournalBOM, ProdJournalRoute. В этом плане в LedgerJournalTrans есть небольшое отличие, но оно связано с ваучером и особенностями разноски строк журнала ГК.

Наши же локализаторы, как всегда пошли своим путем, создав на RPayJournalTrans индекс JournalLineIdx и засунув в него помимо JournalId и LineNum еще кучу полей. В результате, автонумерация, которая обеспечивается заполнением свойства CounterField на дата-сорсе, работает некорректно. Решение достаточно простое:
1. Создать уникальнай индекс на таблице RPayJournalTrans из двух полей: JournalId и LineNum (именно в таком порядке). Тут надо быть осторожным, если у вас уже есть кривые журналы с неправильными номерами строк, необходимо выполнить джоб для их перенумерации, наподобие того, что привел выше Alexx7.
2. На форме RPayJournalTrans у одноименного дата-сорса в свойстве Index указать созданный в п.1 индекс.

После этого разноска журнала зарплаты не будет вызывать описанной ошибки.
За это сообщение автора поблагодарили: Alexx7 (1).
Теги
axapta retail, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поле "Оплатить до" в строке общего журнала longson DAX: Функционал 7 29.03.2008 14:38
Ошибка: фантомное дублирующее поле типа "дата" в гриде belugin DAX: Программирование 8 14.06.2006 00:15
поле "Документы к обновлению" в форме "Обработка закупки" sev DAX: Функционал 3 08.12.2005 17:21
Заказ. Форма "Разноска накладной"->Строки-> Поле "закрытие" ATimTim DAX: Функционал 2 30.11.2004 16:14
Журнал переноса->Строки->Поле "Количество" . Нужен "0" по умолчанию вместо ATimTim DAX: Функционал 5 26.06.2004 12:17

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

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

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