ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ»

ОФИЦИАЛЬНЫЙ ФОРУМ ГРУППЫ КОМПАНИЙ «ТЕХНОКОМ» (https://forum.tk-chel.ru/index.php)
-   Система «АвтоГРАФ»: Программное обеспечение (https://forum.tk-chel.ru/forumdisplay.php?f=4)
-   -   Проблемы в экспорте данных из автограф через оле и импорт в 1с 8.1 через ExportDataToFile (https://forum.tk-chel.ru/showthread.php?t=2264)

Леонид Борисович 18.09.2012 08:31

Проблемы в экспорте данных из автограф через оле и импорт в 1с 8.1 через ExportDataToFile
 
Необходимо получить данные включения и отключения крановой установки за период времени.
в 1с 8.1 подключаемся к системе автограф через оле.
добавляем строки в обработке 1с...

ИмяФайлаБазыDBF= строка("D:\") + строка("kran")+строка(".dbf");


Попытка
AG.ExportDataToFile(ИмяФайлаБазыDBF,3, 1);
Исключение
AG.PropertyName = "Last_Error";
Сообщить(AG.PropertyValue);
Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки());


Файл данных создается. Но прочитать его невозможно ни 1с кой ни любой другой программой просмотра файлов dbf.

в 1с - код ошибки -200,
Ошибка при вызове метода контекста (ОткрытьФайл): Формат файла отличен от .DBF БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);
по причине:
Формат файла отличен от .DBF

Программа редактор дбф ругается - ошибка открытия файла- T1:ERROR 7014: invalid dbf table.

SK 18.09.2012 08:43

Цитата:

Сообщение от Леонид Борисович (Сообщение 38098)
Файл данных создается. Но прочитать его невозможно ни 1с кой ни любой другой программой просмотра файлов dbf.

в 1с - код ошибки -200,
Ошибка при вызове метода контекста (ОткрытьФайл): Формат файла отличен от .DBF БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);
по причине:
Формат файла отличен от .DBF

Программа редактор дбф ругается - ошибка открытия файла- T1:ERROR 7014: invalid dbf table.

Файл пришлите.

SK 18.09.2012 08:50

Он у Вас часом не пустой ???
Напоминаю, у Вас включен параметр: CreateAlways = 1 – в случае ошибки создавать пустой файл

Леонид Борисович 18.09.2012 08:53

Файл
 
Вложений: 1
файл

Леонид Борисович 18.09.2012 08:56

Файл не пустой.
 
Файл создается не пустой. Через фар какие то данные есть.
И вроде бы правильные.
Вот кусок кода из 1с-ки

AG.TripIndex = 1 ;
ИмяФайлаБазыDBF= строка("D:\") + строка("kran")+строка(".dbf");
Попытка
AG.ExportDataToFile(ИмяФайлаБазыDBF,3, 1);
Исключение
AG.PropertyName = "Last_Error";
Сообщить(AG.PropertyValue);
Сообщить("Не удалось экспортировать данные: "+ОписаниеОшибки());
КонецПопытки;

SK 18.09.2012 09:00

Нормальный файл с данными. Т.е. к ПО претензий быть не должно.
Далее, надо разбираться с 1С и ее работой с DBF.


Леонид Борисович 18.09.2012 09:02

Вот так пытаемся прочитать файл средствами 1с -ки.

БД = Новый XBase();
БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);
Пока БД.Следующая() Цикл

//Сообщить(БД.CODE);
//Сообщить(БД.NAME);

КонецЦикла;
БД.ЗакрытьФайл();

zsergey 18.09.2012 09:09

Цитата:

Сообщение от Леонид Борисович (Сообщение 38105)
ИмяФайлаБазыDBF= строка("D:\") + строка("kran")+строка(".dbf");

:D мда...

Добавлено через 2 минуты
Цитата:

Сообщение от Леонид Борисович (Сообщение 38111)
Вот так пытаемся прочитать файл средствами 1с -ки.

БД = Новый XBase();
БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);
Пока БД.Следующая() Цикл

//Сообщить(БД.CODE);
//Сообщить(БД.NAME);

КонецЦикла;
БД.ЗакрытьФайл();

в каком месте ошибка вылетает?

Леонид Борисович 18.09.2012 09:28

Чем вы открываете файл?

Пробовали несколько программ 'просмотрщиков' dbf файлов... ни один не открывает, везде ругается?

Можно ли из файла, который формируется автограф экспортировать данные в текстовый формат или *.csv?

Добавлено через 1 минуту
Ошибка сразу при открытии...
БД.ОткрытьФайл(ИмяФайлаБаз ыDBF,,Истина);

SK 18.09.2012 09:33

Леонид Борисович, всё понятно. 1С не со всеми версиями DBF работает, как выяснилось. Придется сделать так, чтоб выгружалось в старой версии.

Есть два пути задать старый формат DBF:
------------------------------------------
Вариант 1. Зайти редактором в файл AutoGRAPH.ini и в секции [REPORTS] установить параметр FileExport=0
------------------------------------------
Вариант 2. В ПО АвтоГРАФ, щелкнуть правой кнопкой на списке рейсов, в выпадающем меню выбрать: Экспортировать список рейсов -> В файл... Далее, выбрать "Файл базы данных DBF", ниже выбрать формат dBASE V и один раз экспортировать. По сути, после этого в AutoGRAPH.ini в секции [REPORTS] установится параметр FileExport=0



Проверьте и отпишитесь по результату. У меня всё работает.
В будущем, сделаем экспорт через OLE всегда в формате dBASE V.


Текущее время: 12:22. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot