// ТОВАРЫ
Если КоличествоТоваров>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;
КонецЕсли;