|
DBF. Проблема с индексным файлом | ☑ | ||
---|---|---|---|---|
0
Rounder
11.03.13
✎
16:55
|
Создаю dbf-файл, к нему индексы и индексный файл.
В 1С все работает хорошо. Однако в dbf выгружаются данные для внешнего использования. Создается и bdf и cdx файлы, но в dbf не проставляется 28-й байт, указывающий на связь с индексным файлом. Т.о. досовые приложения не видят индексного файла. Поставил в dbf 28-й байт в "01" HEX-редактором, и приложения увидели индексный файл. Это баг? Это такая задумка у разработчиков 1С? Это мои кривые руки? Ну, и самое главное - как победить? |
|||
1
Kreont
11.03.13
✎
17:02
|
видно глюка, хотя теже дбф разные бывают.
То что хочет програма из дос, не значит что так должно быть во всех дбф по умолчанию именно из 1с. |
|||
2
kiruha
11.03.13
✎
17:03
|
Внешним (нормальным!)приложениям типа FoxPro практически любые параметры можно указать при инициализации драйвера, несмотря на заголовок, который у 1С кривой уже лет 15
|
|||
3
Rounder
11.03.13
✎
17:06
|
Ну под внешним я понимал FoxPro 2.6 и VisualFoxPro.
И из (2) делаю вывод что это давно известный глюк 1С? (2) Про параметры при инициализации драйвера можно поподробней? |
|||
4
Kreont
11.03.13
✎
17:11
|
(2) ну да логично, было б странным если б из под фокса нельзя было такого сделать. Но фокс то как раз и есть оболочка для работы с дбф, а 1С отдельная програмка как никак, и думаю что делать в ней поддержку всех возможных ДБФ без надобности. Хорошо что хоть какой то файлик формирует :)
Пробуй ДБФ не стандартно из 1с делать, а через ОДБС |
|||
5
kiruha
11.03.13
✎
17:14
|
VisualFoxPro нормально читает CDX если параметр сортировки Collating Sequence=MACHINE
про параметры лучше документацию читать - там много страниц http://www.foxclub.ru/rhproject/project/ |
|||
6
Rounder
11.03.13
✎
17:17
|
(4) Ну я думаю формирование правильного заголовка файла должно быть по умолчанию. Я так понимаю заголовок файла - это то, что описывается в спецификации формата. Ну да ладно.
(4) (5) Спасибо. Буду пытаться обходными путями. Мне уже из 1С нужно выплюнуть связку файлов, чтобы они читались без дальнейших манипуляций. И еще вопрос - а можно ли в 1С поправить этот самый байт, т.е. можно ли открыть бинарный файл для редактирования? |
|||
7
Kreont
11.03.13
✎
17:23
|
(6) можно, но лучше сразу готовый сделать правильно :)
|
|||
8
Rounder
11.03.13
✎
17:24
|
(7) Так если ж не получается :)
Collating Sequence=MACHINE - из 1С не выставишь в нужно значение. ДБФ - через ОДБС делать - еще вопрос что проще, это или байт изменить. |
|||
9
Kreont
11.03.13
✎
17:26
|
байт изменить проще но некрасиво будет
|
|||
10
kiruha
11.03.13
✎
17:26
|
(8)
Это в Фокспро выставляется Попробуй для начала просто открыть из студии фокса ДБФ - там он сам спросит - и посмотреть увидит или нет |
|||
11
kiruha
11.03.13
✎
17:30
|
3 способа
1.в параметрах программы 2.в конфигурац файле 3. программно SET COLLATE TO "MACHINE" |
|||
12
Kreont
11.03.13
✎
17:32
|
+4 вариант, через настройку источника данных в системе
|
|||
13
Rounder
11.03.13
✎
18:28
|
Проблему нужно решить внутри 1С. С выгруженным файлом работает масса разного внешнего ПО. Файл будет выгружать регламентно - фоновым заданием.
(8) В фоксе открываю - ничего не спрашивает и не видит, пока байт не изменю. |
|||
14
Rounder
11.03.13
✎
18:36
|
В настройках фокса выставлено в "MACHINE"
И программно делал Итог тот же - не видит индексов. |
|||
15
kiruha
11.03.13
✎
18:36
|
(13)
Создавай внутри 1С тем же фоксом через oledb |
|||
16
kiruha
11.03.13
✎
18:39
|
Тем более, что кроме заголовка там и сортировка не полностью совпадает (для экзотических знаков)
|
|||
17
Rounder
11.03.13
✎
18:40
|
Еще раз спасибо помогавшим. Завтра попробую создавать через OLEDB.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |