10.11.2009, 08:27 | #1 |
Участник
|
Как программно создать журнал Переноса
Как программно журнал Переноса и занеси туда все Намеклатуры в наличии ?
|
|
10.11.2009, 08:31 | #2 |
Участник
|
а что конкретно вам не понятно? посмотрите как работает форма и что вызывается при создании журнала в ней.
|
|
10.11.2009, 10:17 | #3 |
Участник
|
Я сделал следующим образом. Остатки в наличие собираются в журнале инвентаризации - там это очень удобно делать. Затем модифицировал класс InventJournalCopy, который отвечает за копирование складских журналов, так что можно копировать в журнал другого типа. Таким образом получаю журнал переноса.
|
|
10.11.2009, 10:38 | #4 |
MCITP
|
Цитата:
Во вторых: Вы хотите чтоб вам полностью кусок кода написали? В принципе у меня где-то что-то очень похожее было, могу поискать... Только не совсем понятна суть вашего вопроса, всё таки. - Вам не понятен алгоритм? - Пробежаться по таблице InventSum, определить наличие, на основании этих данных создать строки в журнале переноса. - Или вы новичёк и в принципе не знаете как создать журнал из кода? Тогда вам наверное полезнее будет самому поковыряться по перекрёстным ссылкам на InventJournalTable.Insert() & InventJournalTrans.Insert() и посмотреть как в коде создаются журналы, мест таких хватает в стандарте... Если интересуют конкретные "непонятки", то более конкретно и спрашивайте.
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: _scorp_ (1). |
10.11.2009, 11:16 | #5 |
Аманд
|
В качестве прикола, расскажу об идее, которая кажется мне скорее безумной и смешной, но сработает. Итак, создание журнала перенос без программирования!
1. Создаём структуру складов Главный -> пополнения 2. В журнале мин. запаса для нужных номенклатур указываем мин запас на максимальное значение.. Журнал разносим. 3. Запускаем сводное, получаем спланированные переносы - утверждаем! 4. Возвращаем макс. запасы на место. (Фигово, что реальные настройки полетят при этом, хотя их можно экспортировать) Повторю, это не руководство к действию, а скорее, способ из разряда Очумелые ручки или что можно сделать с системой. |
|
10.11.2009, 15:13 | #6 |
Участник
|
Цитата:
Сообщение от ZVV
Во первых, какая версия?
Во вторых: Вы хотите чтоб вам полностью кусок кода написали? В принципе у меня где-то что-то очень похожее было, могу поискать... Только не совсем понятна суть вашего вопроса, всё таки. - Вам не понятен алгоритм? - Пробежаться по таблице InventSum, определить наличие, на основании этих данных создать строки в журнале переноса. - Или вы новичёк и в принципе не знаете как создать журнал из кода? Тогда вам наверное полезнее будет самому поковыряться по перекрёстным ссылкам на InventJournalTable.Insert() & InventJournalTrans.Insert() и посмотреть как в коде создаются журналы, мест таких хватает в стандарте... Если интересуют конкретные "непонятки", то более конкретно и спрашивайте. |
|
10.11.2009, 15:50 | #7 |
Участник
|
Читать тут как создавать журналы
\Classes\TutorialJournalCreateExample |
|
10.11.2009, 17:49 | #8 |
Участник
|
|
|
10.11.2009, 18:42 | #9 |
Аманд
|
По идее WMS и карантин в спланированных не будут затронуты.
|
|
23.11.2009, 16:14 | #10 |
Участник
|
Цитата:
Но создать журнал не проблема... Для меня проблема это создать строки в журнале Перенос с определенной анналитикой В принципе я понимаю что для это нужно смотреть в таблички InventSum и inventDim, но как создать строки программно я ума не приложу. Конечно если ктонибуть примерный код выложит то я буду очень рад ) |
|
23.11.2009, 16:50 | #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(); |
|