|
Помогите определить формат файла (dbf) и как его прочесть. | ☑ | ||
---|---|---|---|---|
0
arsik
гуру
15.03.16
✎
16:06
|
Собственно сбер эквайринг присылает. В рар архиве. В архиве файл с расширением xls.
Но на самом деле, покопался я, это dbf. Но какой то нестандартный. По первому биту вроде db3, но названия полей - кириллица. http://fastpic.ru/view/73/2016/0315/b304c9b944402bc17725e8426cdc3f45.jpg.html Сам файл кинуть не могу, в нем конфиденциальная информация. Чем его читать? |
|||
1
Rie
15.03.16
✎
16:11
|
(0) Возможно, я ошибаюсь. Но вроде как xBase понимает кириллицу.
|
|||
2
aka AMIGO
15.03.16
✎
16:12
|
FoxBase тоже понимает
|
|||
3
aka AMIGO
15.03.16
✎
16:13
|
Если есть Excel - можно открыть в нём
|
|||
4
aka AMIGO
15.03.16
✎
16:16
|
LibreOffice Calc предлагает на выбор страницы.
Выбрал 1251 - норма, по-русски. |
|||
5
Ёпрст
15.03.16
✎
16:18
|
да любым oledb провайдером. Напиши запрос по ado к нему и привет
|
|||
6
vde69
15.03.16
✎
16:19
|
пропатч реестр и 1с будет нормально его читать
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" |
|||
7
arsik
гуру
15.03.16
✎
16:21
|
Открывать файл открывает, но имена полей не читабельны.
Пробовал 1) 1С с разными кодировками 2) BaseViev |
|||
8
Garykom
гуру
15.03.16
✎
16:22
|
(7) попробуй LibreOffice
|
|||
9
arsik
гуру
15.03.16
✎
16:26
|
Либре тоже криво. Не может нормально прочитать имена полей. С кодировкой норм, но левое дополнительно туда что то вставляет
|
|||
10
arsik
гуру
15.03.16
✎
16:27
|
||||
11
arsik
гуру
15.03.16
✎
16:29
|
Извиняюсь. Убегаю.
|
|||
12
Garykom
гуру
15.03.16
✎
16:29
|
(10) передайте му*акам из сбера что они тупые
|
|||
13
DmiVo
15.03.16
✎
16:46
|
(0) Sdbf 4.3 умеет изменять кодовую страницу заголовка.
Формат xBaseIII. |
|||
14
пипец
15.03.16
✎
17:11
|
обычно связываемся с тех поддержкой непосредственно того отделения, которое прислало и просим поменять формат
ЗЫ были моменты - пришлось на пальцах объяснять - в каком формате нужно , для каждого отделения отдельно |
|||
15
Карупян
15.03.16
✎
17:13
|
помнится раньше была программка winDBFview - мастхэв для любого семерочника
|
|||
16
Garykom
гуру
15.03.16
✎
17:17
|
(15) по прежнему юзаю DBF Navigator 2.01
|
|||
17
6kubikov
15.03.16
✎
21:53
|
(0) Excel нормально открывает
|
|||
18
Aleksey
15.03.16
✎
21:58
|
Тоже нормально открыл и ексель и плагин к тотал командеру
|
|||
19
arsik
гуру
16.03.16
✎
11:37
|
(17) (18) Для этого эксель нужен на сервере.
|
|||
20
Aleksey
16.03.16
✎
11:38
|
(19) А еще и компьютер нужен
Вопрос был в чём? Как прочитать файл. Ответ - екселем |
|||
21
ЧеловекДуши
16.03.16
✎
16:08
|
(19) И какая религия мешает установить на сервер ексель? :)
|
|||
22
Карупян
16.03.16
✎
16:09
|
(21) ктож даст на сервер что-то ставить
|
|||
23
ЧеловекДуши
16.03.16
✎
16:10
|
(22) Гл. Бух с Ген. Директором :)
|
|||
24
Aleksey
16.03.16
✎
16:23
|
(22) Т.е. ексель ставить нельзя а всякий левый софт скаченный на файлопомойки для просмотра дбф - это пожалуйста?
|
|||
25
arsik
гуру
16.03.16
✎
19:58
|
(24) Кто вам сказал, что я это все на сервере делаю?
Даже непонятно что с таблицей. И где у нее не та кодировка. Да блин почему он не в той кодировке то открывает? |
|||
26
Garykom
гуру
16.03.16
✎
21:32
|
(25) с таблицей все замечательно, и кодировка все замечательно
но кто ее выгружал слегка того и не в курсе http://www.sql.ru/forum/538655/russkie-nazvaniya-poley-v-dbf-s-dos-kodirovkoy-tdbf-halcyon-i-apollo-ne-spravlyautsya ЗЫ в формате DBF никогда не были оговорены не ASCII = только латиница, заглавные http://softclipper.net/bazy-dbf/format-fajla-dbf.html |
|||
27
Garykom
гуру
16.03.16
✎
21:36
|
(26)+ заголовки полей в DBF "по общепринятому стандарту" только латиница
потому что разработчики большинства программ/компонентов для работы с dbf писали на компах на которых в байте 7 бит )) нет других кодировок кроме https://ru.wikipedia.org/wiki/ASCII а так как эти исходные/изначальные алгоритмы используются без изменения то вот и получаются глюки ЗЫ вы еще имя MEMO файла длиннее 8 символов латиницы сделайте... |
|||
28
Garykom
гуру
16.03.16
✎
21:40
|
(10) в следующий раз будешь выкладывать файл с "удаленной" конфиденциальной информацией, лучше сначала изучить как происходит удаление в DBF файлах, что такое "флаг пометки удаления" и "сжатие таблицы"
|
|||
29
arsik
гуру
17.03.16
✎
07:28
|
(28) Да я убегал уже. По быстрому сделал, без головы. На следующий день увидел. :) Удалил его.
|
|||
30
arsik
гуру
17.03.16
✎
07:31
|
(26) Спасибо. Буду долбить сбер, для приведения к стандарту. Не знал, как аргументировать.
|
|||
31
NikVars
17.03.16
✎
10:42
|
(30) Ага! Застрой Сбер! Про ипотеку тоже не забудь!!!
Аргумент: Ипотека должна быть доступной, как сказал Путин. "В дальнейшем - стремиться к тому, чтобы ставки по ипотеке составляли 5-6% годовых", - сказал Путин еще в 2011 году. http://realty.newsru.com/article/20Apr2011/putin |
|||
32
6kubikov
17.03.16
✎
10:54
|
(31) Не забудь еще Ельцина вспомнить и всех, кто до него был. Тоже обещали светлое будущее.
|
|||
33
arsik
гуру
17.03.16
✎
12:17
|
Попробовал через ADODB. Нормально поля видит, но числовые дробные значения "портятся" :)
Ничего понять не могу. Значение 1645,97 через адодб видно как 1645,96999999999 Код: СтрокаСоединения = "Provider=Microsoft.Jet.OLEDB.4.0; |Data Source=D:\bd; |Extended Properties=""DBASE III;"";"; Попытка АДОДБ = Новый COMОбъект("ADODB.Connection"); АДОДБ.Open(СтрокаСоединения); Исключение Сообщить(НСтр("ru = '"+ОписаниеОшибки()+"'"), СтатусСообщения.Внимание); Возврат; КонецПопытки; НБ= АДОДБ.Execute("Select * from [primer]"); Пока НБ.EOF=0 Цикл СУММА=НБ.Fields("СУММА_РАСЧ").value; Сообщить("СУММА_РАСЧ "+Формат(СУММА,"ЧГ=0")); НБ.MoveNext(); КонецЦикла; НБ=Неопределено; АДОДБ.Close(); АДОДБ = Неопределено; |
|||
34
Mikeware
17.03.16
✎
12:20
|
Блин, давно б читал посимвольно, и сам разбирал - быстрее бы вышло.
один хрен, тупо последовательно читаешь... |
|||
35
arsik
гуру
17.03.16
✎
12:41
|
(34) Да ну зачем так глубоко копать.
VFPOLEDB - справился. :) Нормально дробь считывает. |
|||
36
Garykom
гуру
17.03.16
✎
12:49
|
Ну вот нафига с разными АДО выделываться? Штатно из 1С прочитать через xBase затем поля но номерам сопоставить с испорченными (коды символов юзать) названиями
Т.е. русское "СУММА_РАСЧ" переводишь в то что выдает xBase в 1С по имени поля и сопоставляешь. Далее данные из dfb в ТЗ с нужными именами полей и штатно крутишь |
|||
37
arsik
гуру
17.03.16
✎
13:15
|
(36) И ты прав. Действительно прокатило через ПолучитьЗначениеПоля(НомерПоля). В методе можно номер поля использовать.
Просто изначально когда я смотрел в отладчике как xBase работает, там поля были в порядке алфавитном, а не как в файле. Подумал, что сопоставить не смогу. |
|||
38
Garykom
гуру
17.03.16
✎
13:24
|
(37) но проверку на порядок и имена полей вставь, а то эти "в сберах" могут догадаться переставить поля ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |