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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2006, 12:43   #21  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от ivas
может вам проще такую конструкцию использовать:
PHP код:
    Info(int2str(idx.field(1))); 
Этот job написан на основе кода, взятого из формы SysRecordInfo, а она должна работать с любой таблицей
Старый 05.09.2006, 12:56   #22  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от oip
В общем, для таблиц, которые были созданы "давно" - возвращает не 0. Для созданных "недавно" - 0. Видимо 0 в "не0" превращается после какой-то операции. Вопрос: какой?
У меня тоже на usr-слое для старых таблиц возвращает не 0. Единственная закономерность которая присутстует - эти таблицы были созданы еще в Axapta 2.5 и были перенесены в 3.0. Не знаю как это могло повлиять, но если это так, то из этого следует печальный вывод: не одна таблица, созданная в Ax 3.0 (даже дублированием существующей таблицы) не будет возвращать PrimaryFieldKey
Старый 05.09.2006, 13:56   #23  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Неа, у нас эти "старые" таблицы сразу на 3.0 создавались насколько я понимаю.
Старый 05.09.2006, 14:13   #24  
ViV is offline
ViV
Axapta Retail User
Самостоятельные клиенты AX
Axapta Retail User
 
200 / 79 (3) ++++
Регистрация: 14.09.2005
Цитата:
Сообщение от Lucky13
В качестве Table нужно подставить:
1. Какую-нибудь стандартную таблицу у которой есть первичный индекс (например, Unit)
2. Дубль этой таблицы (CopyOfUnit)
3. Какую-нибудь таблицу созданную на usr-слое с первичным индексом
Результаты экспериментов 2 и 3 выглядят странно, особенно 2.
Буду очень благодарен если кто-то проведет данный эксперимент в своей системе и приведет результат здесь.
Добрый день!
Я полагаю, вы просто не выполнили одно из условий PrimaryKeyField - должен существовать ExtendedDataType с relation на поле индекса вашей таблички.
И соответсвенно он должен использоваться в данном поле.

В частности у меня Ваш Job для моей таблицы вернул Id поля.
А провал второго эксперимента прост - relation на дубль таблицы не распространяется, условие на PrimaryKeyField нарушено.

Последний раз редактировалось ViV; 05.09.2006 в 14:15.
За это сообщение автора поблагодарили: kashperuk (2), Lucky13 (1), bagyr (1), Red Stranger (1), oip (1).
Старый 05.09.2006, 14:19   #25  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Воистинну! Браво!
Старый 05.09.2006, 14:27   #26  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
ViV, огромный респект
Старый 29.12.2006, 16:01   #27  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
?
Не пойму почему
PHP код:
static void testPrimaryKeyField(Args _args)
{
    
DictTable   dictTable  = new SysDictTable(tableNum(InventTable));
    
DictField   dictField  = new SysDictField(dictTable.id(), dictTable.primaryKeyField());
    ;

    
info(strFmt("%1"dictTable.id()));
    
info(strFmt("%1"dictTable.primaryKeyField()));

выводит
PHP код:
Сообщение (16:00:51)
175

И релейшн есть, и таблица старая, и примари индекс включенный, с одним полем..

Из-за этого dictField null
Старый 29.12.2006, 16:08   #28  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
У меня возвращает 2
Цитата:
SysDictTable::newTableID(tableNum(InventTable)).primaryKeyField()
Старый 29.12.2006, 16:11   #29  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от belugin Посмотреть сообщение
У меня возвращает 2
0
Старый 29.12.2006, 16:15   #30  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
У меня выводит
175
2

Так что таки что-то вы нахимичили с ТМЦ
Ищите
Старый 29.12.2006, 16:29   #31  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А еще индексы по этому полю есть?
__________________
Axapta v.3.0 sp5 kr2
Старый 29.12.2006, 16:35   #32  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от AndyD Посмотреть сообщение
А еще индексы по этому полю есть?
Да, есть :

GroupItemIdx
ItemGroupId
ItemId

TypeIdx
ItemType
ItemId

DimGroupItemIdx
DimGroupId
ItemId
Старый 29.12.2006, 16:37   #33  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Т.е. индексы стандартные, ничего не добавлено?
__________________
Axapta v.3.0 sp5 kr2
Старый 29.12.2006, 16:48   #34  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от AndyD Посмотреть сообщение
Т.е. индексы стандартные, ничего не добавлено?
По ItemId индексы не менялись, добавлены индексы по другим полям (не ItemId)
Старый 11.07.2007, 10:26   #35  
M.Ruslan is offline
M.Ruslan
Участник
 
23 / 10 (1) +
Регистрация: 22.07.2003
Адрес: г.Ижевск
Столкнулся с подобной проблемой в DAX 4.0 (2214) при открытии из справочника номенклатур паспорта записи, не доступна группа переименования ключевого поля из-за того что primaryKeyField возвращает 0
Старый 11.07.2007, 11:41   #36  
M.Ruslan is offline
M.Ruslan
Участник
 
23 / 10 (1) +
Регистрация: 22.07.2003
Адрес: г.Ижевск
Странно, но лечится удалением добавленных relations
Старый 05.06.2008, 08:25   #37  
evb is offline
evb
Участник
 
32 / 10 (1) +
Регистрация: 11.01.2008
Хотелось бы поднять вопрос, может за полтора года появились ответы
в частности интересует причина, по которой на таблице RAssetTable возвращается значение 0
Таблица не модифицировалась. Relation на EDT есть.... вобщем нипанятна (с)

Последний раз редактировалось evb; 05.06.2008 в 08:30.
Старый 06.06.2008, 10:38   #38  
evb is offline
evb
Участник
 
32 / 10 (1) +
Регистрация: 11.01.2008
методом "пристального всматривания" получил следующую картину:
на 4й версии аксапты метод primaryKeyField() на таблице RAssetTable отрабатывает корректно
а вот на 3й - нет. Причем таблица лежит в слое dis, и на нескольких других примерах из этого слоя так же работает неправильно. Таблицы, лежащие в других слоях(gls, sys, usr) возвращают корректные значения. может со слоем что-то не так? ...
Старый 14.04.2011, 11:12   #39  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от M.Ruslan Посмотреть сообщение
Странно, но лечится удалением добавленных relations
или добавлением явного relation "сам на себя", в котором участвует сама таблица и поле
__________________
полезное на axForum, github, vk, coub.
Теги
merge, primarykeyfield

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтрование записей при "переходе к основной таблице" demID DAX: Программирование 10 18.11.2015 12:52
вызов метода, динамически определённого на таблице wojzeh DAX: Программирование 3 01.08.2008 17:44
Двойное кэширование метода на таблице PavelSR DAX: Программирование 8 14.06.2007 08:04
Использование edit метода на таблицах, для которых MaxAccessMode=View bio_unit DAX: Программирование 5 23.03.2007 17:17
Axapta Lessons: Merge Customer Records Blog bot DAX Blogs 0 28.10.2006 18:22
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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