AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2006, 12:24   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Приёмка в производстве
Доброго времени суток, уважаемые Дамы и Господа!!!
Ситуация:
создал свою форму, на которой сканером штрих кодов считывается производственный заказ, дисплейными методами поддтягиваю на эту формочку название номенклатуры, склад, дату приемки, единицы измерения номенклатуры. Пользователь вводит количество принятой номенклатуры. Нажимает кнопочку ОК.
После её нажатия должен случится тот же процесс как и при нажатии Производство/Производственные заказы/Обработка/Приёмка/ОК...
Проблема:
какие данные необходимо вытянуть еще из Аксапты для успешной приемки и (самое главное) как мне "подсунуть" свои данные в класс ProdMultiReportFinished (я так понял он отвечает за приёмку, по крайней мере с него все начинается..), дабы не переписывать (не вкоем случае) всё по новой??? Заранее всем спасибо.

С уважением - Sada...

Последний раз редактировалось Sada; 29.05.2006 в 12:27.
Старый 29.05.2006, 12:39   #2  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Сообщение от Sada
... дабы не переписывать (не вкоем случае) всё по новой??? Заранее всем спасибо.

С уважением - Sada...
А был ли смысл вообще писать отдельную форму, подтягивать номенклатуру и т.д.?
Старый 29.05.2006, 12:55   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
2Vals:Резонно...на этот вопрос не могу ответить со 100%-й уверенностью. Но вот пока так... Жду советов.
Старый 29.05.2006, 13:11   #4  
UNRW is offline
UNRW
Участник
 
383 / 67 (3) ++++
Регистрация: 16.09.2004
Адрес: Москва
Например
prodParmReportFinished.clear();
prodParmReportFinished.initParmDefault();
prodParmReportFinished.initFromProdTable(prodTable);
prodParmReportFinished.TransDate = prodTable.DlvDate;
prodParmReportFinished.QtyGood = decround(prodTable.QtySched,3);
prodUpdReportFinished = ProdUpdReportFinished::newParmBuffer(prodParmReportFinished);
prodUpdReportFinished.run();
Старый 29.05.2006, 14:20   #5  
Vals is offline
Vals
Аманд
Аватар для Vals
Компания АМАНД
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2009
 
1,766 / 507 (20) +++++++
Регистрация: 27.02.2002
Адрес: Pass partout, Москва
Цитата:
Сообщение от Sada
2Vals:Резонно...на этот вопрос не могу ответить со 100%-й уверенностью. Но вот пока так... Жду советов.

Насколько я понял, у вас стоит задача использования сканеров штрих кодов, а вы пишите функционал, повторяющий стандартный.

Рекомендую сделать следующее:
1. Разобраться с функциональностью модуля поизводства.
2. Разобраться с работой производственников. (где и что они принимают и т.д.)
3. Навесить распознование ШК на нужную стандартную форму. Кстати в стандарте коды номенклатуры по штрихам распознаются.

А так, у меня создаётся впечатление, что на свою формочку вы совсем не тот функционал вешаете, который нужен.
Старый 29.05.2006, 14:49   #6  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Соглашусь...лучше штрих код производственного заказа буду в стандартную форму передавать и пускай работает стандартно. Нужно будет только все права у пользователя убрать , кроме кнопки "Приемка" и всё. Про номенклатуры, штрих код и стандарт знаю - используется; но нет тот немного случай. Всем спасибо за участие.
С уважением Sada...
Старый 30.05.2006, 05:29   #7  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Написал вот такой джобик, в котором (по моей задумке) подставляется производственный заказ в форму Обработка/Приёмка в производстве,но увы
появляется пустая форма приёмки. Поскажите пожалуйста, что не так...

PHP код:
static void Job111(Args _args)
{
 
ProdTable  ProdTable ProdTable::find("Пр-000050");
 
args args = new Args();
 
menufunction menufunction = new menufunction(menuitemactionstr(ProdReportFinished),menuitemtype::Action);
 ;
 
args.parmEnumType(enumNum(RunChoose));
 
args.record(prodTable);
 
menufunction.run(args);
 } 
С уважением - Sada...

Последний раз редактировалось Sada; 30.05.2006 в 08:34.
Старый 30.05.2006, 08:51   #8  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Актуально...
Старый 30.05.2006, 10:12   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Обратите внимание на вызов
X++:
RunBaseMultiParm::initFromForm(prodMultiReportFinished,args);
в метода Main() класса ProdMultiReportFinished

В нем для формирования списка параметров проверяется
X++:
FormDataSource      fDS;
...
if (args && args.dataset() && args.record().dataSource())
{
    fDS = args.record().dataSource();
    for (common=fDS.getFirst(true)
        ? fDS.getFirst(true)
        : args.record();common;common=fDS.getNext())
    ...
т.е. ваш рекордсет должен быть на форме
__________________
Axapta v.3.0 sp5 kr2
Старый 30.05.2006, 11:39   #10  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Проблему решил так (может кому из потомков пригодится )
PHP код:
static void Job112(Args _args)
{
    
ProdMultiReportFinished     prodMultiReportFinished;
    
SysFormRun_doRe             sysFormRun_doRe;
    
ARGS                                ARGS;
    
parmBuffer                         parmBuffer;
    
ProdTable                          ProdTable;
    
Object                               this
     ;
    
PRODTABLE PRODTABLE::find('Пр-000050');
    
ARGS = new ARGS(); 
    
args.record(PRODTABLE);

    
prodMultiReportFinished ProdMultiReportFinished::construct(args);
    
runBaseMultiParm::initParm(prodMultiReportFinished);
    
prodMultiReportFinished.initParmDefault();
    
parmBuffer prodMultiReportFinished.defaultParmBuffer();
    
prodMultiReportFinished.insert(ProdTable,parmBuffer);
    if(
prodMultiReportFinished.prompt())
     
prodMultiReportFinished.run();

Всем спасибо за участие

С уважением - Sada...
Старый 12.07.2007, 15:28   #11  
akvi is offline
akvi
Участник
 
119 / 12 (1) ++
Регистрация: 31.03.2003
Адрес: Москва
А как передать в класс не одну строку, т.е. когда нужно сделать приемку для нескольких производственных заказов?
Старый 12.07.2007, 15:43   #12  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от akvi Посмотреть сообщение
А как передать в класс не одну строку, т.е. когда нужно сделать приемку для нескольких производственных заказов?
Смотря в какой класс. В ...Multi... - создав несколько строк ProdParmReportFinished с одним ParmId и разными ProdId, LineNum. В класс ...upd... - поочередно. А можно вообще сразу ProdJournalProd сгенерить и разнести.
Старый 12.07.2007, 16:26   #13  
akvi is offline
akvi
Участник
 
119 / 12 (1) ++
Регистрация: 31.03.2003
Адрес: Москва
Цитата:
Сообщение от EVGL Посмотреть сообщение
Смотря в какой класс. В ...Multi... - создав несколько строк ProdParmReportFinished с одним ParmId и разными ProdId, LineNum. В класс ...upd... - поочередно. А можно вообще сразу ProdJournalProd сгенерить и разнести.
Спасибо!!! Всё получилось!!! Вставил несколько строк в ProdParmReportFinished, используя метод prodMultiReportFinished.insert(ProdTable,parmBuffer);

Цитата:
Сообщение от Sada Посмотреть сообщение
Проблему решил так (может кому из потомков пригодится )
...
С уважением - Sada...
Пригодилось и современникам

Последний раз редактировалось akvi; 12.07.2007 в 16:29.
Старый 12.07.2007, 17:06   #14  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
ЭЭЭххххх... давненько это было - молодо, зелено!!! Вот теперь, я думаю, вопрос раскрыт полностью Выкладывайте код уже . Еще когда нибуть столкнусь с производством - пригодится .
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Частичная приемка в производстве DanielG DAX: Функционал 10 11.10.2007 08:54
Учет фактического расхода материалов в производстве mac DAX: Функционал 11 07.10.2006 12:34
Замены в производстве rdv DAX: Функционал 8 29.12.2003 16:53
Документы в производстве SergeySpb DAX: Функционал 1 02.09.2003 18:09
Учет оснастки в производстве Biosoft DAX: Функционал 0 24.01.2003 08:58

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:26.