|
Загрузка в DBF хелп | ☑ | ||
---|---|---|---|---|
0
tpudl_bases
19.10.12
✎
15:21
|
Не получается:
http://clip2net.com/s/2pAPS База = Новый XBase(); // База.Кодировка = КодировкаXBase.OEM; База.Поля.Добавить("NomerD","S",11); База.Поля.Добавить("DataDoc","D",10); База.Поля.Добавить("Firma","S",50); База.Поля.Добавить("KontragentKOD","S",9); База.Поля.Добавить("Kontragent","S",50); База.Поля.Добавить("Dogovor","S",20); База.Поля.Добавить("DogovorKod","N",11); База.Поля.Добавить("Sklad","S",100) ; База.Поля.Добавить("TZTovarx","S",100); База.Поля.Добавить("TZUsluga","S",100); База.Поля.Добавить("NOM","S",100) ; База.Поля.Добавить("NOMKod","N",15) ; База.Поля.Добавить("YnId","S",100) ; База.Поля.Добавить("Kolvo","N",15,2) ; База.Поля.Добавить("Cena","N",15,2) ; База.Поля.Добавить("Summa","N",15,2) ; База.Поля.Добавить("StavkaNDS","S",10,2) ; База.Поля.Добавить("SummaNDS","N",15,2) ; ИмяФайлаБазы = ФайлВыгрузки; База.ОткрытьФайл(ИмяФайлаБазы); Если Не База.Открыта() Тогда База.СоздатьФайл(ИмяФайлаБазы); Иначе База.ОчиститьФайл(); КонецЕсли; // База.СоздатьФайл(ФайлВыгрузки+"\FileName.dbf"); // База.Индексы.Добавить("IDXCODE", "CODE"); // ФлИБД = База.СоздатьИндексныйФайл(ИмяФайлаБазы + "index.cdx"); База.АвтоСохранение = Истина; Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон" ; Запрос.УстановитьПараметр("ДатаНач",НачалоДня(НачПериода)); Запрос.УстановитьПараметр("ДатаКон",КонецДня(КонПериода)); Если ЗначениеЗаполнено(СпрФирма) Тогда ТекстЗапроса = ТекстЗапроса+" И РеализацияТоваровУслуг.Организация = &Организация"; Запрос.УстановитьПараметр("Организация",СпрФирма); КонецЕсли; Если ЗначениеЗаполнено(ВыбКонтрагент) Тогда ТекстЗапроса = ТекстЗапроса+" И РеализацияТоваровУслуг.Контрагент В ИЕРАРХИИ(&Контрагент)"; Запрос.УстановитьПараметр("Контрагент",ВыбКонтрагент); КонецЕсли; Запрос.Текст = ТекстЗапроса; РеалДок = Запрос.Выполнить().Выгрузить(); Если РеалДок = Неопределено Тогда Предупреждение("Нет документов в этом периуде"); Иначе Для Каждого СтрДок Из РеалДок Цикл Если СтрДок.Ссылка.Товары.Количество()>0 Тогда // Для Каждого Стр Из СтрДок.Ссылка.Товары Цикл База.Добавить(); База.NomerD = СтрДок.Ссылка.Номер; База.DataDoc = СтрДок.Ссылка.Дата ; База.Firma = СтрДок.Ссылка.Организация.Наименование ; База.Kontragent= СтрДок.Ссылка.Контрагент.Наименование; // База.KontragentKod = СтрДок.Ссылка.Контрагент.Код; База.Dogovor= СтрДок.Ссылка.ДоговорКонтрагента.Наименование; База.DogovorKod = СтрДок.Ссылка.ДоговорКонтрагента.Код; База.Sklad = СтрДок.Ссылка.Склад.Наименование; Для Каждого СтрТовары Из СтрДок.Ссылка.Товары Цикл База.NOM = СтрТовары.Номенклатура.Наименование; База.NOMKod = СтрТовары.Номенклатура.Код; База.Cena = СтрТовары.Цена; База.Summa = СтрТовары.Сумма; База.Kolvo = СтрТовары.Количество; База.StavkaNDS = СтрТовары.СтавкаНДС; База.YnId = Сред(ЗначениеВСтрокуВнутр(СтрТовары.Номенклатура),46,32); База.Записать(); КонецЦикла; База.Записать(); КонецЕсли; КонецЦикла; КонецЕсли; База.Записать(); База.ЗакрытьФайл(); |
|||
1
informts
19.10.12
✎
15:26
|
База.Записать(); Вроде как совсем не обязательно, после База.ЗакрытьФайл(); все запишется
|
|||
2
informts
19.10.12
✎
15:28
|
База.Поля.Добавить("NomerD","N",15,0);
|
|||
3
ptiz
19.10.12
✎
15:29
|
(0) Да всё получается, просто с кодировкой проблемы.
|
|||
4
informts
19.10.12
✎
15:30
|
русский не понимает
|
|||
5
tpudl_bases
19.10.12
✎
15:38
|
Включил :
База = Новый XBase(); База.Кодировка = КодировкаXBase.OEM; отладчик говорит: База.Кодировка ANSI КодировкаXBase |
|||
6
tpudl_bases
19.10.12
✎
15:40
|
то есть так правельней:
База.Кодировка = КодировкаТекста.OEM; все равно рез не изменился |
|||
7
drumandbass
19.10.12
✎
15:43
|
Создай шаблон DBF в нужной кодировке уже с полями. Открывай его и пиши данные.
|
|||
8
drumandbass
19.10.12
✎
15:43
|
(0)Предупреждение("Нет документов в этом периуде"); периоде)))))
|
|||
9
tpudl_bases
19.10.12
✎
15:48
|
(7) брат,примерчик дай пожалуста
|
|||
10
tpudl_bases
19.10.12
✎
16:10
|
апну разочек
|
|||
11
ptiz
19.10.12
✎
16:48
|
Удали существующий файл и попробуй еще раз.
|
|||
12
tpudl_bases
19.10.12
✎
17:03
|
(11)делал,тоже вариант,скорей сего потому что у меня Win-7?!
|
|||
13
kimarle
19.10.12
✎
17:15
|
(12) Вряд ли. У меня аналогичная выгрузка в вин7 исправно работает.
|
|||
14
tpudl_bases
19.10.12
✎
17:17
|
(13)покешь свой вариант
|
|||
15
drumandbass
19.10.12
✎
17:20
|
(0) вот с шаблоном я делал https://docs.google.com/open?id=0B1bHgGq9YfQ_MzRCSXpiX0lCYW8
|
|||
16
drumandbass
19.10.12
✎
17:25
|
(0) еще замечание DBF нужно открывать через DBFNavigator. Excel может глючить..
|
|||
17
kimarle
19.10.12
✎
17:26
|
(14)
Запрос = Новый Запрос;
|
|||
18
tpudl_bases
19.10.12
✎
17:35
|
(17)вот так заработало:
База.Поля.Добавить("SummaNDS","N",15,2) ; База.Кодировка = КодировкаXBase.OEM; База.СоздатьФайл(ФайлВыгрузки); База.ОчиститьФайл(); |
|||
19
Мимохожий Однако
19.10.12
✎
18:12
|
База.АвтоСохранение = Истина;
Поставь второй строчкой в коде |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |