Имя: Пароль:
1C
1С v8
Загрузка из dbf На люникс
0 into
 
30.10.18
17:02
Выгружаю dbf файл вреде бы все нормально. Пытаюсь загрузить - получаю сообщение: Перед выполнением операции нужно открыть базу
Имя файла вот так выглядит:/tmp/Status.dbf

При выгрузке ни на что не ругается:
    ИмяФайла="Status";
    ИмяФайлаБазы  =  КаталогВременныхФайлов() + ИмяФайла + ".dbf";
1 Garykom
 
гуру
30.10.18
17:29
Регистр?
Проверить существование файла программнг
2 into
 
30.10.18
19:12
Сделал тоже самое через текстовый файл. Работает. Видимо какие-то ограничения платформы.
3 Garykom
 
гуру
30.10.18
19:21
Да были какие то проблемы с этим.
Там может быть что угодно от глюков 1С до неправильных прав (нет прав на read только write ибо записывал) или еще что с кодировкой.

Суть что платформа 1С под linux использует некие библиотеки для работы с dbf.

И точно не попутал &НаКлиенте с &НаСервере?
4 Garykom
 
гуру
30.10.18
19:23
Хотя скорее всего серверному процессу 1С прав не хватает банально, но глюк очень странный потому что должно работать ибо если нет то писать в техподдержку 1С надо.
5 Кирпич
 
30.10.18
19:25
(0) А ты базу открыл? Где код, где ты базу открываешь?
6 into
 
30.10.18
19:28
ДБФ = Новый XBase;
    ДБФ.Кодировка = КодировкаXBase.OEM;
    
    ИмяФайла="status";
    ИмяФайла  =  КаталогВременныхФайлов() + ИмяФайла + ".dbf";
    Сообщить(ИмяФайлаБазы);
    ДБФ.ОткрытьФайл(ИмяФайла);
    Если Не ДБФ.Открыта() Тогда
        Сообщить ("Нет файла");
    КонецЕсли;

    Пока НЕ ДБФ.ВКонце() Цикл
        Сообщить(ДБФ.NAME);
        ДБФ.Следующая();
    КонецЦикла;
    ДБФ.ЗакрытьФайл();
7 Garykom
 
гуру
30.10.18
19:31
(6) Заметил что у тебя в (0) "ИмяФайла="Status";" а тут "ИмяФайла="status";" ?
8 Garykom
 
гуру
30.10.18
19:31
Под линуксом "S"<>"s"
9 into
 
30.10.18
19:33
Сначала было S потом исправил на s и в выгрузке и в загрузке
10 Garykom
 
гуру
30.10.18
19:40
А имя файла если глянуть созданного там случаем не ".DBF" ?