|
ФайлDBF в XBase загружает нулями 🠗Ø (Волшебник 27.08.2024 11:55) | ☑ | ||
---|---|---|---|---|
0
newtech
naïve
26.08.24
✎
22:34
|
Подскажите, загружаю DBF в ТЗ, при загрузке файла в XBase,
те поля, у которых Тип Число было пустым, загружает нулем. как решить эту проблему? ФайлDBF = Новый XBase; ФайлDBF.ОткрытьФайл(ПутьКФайлуDBF,,Истина); |
|||
1
Волшебник
26.08.24
✎
22:35
|
Ну реши как-нибудь
|
|||
2
newtech
naïve
26.08.24
✎
23:02
|
(1) Спасибо, за дельный совет.
|
|||
3
Aleksey
27.08.24
✎
00:07
|
(2) Для типа число чем пусто от 0 отличается?
А так можешь писать при выгрузки если пусто пиши заведомо нереальное число, например -99999. И при загрузки анализируй, если у тебя -999999, тогда "тут должно быть пусто" |
|||
4
newtech
naïve
27.08.24
✎
00:53
|
(3) Есть исходный DBF с полями, некоторые поля заполнены, некоторые пустые. В полях с Типом Число, есть со значением 0 и Пусто.
Я DBF загоняю в ТЗ, затем ТЗ в во ВременноеХранилище , в процессе обработки Достаю из ВХ, читаю, Изменяю, Дополняю., затем опять сохраняю в DBF, все прекрасно работало, пока в исходных данных не появились пустые Поля с Тип Число. |
|||
5
H A D G E H O G s
27.08.24
✎
00:57
|
(4) Когда из dbf в ТЗ загоняешь, меняй пустые поля с тип Число на ноль, в чем проблема?
|
|||
6
newtech
naïve
27.08.24
✎
01:17
|
(5) Проблема в том, что Если в исходном DBF есть ПустоеПоле или 0 Тип число, и в процессе обработки, не понадобилось его изменить, то вернуть мне нужно DBF так же с ПустымПолем или 0. Но возникла проблема , когда использую ФайлDBF = Новый XBase; ФайлDBF.ОткрытьФайл(ПутьКФайлуDBF,,Истина); Все пустые поля приводятся к 0.
Понятно что можно решить разными способами данную проблему. Хотелось бы рассмотреть варианты. |
|||
7
H A D G E H O G s
27.08.24
✎
01:33
|
(6) Скинь пример файла
|
|||
8
newtech
naïve
27.08.24
✎
02:10
|
||||
9
RVN
27.08.24
✎
07:04
|
(4) у тебя в ТЗ при создании это поле случаем не типизировано как число?
|
|||
10
AAA
27.08.24
✎
07:14
|
На мой взгляд данная задача является некорректной. Если в исходном файле числовые значения неопределены, то этот файл является кривоватым,так как нет такого числа. И поэтому после обработки сохранять пустые значения это как то не очень. Разумнее поправить исходный файл, чтобы в нем не было пустых значений. Зачем обрабатывать кривые файлы, да еще с сохранением кривизны? И автор не пояснил зачем надо сохранять эти пустые значений, для кого это важно и почему?
|
|||
11
AAA
27.08.24
✎
07:18
|
Если пустое значение используется как признак необработанной
ячейки, то можно решить проблему иначе, записывая туда заведомо неиспользуемое значение, что то типа -(минус) 99999999999 |
|||
12
АгентБезопасной Нацио
27.08.24
✎
08:53
|
(0) все в полном соответствии со стандартом - "пустое" значение типа нумерик = 0. Исходный файл стандарту не соответствует
|
|||
13
Гость из Мариуполя
гуру
27.08.24
✎
09:40
|
Мне интересно (чисто из любопытства) - а чем, какой программой ты умудрился создать dbf файл, у которого те поля, у которых тип число, были пустыми?
|
|||
14
Смотрящий
27.08.24
✎
09:51
|
(13) Обычно это что то специфическое и трудно заменяемое.
|
|||
15
Волшебник
27.08.24
✎
09:53
|
чушь какая-то
|
|||
16
newtech
naïve
27.08.24
✎
11:37
|
(13) (14) Ну приблизительно так
Функция СформироватьСтруктуруПолей() ТаблицаПолей = ""; ТаблицаПолей = Новый Массив; ДобавитьПолеВТаблицуПолей(ТаблицаПолей,"ttn","S",50) ; ДобавитьПолеВТаблицуПолей(ТаблицаПолей,"ttn_date","D", 10 ) ; ... далее Функция ВыгрузитьНаСервереDBF(ТекДокумент,СтруктураПолей) ТЧ = Новый ТаблицаЗначений; ТЧ.Очистить(); Для Х = 0 По СтруктураПолей.Количество()-1 Цикл Поле = СтруктураПолей[Х]; Попытка ТЧ.Колонки.Добавить(Поле.Имя); Загружаем в ТЧ нужные данные и формируем DBF, далее этот файл отправляется в разные базы(последовательно корректируется) и уже идет на обработку (поменять формат файла, не имеется возможности) |
|||
17
Волшебник
27.08.24
✎
11:41
|
Извращенцы
|
|||
18
newtech
naïve
27.08.24
✎
11:55
|
(17) возможно..
И все же какой метод подойдет, при загрузке DBF определять поле, с Тип Число пустое оно или имеет значение 0 |
|||
19
Волшебник
27.08.24
✎
11:56
|
Со своим DBF ебитесь сами.
пустое число, но не ноль... пиздец какой-то... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |