Не создается DBF файл
Модераторы: m0p3e, edward_K, Модераторы
Не создается DBF файл
Помогите разобраться с экспортом платежек в DBF файл. Пользуюсь модулем Клиент-Банк, настроил экспорт как DBF, указал нужные поля. При работе не выдает никаких ошибок, файл создается, но при попытке открыть, DBF Navigator выдает "Файл поврежден или не явняется DBF файлом". Если делаю в саппорте select ... to dbf, то все нормально. В чем может быть проблема?
После экспорта обрабатываю полученный файл - дописываю шапку и меняю кодировку:
#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. // интерфейс
#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. // интерфейс
Помогите! Сломался форум На форуме не работает поиск - выдает ошибку:
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 недели назад нормально работало.
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 недели назад нормально работало.