04.08.2005, 09:35 | #1 |
Участник
|
программно осуществить приемку
Грубо говоря, мне нужно в форме "Производство\Произв. заказы" выбрать одну из строк и нажать "Обработка\Приемка" и в появившемся диалоге нажать "ОК", согласившись с параметрами по-умолчанию.
Все это нужно сделать программно, т.е. из кода и всех этих форм конечно появляться не должно. Копался в классах ProdMultiReportFinished и RunBaseMultiParm, но не нашел способа. Все очень сильно привязано к формам. |
|
20.10.2005, 14:23 | #2 |
Участник
|
Посмотрите класс BOMmultiReportFinish. Он является дальним потомком класса RunBaseBatch, а значит не все так страшно.
Создайте наследника данного класса по аналогии с BOMmultiReportFinish_Journal - этот класс занимается приемкой из журнала спецификаций. Переопределите метод dialog так, чтобы не вызывать форму и не запрашивать у пользователя дополнительных параметров. В форме пользователь работает со строками таблицы BOMParmReportFinish (создав их согласно необходимым ему условиям при помощи кнопки "Выбор") - значит, перед запуском super() в методе run необходимо создать их и проинициализировать нужными Вам значениями. Какими - решайте сами, не забудьте только про поле parmId. Собственно, остальное - развертку спецификаций, создание строк журнала - класс сделает за вас. |
|
20.10.2005, 16:42 | #3 |
Member
|
Еще можно модуль Управление цехом посмотреть. Там журналы создаются программно.
__________________
С уважением, glibs® |
|
21.10.2005, 13:18 | #4 |
Участник
|
Что-то в этом роде:
PHP код:
|
|
21.10.2005, 20:48 | #5 |
Участник
|
Ace of Database - спасибо. Ваш ответ уместнее, так как касается именно производственных заказов, в то время как мои рекомендации относились к автоматическому созданию строк журнала спецификаций модуля "Управление запасами". Хотя принцип в обоих случаях одинаков.
|
|