Посоветуйте с таблицей dbf #768792


#0 by rt2000
Уже второй день думаю над задачей. Нужен взгляд со стороны: Делаю выгрузку в dbf в цикле. Поставил условие, что бы в некотором случае одну запись делал два раза, только с разным кодом. Выгрузка завершилась, все записалось. Нашел одну строчку, из-за которой файл не открывается в редакторе dbf. т.е. Выборка с информацией по контрагенту "ИП Иванов": 1) Создал строчку dbf 2) Создал в этой же выборке строчку dbf, только с другим кодом контрагента. Если не записывать первую строчку по этому контрагенту, то таблица хорошо получилась. Для эксперимента, записывал их с одинаковым кодом, то же самое
#1 by ДенисЧ
Поток сознания. Похмеляться надо... (с) Где-то есть кривые символы...
#2 by Mikeware
второй день думать....сильнО!
#3 by Garykom
Не факт что если опохмелиться то лучше будет поток. В каком еще редакторе ДБФ оно не открывается? И сразу показал бы выложил файл, быстрее бы ответили. И каким еще образом в дбф то выгружаешь?
#4 by Woldemar177
кидай файл, я заценю
#5 by rt2000
Вот код. Если первую часть за комментировать, то все норм
#6 by rt2000
Без лишних условий так:
#7 by Garykom
заремь ДБФ.OL_Code = Выборка.Поле12;
#8 by rt2000
давай попробуем
#9 by Ёпрст
>>>Выборка.Ссылка.Код; Это же полный ПЭ. получай код и прочую шляпу в самом запросе.
#10 by Garykom
+ * заремь=закомментируй
#11 by Garykom
DBF Navigator ругается но ексель и либреофис открывают без проблем
#12 by Mikeware
Еще один борец с SalesWorks :-)
#13 by Garykom
Символ с кодом 1A в каком то поле подставляется у тя
#14 by Ёпрст
#15 by Ёпрст
хз, всё открывается
#16 by rt2000
Вот именно! Тем людям, которым надо отправить, используют DBF Navigator. Будут какие предположения, как это можно поправить?
#17 by Garykom
+ в ООО "ТК АНТЭК"
#18 by Garykom
везде попробуй "ДБФ.Trade_Name = СокрЛП(Выборка.Ссылка.НаименованиеПолное);"
#19 by rt2000
Проблема в предпоследней строчке с ID_CODE "ЦБ000037"
#20 by Ёпрст
удали последнюю строчку, она пустая у тебя
#21 by Ёпрст
будет открывать и дбф нафигатор
#22 by Garykom
оно у тя порезано, там еще 2 записи после Антэк
#23 by Ёпрст
#24 by Ёпрст
ничего там не порезано, просто в экран всё не влезает
#25 by rt2000
Как вы узнали, что там еще строчка есть? Как это посмотреть?
#26 by Ёпрст
тебе не пофик ли ? Если че, дбф редакторов, помимо дбф нафигатора - ваго и маленькая тележка
#27 by Garykom
сделай у тя в поле полное наименование в конце после есть левый символ "стрелка вправо" с кодом 1A
#28 by Ёпрст
причина в
#29 by Ёпрст
не надо ничего больше.
#30 by Garykom
а может откроешь hex редактором то и глянешь?
#31 by rt2000
СокрЛП - сделал. Символа лишнего не вижу И где видите лишнию строчку, если их 179 всего
#32 by Ёпрст
#33 by Ёпрст
ты видишь суслика ? А он есть ©дмб
#34 by Woldemar177
Вот в какой то записи у тебя стрелочка: Выкини ее и все номрально будет ;))))
#35 by Garykom
причем эта стрелочка очень хитро что то при записи делает, потому что если заменить ее на " " то не помогает, видать смешение произошло может еще там что кроме этой стрелочки
#36 by Garykom
+ *смещение
#37 by Fedor-1971
Не саму "стрелочку", а всё до конца файла вместе с ней. Как-то очень похоже на старую проблему из DOS: дописывание символа 1А в файл при просмотре редактором. Бывали случаи записи оного в середину файла, так, что структура DBF ломалась до конца файла.
#38 by rt2000
Я до сих пор не нашел проблему. Точнее нашел одну строчку, которую исключить из выгрузки и все нормально. Что за символ 1А? Искал в условии, не нашел: если Найти(Выборка.Ссылка.НаименованиеПолное, Символы.ВК) > 0 или
#39 by Ёпрст
Не можешь найти последнюю строку в выгрузке ? Это очень сложно ?
#40 by rt2000
В данной таблице 180 строк, мой редактор показывает 179 , одна строчка пустая, и где она? Через какой редактор. И по условию не могла добавиться строчка и не записаться. Ошибок в коде не находилось.
#41 by Garykom
>Точнее нашел одну строчку, которую исключить из выгрузки и все нормально. вот в этой строчке есть в каком то поле левые символы, открой вручную эту номенклатуру и проверь все поля (наименование, полное наименование), нет ли там чего левого
#42 by Woldemar177
Эта стрелочка наверно копируется из 1с
#43 by aka AMIGO
Вообще по старинным описаниям работы СУБД,  оператор DBF.Добавить добавляет в конец файла пустую запись а оператор DBF.Записать укладывает значения в эту запись. Если почему-либо "Записать" не выполнено, то пустая запись остается в файле. Я видел эту ситуацию при работе с FoxPro.
#44 by Fedor-1971
посмотри , когда-то давно, когда на компах жил DOS некоторые редакторы дописывали этот символ как признак конца файла после "Стрелочки" твоя 170 строка. Некоторые DBF смотрелки просто используют структуру файла и выводят целые строки, в твоём случае 169 шт. Дописывается 1С, хотя, не факт.
#46 by aka AMIGO
+ вот насчет счетчика записей в хидере - не уверен, что там добавляется единичка до "Записать". Если единица не добавлена - последняя запись не будет показана
#47 by rt2000
Через какой редактор открыть, что бы увидеть все 180 строк из 179 целых строк?
#48 by ЧеловекДуши
>>> файл не открывается в редакторе dbf Предлагаю удалить редактор, скачать другой :)
#49 by ЧеловекДуши
Выслать файл в формате XLSX
#50 by aka AMIGO
Я открывал в LibreOffice Calc, всего 180 строк, с учетом того, что первая строка - заголовки, то видно 179 инфо-строк
#51 by Ёпрст
sdbf, например
#52 by aka AMIGO
Жалко, FoxPro2.0 несовместим с Win-7 64х. Другой у меня нет, мог-бы посмотреть. Кстати, где-то в инете выложена работающая версия FoxPro 2.0 Вполне можно воспользоваться. Она ДОСовская.
#53 by ЧеловекДуши
Удали вообще файл, создай новый. Бывает так, что ты все время ерзаешь какой либо старый файлик и мучаешься почем зря :)
#54 by aka AMIGO
в winDBFview первым делом выскакивает сообщение о нарушенном заголовке, но игнорируется, и кажет 179 записей. в sdbf видна пустая запись, 180-я. Больше доверия у меня к 1С-овскому отчетику. в sdbf, скорей всего, 180-я строка - заготовка под редактор. Не удаляется. Но добавлять можно, через Insert Т.О. в файле 179 строк. Пустой строки нет. Установить, нарушен-ли заголовок файла - установить нет возможности. Но ругается только winDBFview, а 1С и sdbf воспринимают нормально.
#55 by aka AMIGO
DBFNavigator не открывает. Видимо, строже подходит к структуре заголовка, либо файл из-под 1С-овской xBase "не той системы" ©
#56 by aka AMIGO
winDBFview - наиболее подходящая для твоих файлов. Скажи Тем людям, чтобы пользовались этой утилитой, или той, которая таки открывает. Но sdbf - неверная подруга.. Будут твои "Те люди" ломать голову над пустой строкой"
#57 by Garykom
У меня мысля. ТС плиз покажи полный код, в т.ч. как создаешь заголовок файла.
#58 by rt2000
Полный код, без запроса выглядит следующим образом на данный момент: Количество записей 179
#59 by rt2000
Сейчас нашел строку: если ее за комментировать, то выгрузка нормальная. Но мне это поле надо для нормальной выгрузкой
#60 by Mikeware
почто SalesWorks верблюдОм обозвал? :-)
#61 by Garykom
Синтаксис: ЗакрытьФайл Описание: Закрывает ранее открытую или созданную таблицу базы данных формата DBF. Доступность: Тонкий клиент, сервер, толстый клиент, внешнее соединение. Пример: ЗЫ а автосохранение можешь отрубить
#62 by rt2000
Этот вариант тоже не помогает
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С