|  25.07.2008, 14:08 | #1 | 
| совсем зелен | Поле с кодом "0"... 
			
			что означает ошибка  Поле с кодом "0" в таблице "Такой то" не обнаружено. что за код??? куда копать??? причем выскакивает методе класса где эта таблица вообще не упоминается... | 
|  | 
|  25.07.2008, 14:10 | #2 | 
| Злыдни | 
			
			там, наверное, map упоминается... Который и надо посмотреть...
		 | 
|  | 
|  25.07.2008, 14:11 | #3 | 
| Участник | |
|  | 
|  25.07.2008, 14:23 | #4 | 
| совсем зелен | |
|  | 
|  25.07.2008, 14:28 | #5 | 
| Злыдни | 
			
			Мэп - это всего лишь попытка распространить принципы ООП на табличные переменные. А операции производятся с реальными таблицами, согласно структуре мэппинга. Чтобы не гадать - покажите кусок кода, ну или просто настройте меппинг "Поле мэпа -> поле таблицы, на которое ругается"
		 | 
|  | |
| За это сообщение автора поблагодарили: V777 (1). | |
|  25.07.2008, 14:34 | #6 | 
| совсем зелен | 
			
			мда действительно...спасибо...    | 
|  | 
|  27.08.2009, 07:45 | #7 | 
| Участник | 
			
			Столкнулся с такой же ошибкой, map вроде бы не участвует... \Classes\PurchTotals\calc currency = purchTable.CurrencyCode; purchTable.CurrencyCode = "RUR" - инициал.через vendTable. в ошибке: "Поле с кодом 0 в таблице PurchParmTable не обнаружено." | 
|  | 
|  27.08.2009, 10:27 | #8 | 
| MCITP |   
			
			может банальная [глобальная] перекомпиляция поможет?
		 
				__________________ Zhirenkov Vitaly | 
|  | 
|  27.08.2009, 10:41 | #9 | 
| Сам.AX | 
			
			Такая же ошибка при разноске/проверке журнала. проверка проходит после прогонки 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 | 
| Участник | 
			
			можно сначала попробовать compile forward Объявляем переменную - в дебагере нету | 
|  | 
|  27.08.2009, 13:40 | #11 | 
| Участник | 
			
			Компиляция не помогает (ни глобальная, ни инкрементная). Забыл указать Kernel 4.0.2501.116 Application 4.0.2501.121 Retail version: R7.04.0800.0 | 
|  | 
|  27.08.2009, 14:47 | #12 | 
| Участник | |
|  | 
|  27.08.2009, 14:56 | #13 | 
| Сам.AX | |
|  | 
|  27.08.2009, 14:59 | #14 | 
| Участник | 
			
			Там же все написано - используйте стек отладки. поднимайтесь по стеку, чтобы выяснить первопричину. если вас смущает то, что у пользователя: включите ему средства разработки и поставьте ему точку останова. попросите его позвать вас как только он увидит что-то непонятное и красное   | 
|  | 
|  27.08.2009, 15:12 | #15 | 
| Участник | Цитата: PS. Буквально вчера словил аналогичную ошибку на собственном Map'е для двух таблиц. Одно и то же отмапленное поле с одной таблицей работало нормально, а с другой - приводило к вылету ошибки про нулевой идентификатор. В моем случае вылечилось лишь после удаления Map'а из AOT, заливки его по-новой без сохранения идентификаторов и нескольких перекомпиляций всего кода, ссылавшегося на Map. Но, очевидно, когда объекты расположены на sys/dis/gls-слоях, это - не выход. | 
|  | |
| За это сообщение автора поблагодарили: kaw (1). | |
|  28.08.2009, 09:04 | #16 | 
| Участник | |
|  | 
|  28.08.2009, 09:34 | #17 | 
| Участник | Цитата: 
		
			Сообщение от Alexx7
			   Такая же ошибка при разноске/проверке журнала. проверка проходит после прогонки Job с кодом X++:     RPayJournalTrans    rPayJournalTrans;
    int                 i = 1;
    ;
    ttsbegin;
    while select forupdate rPayJournalTrans
        where rPayJournalTrans.JournalId == 'Номер журнала который не разносится'
    {
        rPayJournalTrans.LineNum = i;
        rPayJournalTrans.update();
        i ++;
    }
    ttscommit;Наши же локализаторы, как всегда пошли своим путем, создав на RPayJournalTrans индекс JournalLineIdx и засунув в него помимо JournalId и LineNum еще кучу полей. В результате, автонумерация, которая обеспечивается заполнением свойства CounterField на дата-сорсе, работает некорректно. Решение достаточно простое: 1. Создать уникальнай индекс на таблице RPayJournalTrans из двух полей: JournalId и LineNum (именно в таком порядке). Тут надо быть осторожным, если у вас уже есть кривые журналы с неправильными номерами строк, необходимо выполнить джоб для их перенумерации, наподобие того, что привел выше Alexx7. 2. На форме RPayJournalTrans у одноименного дата-сорса в свойстве Index указать созданный в п.1 индекс. После этого разноска журнала зарплаты не будет вызывать описанной ошибки. | 
|  | |
| За это сообщение автора поблагодарили: Alexx7 (1). | |
| Теги | 
| axapta retail, ax4.0 | 
|  | 
| 
 |