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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.12.2007, 07:13   #1  
Goshik is offline
Goshik
Участник
 
3 / 10 (1) +
Регистрация: 10.12.2007
Приветсвую,
начал разбираться с миниформами, но дальше примеров не получается. Ситуация такая, есть таблица Item, в ней есть новое поле - баркод.
Нужно циклом юзеру выводить:
Товар Но.: [Item No.]
Баркод: [Юзер сканирует баркод и далее обработка]
Получилось замутить циклом через Card (тип), но мне нужно показывать Товар Но.
Помогите примерчиком пожалуйста.
С уважением,
Гоша
Старый 10.12.2007, 10:50   #2  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Попытался понять что именно нужно сделать, но извините, немного не понял.
Цитата:
Сообщение от Goshik Посмотреть сообщение
начал разбираться с миниформами, но дальше примеров не получается. Ситуация такая, есть таблица Item, в ней есть новое поле - баркод.
Нужно циклом юзеру выводить:
Товар Но.: [Item No.]
Баркод: [Юзер сканирует баркод и далее обработка]
Цитата:
Настройте миниформу по примеру WHSEACTLINES
Получилось замутить циклом через Card (тип), но мне нужно показывать Товар Но.
Что значит циклом? Вы хотите, чтобы товар товар показывался циклически или после прочтения штрих-кода?

P.S. обратите внимание на поле "Handling Codeunit"
Старый 10.12.2007, 13:41   #3  
Goshik is offline
Goshik
Участник
 
3 / 10 (1) +
Регистрация: 10.12.2007
Приветсвую,
нужно каждому товару установить баркод, чтобы товар показывался циклически. Нужен примерчик Codeunit'а обработки
WHSEACTLINES не получается сделать под эту задачу
Поможите плиз.
Старый 10.12.2007, 14:08   #4  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от Goshik Посмотреть сообщение
Приветсвую,
нужно каждому товару установить баркод, чтобы товар показывался циклически. Нужен примерчик Codeunit'а обработки
WHSEACTLINES не получается сделать под эту задачу
Поможите плиз.
Я до сих пор не понял, что нужно.. Теперь появились строки складских заданий .. Раньше их не было в условии задачи.
Старый 10.12.2007, 15:57   #5  
Goshik is offline
Goshik
Участник
 
3 / 10 (1) +
Регистрация: 10.12.2007
Я имел ввиду что пробовал брать за основу как сделано в WHSEACTLINES.

Задача простая, нужно в карточке товара записать сосканированый баркод.
Item Table:
No. Barcode
AAA1
AAA2
AAA3

----
Нужно чтобы юзеру было показано:
For Item: AAA1
Barcode: юзер вводит баркод, жмет ок и на экране появляется следующий товар:
For Item: AAA2
Barcode: юзер вводит баркод

Help please!
Старый 10.12.2007, 17:37   #6  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Goshik Посмотреть сообщение
Я имел ввиду что пробовал брать за основу как сделано в WHSEACTLINES.
Задача простая, нужно в карточке товара записать сосканированый баркод.
Item Table:
No. Barcode
AAA1
AAA2
AAA3
Header - Form Type (This field contains the form type of the miniform) - Card или Data List: A card-type form that can show plain text, which is used only for log in.
Цитата:
Нужно чтобы юзеру было показано:
For Item: AAA1
Barcode: юзер вводит баркод, жмет ок и на экране появляется следующий товар:
For Item: AAA2
Barcode: юзер вводит баркод
CU по аналогии с 7713 или 7705 (более наглядно) приблизительно должен быть таким:
... {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);
 


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

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

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