Показать сообщение отдельно
Старый 18.03.2004, 16:01   #11  
Mystery is offline
Mystery
Участник
 
43 / 11 (1) +
Регистрация: 28.01.2004
+++ Можно у вас попросить рассказать подробнее про вашу задачу?

Совершено верно, то что мы делаем в стандарте аксапты находится в номере палеты. Но мы не купили этот модуль и решили использовать номер партии.

Еще раз опишу ситуацию. При приходе заказанной номенклатуре нужно сгенерировать проводки по складу на форме Регистрации. Скажем заказано 1000 тонн мяса. Оно приходит в 100 европаддоннах по 1 тонне каждый. Каждому подону мы приписываем номера партий. Оператор должен разбивать эти 1000 тонн на 100 проводок. В ручную разбивать используя кнопку Разбиение можно упарится, к тому же нужно генерировать номера партий, для этого оператор должен кликать на перейти к основной таблице создавать номер партии и возвращаться назад выбирать его в выпадающем списке поля номера партии. Мы сделали отдельную кнопку разбиения на партии и реализовали в ней весь механизм класса InventTransSplit. В нашем классе (M046_InventTransSplit) в методе main переписали вызов метода run следующим образом:
PHP код:
            if (!inventTransSplit.prompt())
                return;

            for (
stepCount=inventTransSplit.parmSplitNumber(); stepCount>1stepCount-=1)
            {
                
M046_InventTransSplit::newInventTransSplit(inventtrans.RecId).run();
            } 
То есть пользователь в диалоге указывает число партий которое он хочет получить (parmSplitNumber) и класс разбивает проводку на заданное количество в цикле вызывая разбиение. Заранее соответственно вычисляем количества номенклатуры которое будет в новых проводках.

Это все работает прекрасно. Но нам дополнительно нужно чтоб в новых проводках номера партии были новыми, а не копировались из разбиваемой проводки.