Не создается DBF файл

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Не создается DBF файл

Сообщение Nikos »

Помогите разобраться с экспортом платежек в DBF файл. Пользуюсь модулем Клиент-Банк, настроил экспорт как DBF, указал нужные поля. При работе не выдает никаких ошибок, файл создается, но при попытке открыть, DBF Navigator выдает "Файл поврежден или не явняется DBF файлом". Если делаю в саппорте select ... to dbf, то все нормально. В чем может быть проблема?
evgem
Постоянный гость
Сообщения: 69
Зарегистрирован: 16 фев 2006, 18:48

Сообщение evgem »

Я не пользуюсь экспортом, а сам пишу в dbf файл и ни разу ещё не было проблем.
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

Только что разобрался, столько времени потратил...
Параллельно идет экспорт в клиент банка платежек в текстовом формате. Так я после создания файла его обрабатываю (ObjExpImpScript). Благополучно я про это забыл, а ему все равно - dbf или текстовый файл, портит уже готовый dbf.
Oweo
Местный житель
Сообщения: 355
Зарегистрирован: 29 мар 2005, 17:49

Сообщение Oweo »

Nikos
Покажите если не трудно как вы там обрабатываете после экспорта и что именно.
Новые патчи удались на славу
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

После экспорта обрабатываю полученный файл - дописываю шапку и меняю кодировку:

#ifdef GAL8_0
#component "C_EXPIMP"
#endif

#include ExpImpScript.vih

VipInterface ExpImpScript_Default implements ObjExpImpScript
#ifdef GAL8_0
licensed(exp_imp) Parameters(cHJour : comp)
#end
;

// ObjExpImpScript - вызвается интерфейсами до/после экспорта/импорта документов.
// Сторонние разработчики могут написать свои реализации этого объектного интерфейса,
// чтобы привести данные в файле к нужному формату
// Все реализации должны начинатся с префикса "ExpImpScript_"

Interface ExpImpScript_Default;
Create view;
File f_var;
File f_new;

// эта процедура вызвается до того, как файл для экспорта будет открыт
// sFileName - полный путь к файлу
// cIEHead - ссылка на настройку экспорта
public procedure BeforeExport(cIEHead : comp; sFileName : string);
{
}

// эта процедура вызвается после того, как файл с результатами экспорта закрыт
// sFileName - полный путь к файлу
// cIEHead - ссылка на настройку экспорта
public procedure AfterExport(cIEHead : comp; sFileName : string);
{
var tmpChar, newstr: string;
var reestr: comp;

if pos('.dbf', sFileName) > 0 then exit;

CopyMoveFile (sFileName,sFileName+'t',false);
f_new.OpenFile(sFileName,stCreate);
f_var.OpenFile(sFileName+'t',stOpenRead);

If tsOk = getfirst IEHEAD where (IEHEAD.nrec = cIEHead)
{
reestr:=IEHEAD.NREC;
}
else
{
reestr:=0;
}

//Сбербанк
if(reestr=4001E458C4939B02h)
{
tmpChar:='1CClientBankExchange';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ВерсияФормата=1,01';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Кодировка=Windows';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Получатель=1Сv77';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаСоздания='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ВремяСоздания='+TimeToStr(Cur_Time,'HH:MM:SS');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаНачала='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаКонца='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='РасчСчет=40702810364010122340';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Документ=Платежное поручение';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
}

//ТПСБ
if(reestr=4001F448700AAD65h)
{
tmpChar:='1CClientBankExchange';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ВерсияФормата=1,01';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Кодировка=Windows';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Отправилель=Клиент-ТПСБ';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='Получатель=1С';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаСоздания='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаНачала='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='ДатаКонца='+DateToStr(Cur_Date, 'DD.MM.YYYY');
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
tmpChar:='РасчСчет=40702810406290000543';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
}


while not f_var.eof do
{
f_var.readln(tmpChar);
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
}

tmpChar:='КонецФайла';
newstr:=oem2ansi(tmpchar);
f_new.Writeln(newstr);
f_var.close;
f_new.close;
DeleteFile(sFileName+'t');
}

// эта процедура вызвается до того, как файл с данными для импорта будет открыт
// sFileName - полный путь к файлу
// cIEHead - ссылка на настройку импорта
public procedure BeforeImport(cIEHead : comp; sFileName : string);
{
}

// эта процедура вызвается после того, как файл с данными для импорта будет закрыт
// sFileName - полный путь к файлу
// cIEHead - ссылка на настройку импорта
public procedure AfterImport(cIEHead : comp; sFileName : string);
{
}
end. // интерфейс
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

Помогите! Сломался форум На форуме не работает поиск - выдает ошибку:

Could not obtain matched posts list

DEBUG MODE

SQL Error : 1016 Can't open file: 'phpbb_search_wordlist.MYI' (errno: 145)

SELECT m.post_id FROM phpbb_search_wordlist w, phpbb_search_wordmatch m WHERE w.word_text LIKE 'ПОИСК' AND m.word_id = w.word_id AND w.word_common <> 1

Line : 319
File : search.php

Новая тема не создается. Также аналогичную ошибку выдает и при добавлении сообщений, хотя через раз они все-таки добавляются. Это только у меня? И в чем может быть проблема? 2 недели назад нормально работало.
Seybukan
Местный житель
Сообщения: 1357
Зарегистрирован: 29 мар 2005, 17:49
Откуда: СПб, ЭП-Аудит
Контактная информация:

Сообщение Seybukan »

Помогите! Сломался форум На форуме не работает поиск - выдает ошибку:
такая же ерунда
yuri_z
Постоянный обитатель
Сообщения: 165
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Н.Новгород ОАО "Сибур-Нефтехим"
Контактная информация:

Сообщение yuri_z »

Закомментируйте параметр // DBFFieldNameSize=24 в cfg файлах и шапка dbf файла будет нормальной. Этот параметр необходим когда кол-во записей > 500000. Импорт с битыми заголовками проходит нормально.
Ответить