|   |   | 
| 
 | Помогите определить формат файла (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) но проверку на порядок и имена полей вставь, а то эти "в сберах" могут догадаться переставить поля ))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |