Имя: Пароль:
1C
1С v8
выгрузка в ДБФ-файл , помогите с запросом
0 Proshka
 
18.01.12
09:06
Выгружаю в дбф по документу перемещенеи товаров.
Делаю так:

ФайлВВР = Новый XBase;
ФайлВВР.Поля.Добавить("DAT","S",25);
ФайлВВР.Поля.Добавить("NOM","S",12);
ФайлВВР.Поля.Добавить("NOMEN","S",150);
ФайлВВР.Поля.Добавить("KOL","N",10,3);
ФайлВВР.Поля.Добавить("CEN","N",10,3);
ФайлВВР.Поля.Добавить("KOD","S",11);
ФайлВВР.Поля.Добавить("IZM","S",11);

ФайлВВР.Кодировка = КодировкаXBase.OEM ;

ФайлВВР.СоздатьФайл("U:\staff.dbf");

Запрос = Новый запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    ПеремещениеТоваровТовары.Номенклатура,
|    ПеремещениеТоваровТовары.Количество,
|    ПеремещениеТоваров.Дата,
|    ПеремещениеТоваров.Номер,
|    ПеремещениеТоваров.СкладПолучатель КАК СкладПолучатель,
|    ПеремещениеТоваровТовары.СчетУчетаБУ.Код,
|    ПеремещениеТоваровТовары.НовыйСчетУчетаБУ.Код,
|    ХозрасчетныйОстаткиИОбороты.СуммаОборотДт / ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт КАК Цена,
|    ПеремещениеТоваровТовары.Номенклатура.Код КАК КОД,
|    ПеремещениеТоваровТовары.Номенклатура.БазоваяЕдиницаИзмерения КАК ИЗМ
|ИЗ
|    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
|        ПО (ПеремещениеТоваров.Ссылка = ПеремещениеТоваровТовары.Ссылка)
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты
|        ПО ПеремещениеТоваровТовары.Номенклатура.Ссылка = ХозрасчетныйОстаткиИОбороты.Субконто1.Ссылка
|ГДЕ
|    ПеремещениеТоваров.СкладПолучатель = &СкладПолучатель
|    И ПеремещениеТоваров.Дата > &Дата";
Запрос.УстановитьПараметр("СкладПолучатель",ПолеВвода1);
Запрос.УстановитьПараметр("Дата",ПолеВвода2);

РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Для каждого Стр Из РезультатЗапроса Цикл
ФайлВВР.Добавить();
ФайлВВР.NOM = Стр.Номер;
ФайлВВР.DAT = Стр.Дата;
ФайлВВР.NOMEN = Стр.Номенклатура;
ФайлВВР.KOL = Стр.Количество;
ФайлВВР.CEN = Стр.Цена;
ФайлВВР.KOD = Стр.КОД;
ФайлВВР.IZM = Стр.ИЗМ;
ФайлВВР.Записать();
КонецЦикла;
ФайлВВР.ЗакрытьФайл();


поля КОД и ИЗМ получаются со сзначением 0,000...в чем может быть дело? вроде запрос верный
1 Дядя Васька
 
18.01.12
09:15
Ну ИЗМ точно не строка, да и с кодом бабушка надвое сказала. Возможно не отрабатывает приведение типов. Если просто РезультатЗапроса.ВыбратьСтроку() написать, там что будет?
2 Proshka
 
18.01.12
09:15
апчик
3 Proshka
 
18.01.12
09:16
слушай, аточно...ИЗМ же берется из справочника..тупанул, каюсь...щас КОЛ посмотрю
4 НЕА123
 
18.01.12
09:16
ФайлВВР.KOD = ""+Стр.КОД;
ФайлВВР.IZM = ""+Стр.ИЗМ;
?
5 Proshka
 
18.01.12
09:30
(4)-помогло, спасибо.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.