Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Set Retail / Centrum / Oil

Помогите разобраться с дробным количеством : Set Retail / Centrum / Oil

22.11.2024 23:26


28.12.2012 14:59
Доброго времени суток.
На кассе при вводе дробного количества выдает сообщение "количетво не кратно мерности". Как продать товар сдробным количеством?
28.12.2012 15:00
в свойствах товара где мерность указать 0,001
28.12.2012 15:17
работает.спасибо.
Есть еще один нюанс.В Set Retail товары выгружаются из 1С-Рарус:Торговый комплекс. Товары которым нужно указать мерность в Set Retail очень много.Если бы я знал какой реквизит в 1С.ТК соответствует мерности в Set Retail, то написал бы обработку в 1с для заполнения "мерности".

Добавлено через 6 минут 51 секунду
Есть ли какая настройка правил обмена или сопоставления объектов? В общем как из 1с.ТК выгрузить значение мерности в Set Retail
28.12.2012 15:54
В SET -
мнемоника (или Атрибут) GoodsPrecision - мерность товара (1 или 0,001)
мнемоника (или Атрибут) GoodsType - Признак весового товара (0 – штучный, 1 – весовой)
29.12.2012 10:29
как и где их настраивать?
я только начал работать с set-ом.
29.12.2012 12:21
Вам ничего настраивать не надо, это головняк раруса. Они должны были это исправить давным давно. Либо это у вас старая конфигурация.
SQL код:
// ТОВАРЫ
    
    Если КоличествоТоваров>0 Тогда
        // создаем структуру товаров
        Если ФорматОбмена=1 Тогда // DBF
            ДБФТовары = Новый XBase;
            ДБФТовары.Поля.Добавить("MODE","S",1);
            ДБФТовары.Поля.Добавить("ITEM","S",20);
            ДБФТовары.Поля.Добавить("NAME","S",200);
            ДБФТовары.Поля.Добавить("UNIT","S",3);
            ДБФТовары.Поля.Добавить("TYPE","S",10);
            ДБФТовары.Поля.Добавить("GROUP1","N",4);
            ДБФТовары.Поля.Добавить("GROUP2","N",4);
            ДБФТовары.Поля.Добавить("GROUP3","N",4);
            ДБФТовары.Поля.Добавить("GROUP4","N",4);
            ДБФТовары.Поля.Добавить("GROUP5","N",4);
            ДБФТовары.Поля.Добавить("PRICE","N",11,2);
            ДБФТовары.Поля.Добавить("NDS","N",11,2);
            ДБФТовары.Поля.Добавить("LIFE","N",4);
            ДБФТовары.Поля.Добавить("PRECISION","N",8,4);
            ДБФТовары.СоздатьФайл(КаталогВременныхФайлов()+"GOODS"+КодГруппыОборудования+".DBF"); ДБФТовары.ЗакрытьФайл();
            ДБФТовары.ОткрытьФайл(КаталогВременныхФайлов()+"GOODS"+КодГруппыОборудования+".DBF",,0);
            ДБФТовары.Кодировка = КодировкаXBase.ANSI;
            ДБФТовары.АвтоСохранение = Истина;
            
        Иначе // COM
            ОбъектЗагрузки.DataFormat="GoodsItem;GoodsName;GoodsUnit;GoodsType;GoodsGroup1;GoodsGroup2;GoodsGroup3;GoodsGroup4;GoodsGroup5;GoodsPrice;GoodsNds;GoodsDepart;GoodsCurrency;GoodsLinkDepart;EffectiveLife;GoodsPrecision";
            
            СтрокаДанныхНоменклатура = "";
            
        КонецЕсли;
        // индикация
        ФормаИндикатор.СтрокаСостояния="Загрузка товаров в кассовый сервер...";
        ФормаИндикатор.ЭлементыФормы.Индикатор.МаксимальноеЗначение=КоличествоТоваров; ФормаИндикатор.Индикатор=0;
        // выгрузка
        Для Индекс=0 По КоличествоТоваров-1 Цикл
            ITEM        = СтрЗаменить(?(ИспользоватьАртикул,SafeArrayТаблицаТоваров.GetValue(Индекс,1),SafeArrayТаблицаТоваров.GetValue(Индекс,0)),"|","");
            NAME        = СокрЛП(СтрЗаменить(SafeArrayТаблицаТоваров.GetValue(Индекс,2),"|",""));
            TYPE        = Формат(SafeArrayТаблицаТоваров.GetValue(Индекс,9),"ЧГ=0");
            UNIT        = Лев(СокрЛП(СтрЗаменить(SafeArrayТаблицаТоваров.GetValue(Индекс,11),"|","")),3);
            GROUP1        = Формат(ВыделитьЧисло(SafeArrayТаблицаТоваров.GetValue(Индекс,4)),"ЧГ=0");
            GROUP2        = Формат(ВыделитьЧисло(SafeArrayТаблицаТоваров.GetValue(Индекс,5)),"ЧГ=0");
            GROUP3        = Формат(ВыделитьЧисло(SafeArrayТаблицаТоваров.GetValue(Индекс,6)),"ЧГ=0");
            GROUP4        = Формат(ВыделитьЧисло(SafeArrayТаблицаТоваров.GetValue(Индекс,7)),"ЧГ=0");
            GROUP5        = Формат(ВыделитьЧисло(SafeArrayТаблицаТоваров.GetValue(Индекс,8)),"ЧГ=0");
            PRICE        = Формат(Окр(SafeArrayТаблицаТоваров.GetValue(Индекс,10),2),"ЧРД=.; ЧГ=0");
            NDS            = Формат(Окр(SafeArrayТаблицаТоваров.GetValue(Индекс,12),2),"ЧРД=.; ЧГ=0");
            DEPART        = ?(Число(НомерОтдела)=0,"1",Формат(Число(НомерОтдела),"ЧГ=0"));
            CURRENCY    = "RUB";
            LIFE        = Формат(SafeArrayТаблицаТоваров.GetValue(Индекс,14),"ЧН=0; ЧГ=0");
            PRECISION    = Формат(?(SafeArrayТаблицаТоваров.GetValue(Индекс,9)=1,0.001,1),"ЧРД=.; ЧГ=0");
            
            Если ФорматОбмена=1 Тогда // DBF
                ДБФТовары.Добавить();
                ДБФТовары.MODE        = "+";
                ДБФТовары.ITEM        = ITEM;
                ДБФТовары.NAME        = NAME;
                ДБФТовары.TYPE        = TYPE;
                ДБФТовары.UNIT        = UNIT;
                ДБФТовары.GROUP1    = GROUP1;
                ДБФТовары.GROUP2    = GROUP2;
                ДБФТовары.GROUP3    = GROUP3;
                ДБФТовары.GROUP4    = GROUP4;
                ДБФТовары.GROUP5    = GROUP5;
                ДБФТовары.PRICE        = PRICE;
                ДБФТовары.NDS        = NDS;
                ДБФТовары.LIFE        = LIFE;
                ДБФТовары.PRECISION    = PRECISION;
                
            Иначе // COM
                СтрокаДанныхНоменклатура=СтрокаДанныхНоменклатура+"|"+ITEM+"|"+NAME+"|"+UNIT+"|"+TYPE+"|"+GROUP1+"|"+GROUP2+"|"+GROUP3+"|"+GROUP4+"|"+GROUP5+"|"+PRICE+"|"+NDS+"|"+DEPART+"|"+CURRENCY+"|"+DEPART+"|"+LIFE+"|"+PRECISION;
            КонецЕсли; 
29.12.2012 12:51
Разобрался. Для позиций которые нужно было продавать в дробном количестве, в 1с.ТК указал тип номенклатуры с признаком "весовой".
спасибо всем за помощь.
Часовой пояс GMT +3, время: 23:26.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.