12.02.2015, 22:11 | #1 |
Участник
|
Required поле в схеме AIF документа
Две таблицы связаны по RecId (SurrogateKey: ChildTable.TableRefRecId = ParentTable.RecId). Есть соответствующий relation
TableRefRecId поле в ChildTable таблице обязательное (Mandatory = yes) На основе этих двух таблиц создан запрос и соответвующий document service. С чем связано, что, не смотря на то, что это surrogate key, в схеме документа автоматически для TableRefRecId проставляется required = yes (т.е minOccurs = 1) ? AX2012 R2 Последний раз редактировалось kitty; 12.02.2015 в 22:19. |
|
12.02.2015, 22:31 | #2 |
Banned
|
Цитата:
Сообщение от kitty
Две таблицы связаны по RecId (SurrogateKey: ChildTable.TableRefRecId = ParentTable.RecId). Есть соответствующий relation
TableRefRecId поле в ChildTable таблице обязательное (Mandatory = yes) На основе этих двух таблиц создан запрос и соответвующий document service. С чем связано, что, не смотря на то, что это surrogate key, в схеме документа автоматически для TableRefRecId проставляется required = yes (т.е minOccurs = 1) ? AX2012 R2 |
|
12.02.2015, 23:28 | #3 |
Участник
|
Не логично, тк при импорте документа , если TableRecid - required, то валидация документа провалится с ошибкой.
На момент импорта ParentTable.RecID вообще еще не существует ( присвоится только при вставке ParentTable записи в Ax и потом должно соответствующее значение автоматически присвоится childTable.TableRecId) Причем, в prepareForSaveExtended есть соответсвующий код, присваивающий потомкам tableRecId родителя Последний раз редактировалось kitty; 12.02.2015 в 23:30. |
|
13.02.2015, 00:19 | #4 |
Banned
|
Цитата:
Сообщение от kitty
Не логично, тк при импорте документа , если TableRecid - required, то валидация документа провалится с ошибкой.
На момент импорта ParentTable.RecID вообще еще не существует ( присвоится только при вставке ParentTable записи в Ax и потом должно соответствующее значение автоматически присвоится childTable.TableRecId) Причем, в prepareForSaveExtended есть соответсвующий код, присваивающий потомкам tableRecId родителя Система просто рендерит свойство поля таблицы в схему. Раз обязательно там значит обязательно и здесь. Железная логика. |
|
13.02.2015, 00:50 | #5 |
Участник
|
наверное, мы друг друга не понимаем)
Представьте, что вы импортируете заказ. У него еcть шапка и линии Как можно требовать в сообщении указывать recid шапки на строках, если этот RecId создается только в момент вставки шапки заказа. Последний раз редактировалось kitty; 13.02.2015 в 01:44. |
|
13.02.2015, 10:15 | #6 |
Участник
|
Может, у вас схема документа получилась "какая-то не такая"? Посмотрите, какая схема у тех же заказов на продажу - там прекрасно создаются шапка и строки, несмотря на то, что SalesId создаваемого заказа в строках явно не указывается.
|
|
13.02.2015, 14:26 | #7 |
Участник
|
Проблема в том, что на одном приложении все прекрасно, а на другом - нет((
Пытаюсь понять в чем разница. все relations есть. Сравнила классы, таблицы -все одинаковые, перекомпилила не раз, update document service делала, refresh service, пересоздала порт сам и все никак. Схема упорно требует заполнения parentRecid (((. Временно пришлось сделать поле как mandatory = no.. - подхватил и сделал поле необязательным в схеме Но это ж не выход, на таблице оно должно быть Mandatory((. |
|
13.02.2015, 16:56 | #8 |
Участник
|
ну может попробовать в методе initMandatoryFieldsExemptionList класса Ax<Имя таблицы> прописать строчку для этого поля - тогда не придется св-во Mandatory поля менять. Хотя конечно странно все это...
|
|
13.02.2015, 18:05 | #9 |
Banned
|
Цитата:
На индексе в таблицах свойство AllowDublicates одинаковое? |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|