Ну почему XBase не открывается ??? В смысле DBF-файл... #107560


#0 by Macleod
Ну и сообщает "ФИГ ОТКРЫЛИ!"И хде косяк?
#1 by Vladis
Ты в рабочей базе пытаешься регистр читать?
#3 by Macleod
В копии, разумеется. Было. По фигу. Не находит файл. Такое впечатлеие, что она не понимает какие-то символы. Но пока не проверял.
#4 by Macleod
Ну, други, расскажите что-нить...
#5 by Elca
Проверь, латиница с кириллицей на своих местах
#6 by Денис2
4) попробуйа) убрать кириллицу из пути к файлуб) не указывать индекс
#7 by ModestPetrovich
По всей вероятности проблемма с форматом DBF. DBASE-IV или III какой-нибудь. Поробуй переконвертить.
#8 by Macleod
На своих. Проверил.а) Кириллицу щас уберу (а почему раньше намана работало?)б) А индекс нужен обязательно. Иначе смысла в обработке нет.
#9 by Macleod
Ну здраствуйте :)))А какой формат у файла регистров в 1С? :))) Тем более я открываю её же методом :)))
#10 by systemstopper
файл еще кто-то читает
#11 by Vladis
Это известные грабли, файл открыт точно совершенно, я тоже в свое время мучился полдня
#12 by Денис2
можешь проверить... Скопируй файл в другое место, где его точно никто не, и попробуй открыть :-) Например на диск С, в корень. Если откроет, значит, проблемы с путем или совместным доступом... Если нет - значит проблема в файле...
#13 by Дурочка 1С
... Объекты XBase поддерживают только монопольный доступ к файлам.Может быть в этом причина?
#14 by Macleod
С какого перепуга открыт? Щас, выгружу данные, проверю.Режим работы: Монопольный.
#15 by Vladis
потому что пока ты его открывал, он вываливался с ошибками и объект не отпускало. пробуй расскажешь, для начала без индекса
#16 by Macleod
Скопировал файл в корень диска D:Там точно всем доступ закрыт. WinDBFview открывает, а одинэсина не хочет.
#17 by Денис2
все-таки попробуй без индекса :-)
#18 by Macleod
Дык весь смысл в индексе... Иначе обработка на фих не упалась :)))
#19 by Vladis
Весь трабл в индексеизмени кодПопыткаКонецПопытки;Тебе скажут все что об этом думают
#20 by КонецЦикла
Можно так:.Процедура Ошибка(Код,Файл)  Если Код=-10 Тогда Текст="Ошибка закрытия файла";  ИначеЕсли Код=-20 Тогда Текст="Ошибка создания файла";  ИначеЕсли Код=-30 Тогда Текст="Ошибка определения длины файла";  ИначеЕсли Код=-40 Тогда Текст="Ошибка установки длины файла";  ИначеЕсли Код=-50 Тогда Текст="Ошибка при попытке заблокировать файл";  ИначеЕсли Код=-60 Тогда Текст="Ошибка при открытии файла";  ИначеЕсли Код=-70 Тогда Текст="Ошибка чтения файла";  ИначеЕсли Код=-80 Тогда Текст="Ошибка удаления файла";  ИначеЕсли Код=-90 Тогда Текст="Ошибка переименования файла";  ИначеЕсли Код=-100 Тогда Текст="Ошибка позиционирования файла";  ИначеЕсли Код=-110 Тогда Текст="Ошибка снятия блокировки с файла";  ИначеЕсли Код=-120 Тогда Текст="Ошибка записи в файл";  ИначеЕсли Код=-200 Тогда Текст="Файл не является базой данных формата DBF";  ИначеЕсли Код=-210 Тогда Текст="Неопознанное имя поля";  ИначеЕсли Код=-220 Тогда Текст="Неопознанный тип поля";  ИначеЕсли Код=-230 Тогда Текст="Запись слишком длинная";  ИначеЕсли Код=-300 Тогда Текст="Индексный файл не содержит информацию о записи";  ИначеЕсли Код=-310 Тогда Текст="Нарушение структуры индексного файла";  ИначеЕсли Код=-330 Тогда Текст="Указанное имя индекса недоступно";  ИначеЕсли Код=-340 Тогда Текст="Ошибка уникальности индекса";  ИначеЕсли Код=-400 Тогда Текст="Ожидается запятая или скобка";  ИначеЕсли Код=-410 Тогда Текст="Выражение не завершено";  ИначеЕсли Код=-422 Тогда Текст="IIF требует параметров одинаковой длины";  ИначеЕсли Код=-425 Тогда Текст="У STR и SUBSTR 2-й и 3-й параметры - константы";  ИначеЕсли Код=-430 Тогда Текст="Неверное число параметров";  ИначеЕсли Код=-440 Тогда Текст="Слишком сложное выражение";  ИначеЕсли Код=-450 Тогда Текст="Пропущена правая скобка";  ИначеЕсли Код=-460 Тогда Текст="Неверный тип подвыражения";  ИначеЕсли Код=-470 Тогда Текст="Неопознанная функция";  ИначеЕсли Код=-480 Тогда Текст="Неопознанный оператор";  ИначеЕсли Код=-490 Тогда Текст="Неопознанное значение";  ИначеЕсли Код=-500 Тогда Текст="Выражение не завершено символом двойной кавычки";  ИначеЕсли Код=-920 Тогда Текст="Недостаточно памяти";
#21 by Macleod
//ФИГ ОТКРЫЛИ!На "Сообщить" ни фига не сообщает, окромя "!"
#22 by Vladis
Падон я проглючил прав, надо база.КодОшибкиА вообще для чтения DBF я использую ADO и запрос можно сформировать недетскийвот примерIf RS.State = 1 Then  While RS.Eof=0 Do
#23 by Macleod
Мне не просто читать, мне ещё и записывать в них надо. Так получается, что я даже открыть её не могу. Хотя бы даже прочитать.Ёлки-палки, куда вы все подевались? (с) "Падал прошлогодний снег"Сколько в своей грешной жизни работал с ДБФ, проблем не было...
#24 by Vladis
Так какая ошибка?ПисАть просто, вместо селект - апдейт.
#25 by Macleod
Да на скуле или Адушке напишу, не проблема. Меня занимает мысль, почему обычный метод не работает. Ведь был же сарайчик (с) Особенности национальной рыбалки :)))А ошибки ваабсче никакой... Вот :)))
#26 by вовочка
а в отладчике смотрел?если на форме есть поле ПУТЬ СокрЛП не проканает
#27 by Vladis
как нет ошибки? Ты исправил на "база.КодОшибки"Если все хорошо то 0 должен быть но не пусто
#28 by user1C
Где в Попытка...Исключение...КонецПопытки?? ОписаниеОшибки работает ТОЛЬКО с ними.
#29 by Macleod
КонецЕсли;То ли я тормоз, то ли одно из двух. Не открывает. Не сообщает. Точнее сообщает "ФИГ ОТКРЫЛИ!". для На форме ПутьКФайлу. Переменная "Путь" Формируется исходя из той. В отладчике смотрел, полный путь сформирован отлично.
#30 by user1C
+упс не заметил... совсем заработался :) если выводит "!" значит ОткрытьФайл отрабатывает успешно
#31 by Macleod
КонецПопытки;А это что?
#32 by Червь
Это ты чего-то не то придумал. Ну не подумал товарищчь Нуралиев и его сотоварищи, что тебе в голову взбредет изменять значения регистров, да еще таким извратным методом. :)))А с индексами чего делать станешь после записи в регистр? Тем же методом переиндексируешь?
#33 by paulhen
а я использую такую схему:
#34 by Macleod
Ессно переиндексирую. Смотри в , там ясно сказано, что принудительная переиндексация. Ну в силу судьбы пришлось напрямую править движения регистров. И обойти никак низя. Перепроводить документы будет гораздо хуже. Надо всего-то задвоение номеров строк убрать в движении. Так это может получиться зацикливание... Она ж будет пытаться открыть базу, пока не откроется.
#35 by paulhen
2всегда можно нажать <esc>
#36 by Macleod
Ты меня развеселить хочешь? Я и так всегда весёлый :)))
#37 by user1C
А так - база.ОткрытьФайл(Путь + ".dbf") открывает?
#38 by Macleod
(All) Выяснилось, что проблема в индексе. Не создаётся и всё тут. А без него никуда.Полный код обработки:
#39 by Vladis
Я те всю дорогу и талдонил про индекс :(
#40 by Дурочка 1С
>> Выяснилось, что проблема в индексе. Не создаётся и всё тут.А должен?
#41 by Macleod
Я слышал. Но я ДОЛЖЕН создать индекс. Код видел? Это простая перерисовка строк регистра. Но индекс должен создаться, иначе всё насмарку. Переиндексакция потом не пройдёт, пробовали.
#42 by Vladis
Я ж неговорил что он не нуженКстати, у тебя ошибка: надо база.КодОшибки а не ФС.КодОшибки);
#43 by Macleod
А без ФС пишет, что метод не обнаружен. О как :)))
#44 by Vladis
Чудеса1 у меня работает2 в жкк этот метод описан именно для Хbase
#45 by Муму после всплытия
хе.................... база монопольно открыта??да, и поменяйте в база.ОткрытьФайл(Путь + ".dbf", Путь + ".cdx", 0); 0 на 1 .........................
#46 by вовочка
Так вы пытаетесь открыть базу без индекса?Тогда нужно использовать ДобавитьИндекс, ОписаниеИндекса и Т.Д
#47 by Macleod
Монопольно, разумеется.Щас попробую поменять. Это тут не причём. Индексный файл есть. Его надо только переиндексировать в соответствии с новой нумерацией строк.
#48 by Муму после всплытия
о как...................... нет слов просто.................
#49 by Дурочка 1С
Ты, просто, не в теме..., а вот автор"Сколько в своей грешной жизни работал с ДБФ, проблем не было..."
#50 by Macleod
Да, как грится... ... буду, но ни фига не понимаю. Скока раз писал обмен данными через ДБФ, проблем-то не было. А тут просто бред какой-то.
#51 by Дурочка 1С
>> ни фига не понимаю. Скока раз писал обмен данными через ДБФТы, хоть,понимаешь, что этот инструмент не для того, чтобы из под себя править файлы собственной базы? Ищи другое решение своей задачи, отстань от файлов - целее база будет.
#52 by Macleod
Интересненько, почему в скуле я могу править напрямую, а тут "не для того, чтобы из под себя править файлы собственной базы"?Поясни, плиз.З.Ы. Перепроводить документы низя. Приходится только так, в лоб править. Тем более, что ничего страшного не будет.
#53 by Дурочка 1С
Не хочешь играть по правилам? Или правила не для тебя? ("Тормоза придумали трусы")Чем играть в рулетку "будет ничего страшного/ не будет", займись "спецперепроведением" - допиши процедуру распроведения и повторного проведения так как тебе нужно (я так понимаю это разовая акция? потом вернешь модуль к теперешнему состоянию).
#54 by Macleod
Извини, конечно, но на наезд наездом :)))Ты оправдываешь ник :)))Я ж грю, что "ДЕЛАЛ" так... И с одинэсом не первый год. Вопрос в том, ПОЧЕМУ не открывается ДБФ-ник. А в том, что я с ним дальше буду делать, вопрос другой.
#55 by Macleod
Всё, мысли кончились?Придётся дома пробовать.
#56 by AsIs
дбф-ки с русскими названиями, однозначно, не открываются. Может русские буквы в маршруте не нравятся?Проверять самому, лень...
#57 by Муму после всплытия
для начала попробуйте просто скопировать файл из открытой монопольно базы.......................
#58 by DimRom
А если так сделать?  ДБ.ОткрытьФайл(СокрЛП(РабКаталог)+СокрЛП(ИмяФайлаДБ));
#59 by Macleod
Где увидел ДБФ-ки с русскими названиями? Кстати, открываются. Разумеется не копируется. Но я пытаюсь открыть совсем постороннюю ДБФ-ку.
#60 by Macleod
Всё, рабочий день закончен. Завтра продолжим :)))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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