|
|
#1 |
|
Участник
|
Консолидированные invoice
Объясните, пожалуйста, как устроены консолидированные накладные. ?
Я так понимаю, на основании нескольких заказов можно сформировать один invoice. Но как в том случае это организовано на уровне структур данных? Отсюда в частности вопросы: 1) Что прописывается в custInvoiceJour.SalesId. 2) Верно ли, что в custInvoiceTrans.SalesId прописываются ссылки на заказы, на основании которых сформирован инвойс? PS: Знающего консультанта нету, как и перекрестных ссылок. Поиск по коду параметра разноски sumBy и вариаций *InvoiceJour.SalesId не проясняет совсем для меня процесса(или у меня неверное понимание его в принципе). Прошу помощи знатоков Последний раз редактировалось kitty; 20.04.2016 в 22:07. |
|
|
|
|
#2 |
|
Участник
|
Цитата:
Отсюда в частности вопросы:
1) Что прописывается в custInvoiceJour.SalesId. 2) Верно ли, что в custInvoiceTrans.SalesId прописываются ссылки на заказы, на основании которых сформирован инвойс? 2. CustInvoiceTrans.SalesId = CustInvoiceJour.SalesId, ссылка на оригинальный заказ из которого строка хранится в поле OrigSalesId. Вообще связь между заказом и накладной реализована через таблицу CustInvoiceSalesLink (Накладная клиента - таблица связей заказов на продажу), в простом случае, когда у нас по одному заказу одна накладная, запись одна, когда консолидированная накладная, на каждый заказ создается отдельная запись в этой таблице, посмотрите реализацию метода salesTable.lastInvoice().
__________________
Sergey Nefedov |
|
|
|
| За это сообщение автора поблагодарили: kitty (1). | |
|
|
#3 |
|
Участник
|
Спасибо большое
То есть custInvoiceSalesLink по идее не нужна ( тк можно через salesId, origSalesId найти всю ту же информацию)? Также , можно и сам оригинальный заказ искать двумя способами: a) custInvoiceTrans.salesLine().SalesTable(), где salesLine ищется через custInvoiceTrans.InventTransId b) salesTable::find(custInvoiceTrans.origSalesId) - эти записи приведут к одинаковым результатам, так? Последний раз редактировалось kitty; 21.04.2016 в 15:02. |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Также , можно и сам оригинальный заказ искать двумя способами:
a) custInvoiceTrans.salesLine().SalesTable(), где salesLine ищется через custInvoiceTrans.InventTransId b) salesTable::find(custInvoiceTrans.origSalesId) - эти записи приведут к одинаковым результатам, так? Цитата:
То есть custInvoiceSalesLink по идее не нужна ( тк можно через salesId, origSalesId найти всю ту же информацию)?
Если у вас уже есть накладная\строка накладной, то можно и без этой таблицы обойтись, а вот если у вас есть заказ и по нему нужно определить номер накладной, то лучше использовать эту таблицу, т.к. в CustInvoiceTrans поле origSalesId не индексировано.
__________________
Sergey Nefedov |
|
|
|
|
|