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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2014, 20:54   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Сумма фактуры отличается от суммы накладной
Ax2009 метод \Classes\FactureTransCreateCust_RU\calcAmounts()

X++:
    FactureTrans_RU tmpTrans, tmpTransSec;

(...)
    select sum(Qty),
           sum(LineAmount),
           sum(vat),
           sum(Excise),
           sum(TaxAmount),
           sum(LineAmountMST),
           sum(vatAmountMST),
           sum(ExciseAmountMST),
           sum(TaxAmountMST)
        from  tmpTrans
        where tmpTrans.InvoiceId           == custInvoiceTrans.InvoiceId           &&
              tmpTrans.InvoiceDate         == custInvoiceTrans.InvoiceDate         &&
              tmpTrans.InvoiceLineNum      == custInvoiceTrans.LineNum             &&  // <-- ???
              tmpTrans.NumberSequenceGroup == custInvoiceTrans.NumberSequenceGroup &&
              tmpTrans.FactureLineType     == FactureLineType_RU::InvoiceLine      &&
              tmpTrans.Module              == FactureModule_RU::Cust;

Кто-нибудь может пояснить, в чем смысл использования для идентификации при поиске ранее созданных строк фактур порядкового номера строки LineNum, а не номер лота InventTransId?

Проблема в том, что у нас через заказы на продажу выписывают услуги. И при создании накладных пользователи любят давать одинаковые номера накладным в подобных операциях. Как следствие, имеем много накладных с одинаковыми номерами, содержащими всего одну строку. Иногда совпадают и даты накладных.

В результате, данный запрос находит строки фактур, относящихся к другим накладным и, как следствие, сумма и количество фактуры получается "произвольной". В общем случае, отличной от суммы накладной.

Это ошибка кода или так специально было задумано?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 05.03.2014, 21:03   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Баг, причем и в AX2012 тоже код имеется, правда у нас проявился при суммарной обработке, когда несколько строк накладных имели одинаковый номер (транслировался из строк заказа). Менял как написано в этом посте, пока полет нормальный.

ПС. Думается мне смотрели в relation на FactureTrans_RU к таблице CustInvoiceTrans, правда и в этом случае потеряли связь по PurchSalesId
__________________
Sergey Nefedov

Последний раз редактировалось SRF; 05.03.2014 в 21:07.
За это сообщение автора поблагодарили: Владимир Максимов (5).
Старый 06.03.2014, 10:27   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
В модуле расчетов с клиентом есть еще такой документ "Накладная с произвольным текстом". Так вот, созданная на его основе накладная имеет пустой (не заполненный) номер лота. Из идентификаторов строки накладной только и остается, что номер строки.

Поэтому, связь по номеру лота надо указать не "вместо", а "вместе" (в дополнение) к связи по номеру строки

Т.е. некая логика под связкой по номеру строки все-таки была. Хотя и не продуманная до конца

PS: Если сравнить с методом \Classes\FactureTransCreateVend_RU\calcAmounts(), то добавить надо связь не по номеру лота, а по номеру заказа, хотя, думаю, принципиальной разницы нет
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...

Последний раз редактировалось Владимир Максимов; 06.03.2014 в 10:56.
За это сообщение автора поблагодарили: S.Kuskov (3), SRF (2).
Старый 06.03.2014, 12:09   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
PS: Если сравнить с методом \Classes\FactureTransCreateVend_RU\calcAmounts(), то добавить надо связь не по номеру лота, а по номеру заказа, хотя, думаю, принципиальной разницы нет
Разница все таки есть, ведь для накладной с произвольным текстом поле номер заказа пустое, так что номер лота здесь кажется более правильным решением.
__________________
Sergey Nefedov
Старый 06.03.2014, 12:23   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от SRF Посмотреть сообщение
Разница все таки есть, ведь для накладной с произвольным текстом поле номер заказа пустое, так что номер лота здесь кажется более правильным решением.
Рассматриваются 2 сценария создания накладной:

- Из накладной с произвольным текстом
- Из заказа на продажу

При создании накладной из накладной с произвольным текстом в CustInvoiceTrans будет пустым как номер лота, так и номер заказа. Заполненным будет только номер строки

При создании накладной из заказа на продажу в CustInvoiceTrans будет заполнен как номер лота, так и номер заказа.

Другими словами, разницы нет никакой. В одном случае все поля пустые, в другом случае все поля заполнены. Вопрос исключительно личных предпочтений.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Теги
ax2009, фактура

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расхождение накладной и фактуры на копейку EVGL DAX: Функционал 7 18.05.2020 17:22
Сумма пакинг слипа не совпадает с суммой ваучера накладной Dozer DAX: Функционал 3 06.06.2013 19:28
Корректировка рублевой суммы накладной по заказу в валюте Serge_DD DAX: Функционал 9 13.03.2012 11:45
Фиксированный курс в накладной по закупке и сумма налога Bega DAX: Функционал 4 30.06.2011 12:02
Налоги при печати накладной/счета на оплату/счета фактуры Андре DAX: Функционал 4 27.05.2004 15:32

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

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

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