10.12.2007, 07:13 | #1 |
Участник
|
Приветсвую,
начал разбираться с миниформами, но дальше примеров не получается. Ситуация такая, есть таблица Item, в ней есть новое поле - баркод. Нужно циклом юзеру выводить: Товар Но.: [Item No.] Баркод: [Юзер сканирует баркод и далее обработка] Получилось замутить циклом через Card (тип), но мне нужно показывать Товар Но. Помогите примерчиком пожалуйста. С уважением, Гоша |
|
10.12.2007, 10:50 | #2 |
Участник
|
Попытался понять что именно нужно сделать, но извините, немного не понял.
Цитата:
Сообщение от Goshik
начал разбираться с миниформами, но дальше примеров не получается. Ситуация такая, есть таблица Item, в ней есть новое поле - баркод.
Нужно циклом юзеру выводить: Товар Но.: [Item No.] Баркод: [Юзер сканирует баркод и далее обработка] Цитата:
Настройте миниформу по примеру WHSEACTLINES
P.S. обратите внимание на поле "Handling Codeunit" |
|
10.12.2007, 13:41 | #3 |
Участник
|
Приветсвую,
нужно каждому товару установить баркод, чтобы товар показывался циклически. Нужен примерчик Codeunit'а обработки WHSEACTLINES не получается сделать под эту задачу Поможите плиз. |
|
10.12.2007, 14:08 | #4 |
Участник
|
Я до сих пор не понял, что нужно.. Теперь появились строки складских заданий .. Раньше их не было в условии задачи.
|
|
10.12.2007, 15:57 | #5 |
Участник
|
Я имел ввиду что пробовал брать за основу как сделано в WHSEACTLINES.
Задача простая, нужно в карточке товара записать сосканированый баркод. Item Table: No. Barcode AAA1 AAA2 AAA3 ---- Нужно чтобы юзеру было показано: For Item: AAA1 Barcode: юзер вводит баркод, жмет ок и на экране появляется следующий товар: For Item: AAA2 Barcode: юзер вводит баркод Help please! |
|
10.12.2007, 17:37 | #6 |
Участник
|
Цитата:
Цитата:
Нужно чтобы юзеру было показано:
For Item: AAA1 Barcode: юзер вводит баркод, жмет ок и на экране появляется следующий товар: For Item: AAA2 Barcode: юзер вводит баркод ... {OnRun по аналогии} --Триггер для ввода, например ProcessInput(): IF XMLDOMMgmt.FindNode(RootNode,'Header/Input',ReturnedNode) THEN TextValue := ReturnedNode.text ELSE ERROR(Text001 - описание ошибки); IF EVALUATE(TableNo,ADCSCommunication.GetNodeAttribute(ReturnedNode,'TableNo')) THEN BEGIN // Key1 = TableNo RecRef.OPEN(TableNo); EVALUATE(RecordId,ADCSCommunication.GetNodeAttribute(ReturnedNode,'RecordID')); // Key2 = RecordID IF RecRef.GET(RecordId) THEN BEGIN RecRef.SETTABLE(Item); ADCSCommunication.SetRecRef(RecRef); END ELSE ERROR(Text004); END; FuncGroup.KeyDef := ADCSCommunication.GetFunctionKey(MiniformHeader.Code,TextValue); CASE FuncGroup.KeyDef OF FuncGroup.KeyDef::Esc : PrepareData; FuncGroup.KeyDef::First : ADCSCommunication.FindRecRef(RecRef,0,MiniformHeader."No. of Records in List"); FuncGroup.KeyDef::LnDn : IF NOT ADCSCommunication.FindRecRef(RecRef,1,MiniformHeader."No. of Records in List") THEN Remark := Text008; FuncGroup.KeyDef::LnUp : ADCSCommunication.FindRecRef(RecRef,2,MiniformHeader."No. of Records in List"); FuncGroup.KeyDef::Last : ADCSCommunication.FindRecRef(RecRef,3,MiniformHeader."No. of Records in List"); FuncGroup.KeyDef::PgDn : IF NOT ADCSCommunication.FindRecRef(RecRef,4,MiniformHeader."No. of Records in List") THEN Remark := Text008; FuncGroup.KeyDef::PgUp : ADCSCommunication.FindRecRef(RecRef,5,MiniformHeader."No. of Records in List"); FuncGroup.KeyDef::Input : BEGIN EVALUATE(FldNo,ADCSCommunication.GetNodeAttribute(ReturnedNode,'FieldID')); CASE FldNo OF Item.FIELDNO("Barcode"): //наше поле "Штрих-код" BEGIN {ВЫПОЛНЯЕМ ВСЕ, ЧТО НАМ НУЖНО} { та же смотрим применение функции ADCSCommunication.FieldSetvalue(RecRef,FldNo,TextValue);} END ELSE BEGIN ADCSCommunication.FieldSetvalue(RecRef,FldNo,TextValue); RecRef.SETTABLE(Item); END; END; { можно добавить КОД - не знаю что именно там еще нужно делать и в какой последовательности} //========= ActiveInputField := ADCSCommunication.GetActiveInputNo(CurrentCode,FldNo); IF ADCSCommunication.LastEntryField(CurrentCode,FldNo) THEN BEGIN ADCSCommunication.GetNextMiniForm(MiniformHeader,MiniformHeader2); MiniformHeader2.SaveXMLin(DOMxmlin); CODEUNIT.RUN(MiniformHeader2."Handling Codeunit",MiniformHeader2); END ELSE ActiveInputField += 1; //========= RecRef.GETTABLE(Item); ADCSCommunication.SetRecRef(RecRef); END; END; IF NOT (FuncGroup.KeyDef IN [FuncGroup.KeyDef::Esc,FuncGroup.KeyDef::Register]) THEN SendForm(ActiveInputField); |
|