Показать сообщение отдельно
Старый 06.07.2021, 18:40   #428  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,548 / 1042 (38) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вот не знаю, это ошибка или сознательно сделали

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 стоит контроль на пустоту. Если все значимые поля пустые, то запись не создается или удаляется. Как следствие, если хотя бы по одной таблице записи не существует (т.е. не заполнены поля с данными), то не получим данные из остальных таблиц, даже если там что-то есть

В этом был какой-то глубокий смысл или "так получилось" ?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...