|
Проблема с чтением dbf | ☑ | ||
---|---|---|---|---|
0
never_be
02.04.14
✎
17:20
|
Первый раз сталкиваюсь читаю dbf вот так:
хб = Новый XBase(); хб.ОткрытьФайл("E:\file.dbf",,Истина); хб.Первая(); Пока НЕ хб.ВКонце() Цикл Дата = Строка(хб.DATE); Номер = Строка (хб.NUM) МаркаМашины = Строка(хб.MARK); хб.Следующая(); КонецЦикла; хб.ЗакрытьФайл(); Проблема в том что в переменную Дата (Строка) возвращает пусто хотя это поле в файле есть, NUM заполняет нормально, MARK выдает ошибку что такого поля нет хотя оно есть в файле, в чем может быть проблема ? Раньше все работало нормально, может с dbf что-то не так ? |
|||
1
vladko
02.04.14
✎
17:22
|
(0) а отладчик что показывает по поводу mark? посмотри там вообще всю структуру хб
|
|||
2
Wobland
02.04.14
✎
17:23
|
как насчёт посмотретьисходникгалазми?
|
|||
3
mikecool
02.04.14
✎
17:26
|
(2) раньше это работало!!!
|
|||
4
never_be
02.04.14
✎
17:27
|
(1) Посмотрел, там поле называется чуть по другому, может дело в кодировке ? 1С в структуре показывает ANSI. И все даты после чтения пустые.
|
|||
5
never_be
02.04.14
✎
17:30
|
С полями разобрался, проблема только с датами у меня их в файле несколько и все не загружаются, может в самом dbf они должны быть в другом формате ?
|
|||
6
vladko
02.04.14
✎
17:31
|
Дата = Строка(хб.DATE);
надо Дата переназвать. Нельзя такие идентификаторы давать, когда он совпадает с методом языка |
|||
7
Wobland
02.04.14
✎
17:31
|
>Дата
так себе слово для переменной |
|||
8
mikecool
02.04.14
✎
17:32
|
(6) да это фигня
(7) попробуй любую строку преобразовать в дату и ты получишь ответ, неужели так сложно попробовать? |
|||
9
Wobland
02.04.14
✎
17:32
|
судя по (5) надо дать ему немного времени подумать..
|
|||
10
Wobland
02.04.14
✎
17:32
|
(8) чего это я на нчь глядя буду строки преобразовывать? ;)
|
|||
11
vladko
02.04.14
✎
17:32
|
ну и сам смотри, у тебя хб.DATE в строку превращается. А что там далее - нам не известно
|
|||
12
never_be
02.04.14
✎
17:38
|
(6) Это для примера, переменная называется по другому.
(11) Дело не в этом, открываю dbf экселем, в полях с датами есть значения, смотрю отладчиком в 1С что лежит в хб (вычислить выражение) после чтения первой строки, так вот в датах пустые значения типа 01.01.0001 00:00:00 |
|||
13
mikecool
02.04.14
✎
17:40
|
(10) а че бы и нет )))
|
|||
14
Wobland
02.04.14
✎
17:42
|
>Строка(хб.DATE)
а зачем тебе вообще строковое представление даты? (13) я бы преобразовал "хорошую девушку" в хорошую девушку. так ведь пустое значение получится, как ни старайся |
|||
15
never_be
02.04.14
✎
17:51
|
(14) Читай внимательно (12) смотрю чего прочиталось в хб и там даты пустые.
|
|||
16
Wobland
02.04.14
✎
17:56
|
(15) почитал второй раз.. я бы глянул в дбф стороннимисредствами ([xls не в счёт)
|
|||
17
Fedor-1971
02.04.14
✎
18:03
|
(12) в ДБФ не может быть такой даты, поскольку он текстовый и хранится дата в виде 02/04/14, возможно без "/".
Попробуй изменить DATE на DATE1 |
|||
18
Fedor-1971
02.04.14
✎
18:03
|
(17)+ название поля в самом ДБФ
|
|||
19
never_be
02.04.14
✎
18:08
|
(16) (17) (18) В файле есть 3 даты DATE, DO_DATE, DX_DATE в экселе все заполнены значениями типа - 02.04.2014 (так эксель показывает), а в 1С болт, все пустое.
|
|||
20
Wobland
02.04.14
✎
18:19
|
возьми xBaseView. он показывает как есть, а не как думает ексель
|
|||
21
never_be
02.04.14
✎
18:21
|
(20) ГЫ он ругается и посылает лесом, не открывает мой dbf.
|
|||
22
Wobland
02.04.14
✎
18:22
|
(21) ну, то есть, какие-то проблемы с "исходником"?
|
|||
23
never_be
02.04.14
✎
18:24
|
(22) Оправил все эти траблы ребятам которые формируют мне файл, пусть ковыряют.
|
|||
24
Wobland
02.04.14
✎
18:25
|
ексель же не матерился ;)
|
|||
25
never_be
02.04.14
✎
18:26
|
(24) ему пофиг, все ок говорит, это ваш модный xBaseView левый :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |