23.07.2004, 19:02 | #1 |
Участник
|
Комплектация программно?
Добрый день!
Подскажите, я правильно понимаю, что для программной комплектации по заказу клиента мне нужно писать параллельно в InventTrans и InventDim? Где-то таким образом: Создал запись в InventDim c новым ИД, указал аналитику Создал запись в InventTrans с ИД из InventDim (и прочими параметрами) Смущает только запись напрямую в таблицы... явно что-то останется неучтенным (например надо же еще в заказе статус менять на отобрано).... Никто подобного не совершал? |
|
24.07.2004, 02:16 | #2 |
Участник
|
Re: Комплектация программно?
Цитата:
Изначально опубликовано linney
Подскажите, я правильно понимаю, что для программной комплектации по заказу клиента мне нужно писать параллельно в InventTrans и InventDim? Не работайте с таблицами напрямую. Работайте с классами. |
|
27.07.2004, 17:40 | #3 |
Участник
|
Re: Re: Комплектация программно?
Работаю с классами...
Есть чудный метод, который вызывается из формочки комплектации - InventTransWMS_Pick::updateInvent(InventTransWMS_Pick, tmpInventTransWMS) в параметре InventTransWMS_Pick понятное дело самое главное Movement - правильно его создать ручками ПОКА не вышло.... |
|
27.07.2004, 18:26 | #4 |
NavAx
|
Всё просто.
InventMovement::constructNoThrow(salesLine например) PHP код:
__________________
С уважением, Игорь Ласийчук. |
|
27.07.2004, 19:11 | #5 |
Участник
|
Извините за дремучесть - просто не получилось.... А результатом работы этого кусочка что будет?
если инитить Movement из SalesLine - там нет корректных ссылок на TransIdSum, InventTable, DimSearch... и PickQty = 0 updateNow() не метод класса InventUpdate... |
|
27.07.2004, 19:47 | #6 |
Участник
|
впрочем этот код слегка подправленный работает, только речь шла о том чтобы проводки были со статусом "Скомплектовано", если этот кусочек юзать они - "В заказе"
|
|
28.07.2004, 10:23 | #7 |
NavAx
|
PHP код:
__________________
С уважением, Игорь Ласийчук. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
28.07.2004, 14:06 | #8 |
Участник
|
Спасибо большое!
У меня вроде получилось... хотя вопреки Маззи новый InventDim я создаю руками... как-то так: newInventDim.initValue(); newInventDim.InventLocationId = xxxxxxxxxxxx.InventLocationId; newInventDim.InventSerialId = xxxxxxxxxxxx..inventSerialId; newInventDim.InventGTDId_RU = xxxxxxxxxxxx..InventGtdId_RU; tmpInventDim = InventDim::findDim(newInventDim); if (! tmpInventDim) { newInventDim.inventDimId = InventDim::newDimId(); newInventDim.doInsert(); } else { newInventDim.inventDimId = tmpInventDim.inventDimId; } |
|
28.07.2004, 14:32 | #9 |
Участник
|
Цитата:
Изначально опубликовано linney
хотя вопреки Маззи новый InventDim я создаю руками... как-то так: Код: newInventDim.clear(); newInventDim.initValue(); newInventDim.InventLocationId = xxxxxxxxxxxx.InventLocationId; newInventDim.InventSerialId = xxxxxxxxxxxx..inventSerialId; newInventDim.InventGTDId_RU = xxxxxxxxxxxx..InventGtdId_RU; newInventDim = inventDim::findOrCreate(newInventDim); |
|
28.07.2004, 14:41 | #10 |
Участник
|
Н-да...
велика Ахарта, если б еще дока была по функциям да по классам - цены ей бы не было. Спасибо за помощь! |
|
29.07.2004, 16:57 | #11 |
Участник
|
Опять про комлектацию и отборочную накладную...
Спецификация отгрузки (которая сидит в SalesShippingStat) создается классами вместе со всеми остальными таблицами Отборочной накладной SalesParmUpdate, ...Parmtable, ...ParmLine, ...ParmSubTable разносится SalesFormLetter::Update при этом ссылка PackingSlipId у меня в SalesShippingStat не прописывается Вопрос: в каком месте из 20 вложенных классов при разноске отборочной накладной прописывается ссылка на спецификацию отгрузки? |
|
29.07.2004, 17:06 | #12 |
Модератор
|
А в дебагере отслеживал SalesFormLetter.Run.
По-моему, это происходит в классе SalesFormLetterReport_PackingSlip. Но могу и ошибаться - давно дело было |
|
29.07.2004, 17:13 | #13 |
Участник
|
SalesFormLetter_PackingSlip
таки где-то глубже и уже после разноски Отборочной накладной... по логике создали отборочную накладную записало ее в CustPakingSlipJour и только после этого можно вновь созданный идентификатор PackingSlipId прописать в SalesShippingStat, но, блин, где это делается я пока дебагером не отловил... по коду видно, что в процессе SalesShippingStat удаляется раз пятнадцать, а вот где заново пишется... |
|