Вот не знаю, это ошибка или сознательно сделали
dax2012R3
Табличный метод PurchTable.initFromPurchAgreementHeader()
X++:
select firstonly DeliveryPostalAddress, DeliveryName, Project, ContactPerson,
CashDiscountCode, MiscChargeGroup, DeliveryTerm, DeliveryMode,
PaymentSchedule, PaymentTerms
from agreementHeaderDefault
where agreementHeaderDefault.AgreementHeader == _purchAgreementHeader.RecId
join firstonly MethodOfPayment
, PaymentSpecification
, BuyerGroup
, VendorInvoiceAccount
, PurchasePool
from purchAgreementHeaderDefault
where purchAgreementHeaderDefault.PurchaseAgreementHeader == _purchAgreementHeader.RecId
// <GEERU>
outer join firstonly RecId,
InventProfileType,
InventProfileId,
VendPostingProfile,
vatOperationCode,
vatChargeSource
from purchAgreementHeaderExt
where purchAgreementHeaderExt.AgreementHeader == _purchAgreementHeader.RecId
// </GEERU>
;
Тут проблема в том, что на таблицах AgreementHeaderDefault и PurchAgreementHeaderDefault стоит контроль на пустоту. Если все значимые поля пустые, то запись не создается или удаляется. Как следствие, если хотя бы по одной таблице записи не существует (т.е. не заполнены поля с данными), то не получим данные из остальных таблиц, даже если там что-то есть
В этом был какой-то глубокий смысл или "так получилось" ?