![]() |
![]() |
![]() |
|
Чтение DBF файла (кодировка) 8.1. | ☑ | ||
---|---|---|---|---|
0
dReamzzz
18.08.09
✎
11:46
|
При загрузке DBF файла в 1С 8.1. текст отображается «иероглифами». Пробовала и OEM и ANSI кодировку.
Если открыть данный файл в Excel, то все нормально читается. Подскажите, пожалуйста, в чем может быть проблема. |
|||
1
dReamzzz
18.08.09
✎
12:19
|
Up
|
|||
2
butterbean
18.08.09
✎
12:26
|
надо кодировку устанавливать ДО открытия файла
|
|||
3
Salvador Limones
18.08.09
✎
12:27
|
(2) +1
И код покажи. |
|||
4
butterbean
18.08.09
✎
12:29
|
(3)+ еще лучше фотку
|
|||
5
dReamzzz
18.08.09
✎
12:37
|
Функция ИмпортDBF(Параметры)
ИмяФайла = Параметры.ИмяФайла; ФайлDBF = Новый XBase; ФайлDBF.Кодировка = КодировкаXBase.OEM; //DOS Попытка ФайлDBF.ОткрытьФайл(ИмяФайла,,Истина); //Только для чтения Исключение Предупреждение("Ошибка открытия файла " + ИмяФайла); Возврат Неопределено; КонецПопытки; Если НЕ ФайлDBF.Открыта() Тогда Предупреждение("Ошибка открытия файла " + ИмяФайла); Возврат Неопределено; КонецЕсли; тзВыписка = Новый ТаблицаЗначений; тзВыписка.Колонки.Добавить("НомерПП"); тзВыписка.Колонки.Добавить("Приход"); тзВыписка.Колонки.Добавить("Расход"); тзВыписка.Колонки.Добавить("ОКПО"); тзВыписка.Колонки.Добавить("Контрагент"); тзВыписка.Колонки.Добавить("МФО"); тзВыписка.Колонки.Добавить("РСчет"); тзВыписка.Колонки.Добавить("Содержание"); ФайлDBF.Первая(); Пока НЕ ФайлDBF.ВКонце() Цикл Если ФайлDBF.ЗаписьУдалена() Тогда ФайлDBF.Следующая(); Продолжить; КонецЕсли; // проверка на дату платежа Если ФайлDBF.DAT <> Параметры.ДатаДок Тогда ФайлDBF.Следующая(); Продолжить; КонецЕсли; Если СокрЛП(Формат(ФайлDBF.RR_DB, "ЧГ=0")) = Параметры.РСчет Тогда НовСтрока = тзВыписка.Добавить(); НовСтрока.Приход = 0; НовСтрока.Расход = ФайлDBF.SUM; НовСтрока.НомерПП = СокрЛП(Формат(ФайлDBF.N_DOC,"ЧГ=0")); НовСтрока.ОКПО = СокрЛП(Формат(ФайлDBF.OKPO_CR,"ЧГ=0")); НовСтрока.Контрагент = СокрЛП(ФайлDBF.NAIM_K); НовСтрока.МФО = СокрЛП(Формат(ФайлDBF.MFO_CR,"ЧГ=0")); НовСтрока.РСчет = СокрЛП(Формат(ФайлDBF.RR_K,"ЧГ=0")); НовСтрока.Содержание = ФайлDBF.PRIZN; ИначеЕсли СокрЛП(Формат(ФайлDBF.RR_K, "ЧГ=0")) = Параметры.РСчет Тогда НовСтрока = тзВыписка.Добавить(); НовСтрока.Расход = 0; НовСтрока.Приход = ФайлDBF.SUM; НовСтрока.НомерПП = СокрЛП(Формат(ФайлDBF.N_DOC,"ЧГ=0")); НовСтрока.ОКПО = СокрЛП(Формат(ФайлDBF.OKPO_DB,"ЧГ=0")); НовСтрока.Контрагент = СокрЛП(ФайлDBF.NAIM_D); НовСтрока.МФО = СокрЛП(Формат(ФайлDBF.MFO_DB,"ЧГ=0")); НовСтрока.РСчет = СокрЛП(Формат(ФайлDBF.RR_DB,"ЧГ=0")); НовСтрока.Содержание = ФайлDBF.PRIZN; Иначе ФайлDBF.Следующая(); Продолжить; КонецЕсли; ФайлDBF.Следующая(); КонецЦикла; Если НЕ тзВыписка.Количество() И ФайлDBF.КоличествоЗаписей() Тогда Предупреждение("В текущем файле нет платежей с данной датой выписки и расчетным счетом!"); КонецЕсли; ФайлDBF.ЗакрытьФайл(); Возврат тзВыписка; КонецФункции |
|||
6
dReamzzz
18.08.09
✎
12:50
|
Кодировка у меня ДО открытия и стоит. Работала с DBF-файлами раньше неоднократно, таких проблем не возникало. Обычная загрузка выписки.
Банк-клиент стоит на ОС Vista. Файл и на Vista и на XP читается «иероглифами». |
|||
7
dReamzzz
18.08.09
✎
14:20
|
Up
|
|||
8
Snorkler
18.08.09
✎
14:44
|
KOI-8?
|
|||
9
dReamzzz
18.08.09
✎
17:04
|
(8) В синтаксисе 8 можно выбрать или OEM или ANSI кодировку. Как установить KOI-8 (я так понимаю это кодировка)?
|
|||
10
Snorkler
18.08.09
✎
17:26
|
В Клиент-Банке есть настройка кодировки?
|
|||
11
dReamzzz
18.08.09
✎
17:31
|
(10)Скорее всего есть какие-то. Но у меня в наличии только файлы.
|
|||
12
Zeldan
18.08.09
✎
17:38
|
все иероглифами или только часть текста?
|
|||
13
Zeldan
18.08.09
✎
17:42
|
(9)KOI-8,это кодировка действительно,но стандартными средствами 1с можно считать только в кодировке OEM или ANSI
|
|||
14
dReamzzz
18.08.09
✎
17:43
|
‡ Ї« ⥦ ‘®Ј« б® ¤®Ј®ў®аг Ї.2.2.¤®Ј.ь110 ўi¤ 23.07.2003а. 03.01.2002 § 12.08.2009-12.08.2009. ЃҐ§ Џ„‚
‘Ї« в § б⮬ в. Ї®б«гЈЁ §Ј. а е. ь112 ўi¤ 15,07,09. ўбм®Ј® - 3230,00 Ја. ЃҐ§ Џ„‚ Вот, например. |
|||
15
sttt
18.08.09
✎
17:46
|
(14) ваще за досил :0)
|
|||
16
Snorkler
18.08.09
✎
17:47
|
Как-то мне под руку попадался dbf-viewer, с возможностью менять кодировку, но это же не выход. Чем каждый раз обрабатывать файл, может лучше попросить выдавать файлы в правильной кодировке?
|
|||
17
sapphire
18.08.09
✎
17:48
|
(0) Используйте Visual Fox Pro ODBC Driver или связку MS Access - dbf.
|
|||
18
Zeldan
18.08.09
✎
17:49
|
(17)к чему это все?нужно чтоб выдали файл в нужной кодировке.зачем лишние телодвижения
|
|||
19
sapphire
18.08.09
✎
17:49
|
(18) Банки, например далеко не всегда идут на такое
|
|||
20
sttt
18.08.09
✎
17:50
|
пришли мне файл на st2009st собака qip.ru
|
|||
21
sttt
18.08.09
✎
17:51
|
(14)То что ты прислала, это - "База в формате DOS" ОЕМ
|
|||
22
Snorkler
18.08.09
✎
17:52
|
(19) Надо им правильно объяснять, почему клиент всегда прав... :0)
|
|||
23
Snorkler
18.08.09
✎
17:52
|
(21) Только какой-то украинский DOS...
|
|||
24
Zeldan
18.08.09
✎
17:55
|
в коде как раз и считывается в таком формате...
|
|||
25
sttt
18.08.09
✎
17:56
|
(23) ну да "послуги зг" :0)))
|
|||
26
dReamzzz
18.08.09
✎
18:11
|
(20) отправила письмо с файлом
|
|||
27
sttt
18.08.09
✎
18:21
|
пока не получил :0(
|
|||
28
sttt
19.08.09
✎
09:29
|
так и не получил файл. попробуй на sttt собака bk.ru отправить
|
|||
29
vde69
19.08.09
✎
09:39
|
попробуй пропатчить реестр и перезагрузить комп
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase] "DataCodePage"="ANSI" "BDE"=dword:00000002 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls" |
|||
30
dReamzzz
19.08.09
✎
13:10
|
Проблема решилась, после того как кодировка:
ФайлDBF.Кодировка = КодировкаXBase.OEM; Была установлена ПОСЛЕ открытия файла, а не ДО. Всем спасибо! |
|||
31
НЕА123
19.08.09
✎
13:13
|
вот это развод...
|
|||
32
sttt
19.08.09
✎
13:22
|
(31) да, развели как пацанов, причем меня дважды в (26) :0))
|
|||
33
dReamzzz
19.08.09
✎
13:43
|
(31) проблему решила не я, а один из наших сотрудников. Он сказал, что кодировку файла установил уже после его открытия и таким образом проблема решилась. Я просто пересказываю слова, хотя сама еще не проверяла действительность сказанного. Но, думаю, что так оно и есть - врать не зачем.
(32) файл я действительно отправляла, но только сегодня мне пришел отчет о том, что письмо не было доставлено. |
|||
34
rasswet
20.08.09
✎
09:20
|
(5) ФайлDBF.ЗаписьУдалена() это что он проверяет? есть какая-то отметка в файле что строка удалена, но физически она есть?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |