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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.10.2004, 14:46   #1  
paucer is offline
paucer
Участник
 
24 / 10 (1) +
Регистрация: 11.11.2003
Адрес: Kaunas
search item by barcode
How to enter new items by barcode?

Usually in itemID field you select itemnumber from item list. How could be done that from barcode scanner?
Старый 06.10.2004, 06:08   #2  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Да никак. Если конечно сами не напишете поддержку сканнеров штрих-кодов в Аксапте, т.к. стандартный функционал их просто не поддерживает. Особенно сканнеры, подключаемые в COM-порт.
Сканнеры подключаемые в разьем клавиатуры сами по себе просто набирают сканируемый код на клавиатуре, следовательно определенным образом извращаясь их можно заюзать без какой либо поддержки со стороны программы в которой их предполагается использовать, но это наверняка будет неудобно.

Кроме того сама постановка вопроса (как ввести новый itemId со сканнера) мне непонятна - что вы хотите? Чтобы ItemId у товара был равен штрих-коду на его этикетке??
Старый 06.10.2004, 08:32   #3  
Alex_K is offline
Alex_K
Участник
 
531 / 36 (3) +++
Регистрация: 07.02.2003
Ну, нельзя сказать, что совсем уж не поддерживает... Если посмотреть инвентаризацию в Управлении запасами Аксапты 3, то таки может... Вводим с клавиатуры (или клавиатурного сканера) штрихкод - выбирается искомая номенклатура. Соответственно, аккуратно доработав формы закупок/заказов, можно выбирать и там.
А вот ItemId=штрихкод - это моветон.
Старый 28.06.2005, 15:59   #4  
robocomp is offline
robocomp
Бобр
Аватар для robocomp
 
56 / 10 (1) +
Регистрация: 03.05.2005
Адрес: Кабардино-Балкария, Терскол
моветон жжот (+)
А как делают в таком случае? Заводят новую аналитку "штрихкод"?
Старый 29.06.2005, 09:44   #5  
Lazy_Tiger is offline
Lazy_Tiger
NavAx
Axapta Retail User
1C
NavAx Club
 
610 / 31 (3) +++
Регистрация: 17.12.2001
Адрес: Красноярск
У меня это выглядит так (это не стандартный функционал):
public int task(int _taskId)
{
#TASK

int ret;
ItemId itemId;

if (_taskId == #TASKBARCODE)
{
itemId = InventItemBarcode::findBarcodeSimple(appl.barcodeObject().getBarcodeString()).itemId;

if (itemId)
inventTable_ds.filter(fieldNum(InventTable, ItemId), itemId);
}
else
ret = super(_taskId);
return ret;
}

а зачем новую аналитику то? открываем форму InventTable и находим на ней кнопочку "Настройки" и там "Штриховые коды"
__________________
И все они создания природы...
Старый 29.06.2005, 11:18   #6  
Peter Savintsev is offline
Peter Savintsev
Участник
 
246 / 119 (4) +++++
Регистрация: 14.12.2001
Если одной номенклатуре соответствует только один штрих-код, то можно использовать поле "Краткое наименование" в картотеке номенклатуры. В это случае можно будет вводить штрих-код в поле кода номенклатуры, а система сама заменит его на нужный код.
Старый 29.06.2005, 11:50   #7  
bagyr is offline
bagyr
Участник
 
74 / 10 (1) +
Регистрация: 15.02.2005
Адрес: Томск
Цитата:
Изначально опубликовано Peter Savintsev
Если одной номенклатуре соответствует только один штрих-код, то можно использовать поле "Краткое наименование" в картотеке номенклатуры. В это случае можно будет вводить штрих-код в поле кода номенклатуры, а система сама заменит его на нужный код.
1 штрихкод - 1 товар - это исключительная ситуация, на 100% гарантировать такую ситуацию можно только для внутренних штрихкодов организации. Для штрихкодов, которые печатаю производители, очень часто сталкивался с двумя противоположными ситуациями:
1) 1 товар - разные штрихкоды, эта же кола, разливаемая на разных заводах, имеет разные штрих коды. Тоже самое с сигаретами, некоторыми консервами и т.д.
2) 1 штрихкод - разные товары, некоторые чаи (по-моему "Восточный Купец"), консервы имеют 1 штрихкод на весь видовой ассортимент товара. Даже попадались принципиально разные товары с одинаковыми штрихкодами.
Первая ситуация - это норма, решается связью 1:н.
Вторая - жульничество или ошибки производителей. Решается только переклейкой штрихкодов на внутринние.
Старый 29.06.2005, 14:29   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Поскольку предполагается, что сканеры штрих-кодов используются на складе, работа с ними реализована во всех складских журналах. Заказы и закупки складскими документами не являются. Вообще, у кладовщиков доступ в эти формы, ИМХО, должен быть только на чтение.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 14.12.2006, 18:26   #9  
Vby is offline
Vby
Участник
 
25 / 10 (1) +
Регистрация: 28.11.2005
Подскажите как организовать такой функционал:
В строках заказа вводится в поле номенклатура штрих-код, по штрих-коду ищется номенклатура и подставляется в строку со всеми аналитиками.
Как добится того что бы подставлялась аналитика?
Как передать в salesline inventDimId?
Вот что получилось, но работает не совсем так, как хотелась бы.
X++:
boolean  validateField(fieldId  fieldId)
{
    boolean         ok = true;
    SalesLineType   salesLineType;
    RAssetTable     assetTable;    //valu FA (Viar)
    SalesLine       salesLineTmp;  //valu FA (Viar)

    InventItemBarcode inventItemBarcode;
    InventDim           inventDim;
    InventTable         inventTable;
    SalesLine           salesLine;
    ;



    if(fieldId == fieldnum(SalesLine, ItemId))
    {
        select firstonly InventItemBarcode
        where InventItemBarcode.itemBarCode ==  this.ItemId;

        if(inventItemBarcode)
        {
            this.ItemId = inventItemBarcode.itemId;
            if(inventItemBarcode.inventDimId)
            {
                ttsbegin;
                inventDim.clear();
                inventTable.clear();
                //inventItemBarcode.clear();

                inventTable = InventTable::find(this.ItemId);
                //inventItemBarcode = InventItemBarcode::findBarcode(inventTable.itemId);
                inventDim = inventItemBarcode.inventDim();

                inventDim.inventLocationId  = inventTable.salesInventLocationId(inventDim.inventLocationId);
                inventDim.configId          = inventDim.configId
                                ? inventDim.configId
                                : inventTable.standardConfigId;

                inventDim.inventSizeId      = inventDim.InventSizeId
                                ? inventDim.InventSizeId
                                : inventTable.standardInventSizeId;

                inventDim.inventColorId     = inventDim.InventColorId
                                ? inventDim.InventColorId
                                : inventTable.standardInventColorId;

                inventDim.InventLocationId  = inventDim.InventLocationId;

                salesLine.inventDimId       = InventDim::findOrCreate(inventDim).inventDimId;


                salesLine.inventDimId       = InventDim.inventDimId;

                salesLine.projCategoryId    = inventTable.projCategoryId;
                salesLine.setTaxItemGroup(inventTable.salesTaxItemGroupId());

                salesLine.salesUnit         = inventTable.salesUnitId();
                salesLine.overDeliveryPct   = inventTable.salesOverDeliveryPct();
                salesLine.underDeliveryPct  = inventTable.salesUnderDeliveryPct();

                salesLine.initName(inventTable);
                salesLine.initFromCustExternalItemDescription();

                salesLine.salesQty          = InventItemBarcode.Qty;

                salesLine.qtyOrdered        = InventItemBarcode.Qty;
                salesLine.CurrencyCode      = CompanyInfo::standardCurrency();
                salesLine.priceUnit         = inventTable.salesPriceUnit();
                salesLine.lineAmountModified();
                salesLine.barCode           = inventItemBarcode.itemBarCode;
                salesLine.barCodeType       = inventItemBarcode.barcodeSetupId;

                salesLine.dimension         = Dimensions::findDimension(salesLine, inventTable, inventTable.Dimension);

                salesLine.setPriceDisc(inventDim);
                salesLine.calcPackingUnit(inventDim);


                ttscommit;
            }
        }
    }

    ok = super(fieldId);

    if (ok)
    {
        salesLineType = this.type();
        ok = salesLineType.validateField(fieldId);
    }
    // Valu FA  (Viar) -->
    if (ok && fieldId == fieldnum(SalesLine, assetId_ru) && this.assetId_ru)
    {
        assetTable = RAssetTable::find(this.assetId_ru);
        ok = assetTable.isOkToSell();
        if (ok)
        {
            salesLineTmp = SalesLine::findAsset_RU(this.assetId_ru);
            if (salesLineTmp && salesLineTmp.recid != this.recId)
            {
                ok = checkfailed(strfmt("@FAV1297", salesLineTmp.salesId));
            }
        }
    }
    // <<-- Valu FA (Viar)

    return ok;
}
Старый 14.12.2006, 19:02   #10  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Да уж, длинно и некрасиво.
Вот идеи:
salesLine.initFromInventTable(...)
InventDim.mergeUsedDim(...)
SalesLine::ModifySalesQty(...)

А полный пример реализации похожей функциональности можно найти здесь:
\Classes\WMSJournalFormTrans\barCodeEAN128

И ради бога, сделайте отдельное поле для ввода штрих-кода.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics Mobile: How to code your own barcode enabled tasklets (Motorola and Intermec devices) Blog bot DAX Blogs 1 03.06.2014 06:34
Khue Trinh: Alternative Item Blog bot DAX Blogs 0 09.04.2009 16:05
Inside Dynamics AX 4.0: Common Search Blog bot DAX Blogs 0 29.10.2007 10:50
axaptafreak: AOT search within search results Blog bot DAX Blogs 0 16.11.2006 17:40
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:28.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.