![]() |
#1 |
Участник
|
Как программно создать журнал Переноса
Как программно журнал Переноса и занеси туда все Намеклатуры в наличии ?
|
|
![]() |
#2 |
Участник
|
а что конкретно вам не понятно? посмотрите как работает форма и что вызывается при создании журнала в ней.
|
|
![]() |
#3 |
Участник
|
Я сделал следующим образом. Остатки в наличие собираются в журнале инвентаризации - там это очень удобно делать. Затем модифицировал класс InventJournalCopy, который отвечает за копирование складских журналов, так что можно копировать в журнал другого типа. Таким образом получаю журнал переноса.
|
|
![]() |
#4 |
MCITP
|
![]() Цитата:
Во вторых: Вы хотите чтоб вам полностью кусок кода написали? В принципе у меня где-то что-то очень похожее было, могу поискать... ![]() Только не совсем понятна суть вашего вопроса, всё таки. - Вам не понятен алгоритм? - Пробежаться по таблице InventSum, определить наличие, на основании этих данных создать строки в журнале переноса. - Или вы новичёк и в принципе не знаете как создать журнал из кода? Тогда вам наверное полезнее будет самому поковыряться по перекрёстным ссылкам на InventJournalTable.Insert() & InventJournalTrans.Insert() и посмотреть как в коде создаются журналы, мест таких хватает в стандарте... Если интересуют конкретные "непонятки", то более конкретно и спрашивайте.
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: _scorp_ (1). |
![]() |
#5 |
Аманд
|
В качестве прикола, расскажу об идее, которая кажется мне скорее безумной и смешной, но сработает. Итак, создание журнала перенос без программирования!
1. Создаём структуру складов Главный -> пополнения 2. В журнале мин. запаса для нужных номенклатур указываем мин запас на максимальное значение.. Журнал разносим. 3. Запускаем сводное, получаем спланированные переносы - утверждаем! 4. Возвращаем макс. запасы на место. (Фигово, что реальные настройки полетят при этом, хотя их можно экспортировать) Повторю, это не руководство к действию, а скорее, способ из разряда Очумелые ручки или что можно сделать с системой. ![]() |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от ZVV
![]() Во первых, какая версия?
Во вторых: Вы хотите чтоб вам полностью кусок кода написали? В принципе у меня где-то что-то очень похожее было, могу поискать... ![]() Только не совсем понятна суть вашего вопроса, всё таки. - Вам не понятен алгоритм? - Пробежаться по таблице InventSum, определить наличие, на основании этих данных создать строки в журнале переноса. - Или вы новичёк и в принципе не знаете как создать журнал из кода? Тогда вам наверное полезнее будет самому поковыряться по перекрёстным ссылкам на InventJournalTable.Insert() & InventJournalTrans.Insert() и посмотреть как в коде создаются журналы, мест таких хватает в стандарте... Если интересуют конкретные "непонятки", то более конкретно и спрашивайте. ![]() ![]() |
|
![]() |
#7 |
Участник
|
Читать тут как создавать журналы
\Classes\TutorialJournalCreateExample |
|
![]() |
#8 |
Участник
|
|
|
![]() |
#9 |
Аманд
|
По идее WMS и карантин в спланированных не будут затронуты.
|
|
![]() |
#10 |
Участник
|
Цитата:
![]() Но создать журнал не проблема... Для меня проблема это создать строки в журнале Перенос с определенной анналитикой В принципе я понимаю что для это нужно смотреть в таблички InventSum и inventDim, но как создать строки программно я ума не приложу. Конечно если ктонибуть примерный код выложит то я буду очень рад ![]() |
|
![]() |
#11 |
Участник
|
Как то так
X++: Real lineNum; InventJournalTable journalTable, InventJournalTransData transData InventDim inventDim,toInventDim; Qty qty; ; _inventJournalTrans.clear(); lineNum++; _inventJournalTrans.initValue(); _inventJournalTrans.initFromInventJournalTable(journalTable); _inventJournalTrans.itemId = "Код номенклатуры"; _inventJournalTrans.Qty = qty; _inventJournalTrans.inventMovement().journalSetQty(); _inventJournalTrans.inventMovement().journalSetCostPrice(); _inventJournalTrans.inventMovement().journalSetPriceUnit(); _inventJournalTrans.inventMovement().journalSetCostAmount(); //Аналитики inventDim и toinventDim инициализируйте своим набором и вызовите //InventDim::findOrCreate(inventDim) _inventJournalTrans.InventDimId = inventDim.InventDimId; _inventJournalTrans.ToInventDimId = toInventDim.InventDimId; transData = journalTransData::newTransTableLineNum(_inventJournalTrans,_journalTable,lineNum); _transData.initVoucher(prevTrans.Voucher, false, true); _inventJournalTrans.write(); |
|