Трехуровневка ... временные локальные файлы
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Трехуровневка ... временные локальные файлы
День добрый!
Не пойму где надо докрутить ....подскажите
Трабл:
Есть отчет который при работе создает текстовые файлы на диске С (c:\a1.txt)... формируются там макросы для excel.
Галактика 8.1 двухуровневая все работает отлично проблем нет...
Пробовал на трех уровневке файлы не найдены .. и не создаются .. я так понимаю что Галактика просто не знает где диск С или еще чего подобное???
Где искать подскажите!
Зарание спасибо
Не пойму где надо докрутить ....подскажите
Трабл:
Есть отчет который при работе создает текстовые файлы на диске С (c:\a1.txt)... формируются там макросы для excel.
Галактика 8.1 двухуровневая все работает отлично проблем нет...
Пробовал на трех уровневке файлы не найдены .. и не создаются .. я так понимаю что Галактика просто не знает где диск С или еще чего подобное???
Где искать подскажите!
Зарание спасибо
Время ведет!
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
можно кусочек кода... ??Andrey писал(а):у меня временные файлы трехзвенки создаются в каталоге ЕХЕ старта галактики, причем в этом каталоге создается каталог с именем пользователя и вот, именно, в нем
пробовал несколько вариантов
Код: Выделить всё
FBasName:='c:\SetAlbFormat.bas';
PutFileToClient(FBasName, false);
DeleteFile(FBasName);
LogStrToFile(FBasName, 'Sub SetAlbFormat ()');
LogStrToFile(FBasName,'With ActiveSheet.PageSetup');
LogStrToFile(FBasName, ' .PrintTitleRows = ""' );
LogStrToFile(FBasName, ' .PrintTitleColumns = ""' );
LogStrToFile(FBasName, 'End With');
LogStrToFile(FBasName, 'End Sub');
xlImportModule(FBasName);
xlRunMacro(' SetAlbFormat ');
DeleteFile(FBasName);
Код: Выделить всё
FBasName:='SetAlbFormat.bas';
PutFileToClient(FBasName, false);
DeleteFile(FBasName);
LogStrToFile(FBasName, 'Sub SetAlbFormat ()');
LogStrToFile(FBasName,'With ActiveSheet.PageSetup');
LogStrToFile(FBasName, ' .PrintTitleRows = ""' );
LogStrToFile(FBasName, ' .PrintTitleColumns = ""' );
LogStrToFile(FBasName, 'End With');
LogStrToFile(FBasName, 'End Sub');
xlImportModule(FBasName);
xlRunMacro(' SetAlbFormat ');
DeleteFile(FBasName);
Код: Выделить всё
FBasName:='SetAlbFormat.bas';
DeleteFile(FBasName);
LogStrToFile(FBasName, 'Sub SetAlbFormat ()');
LogStrToFile(FBasName,'With ActiveSheet.PageSetup');
LogStrToFile(FBasName, ' .PrintTitleRows = ""' );
LogStrToFile(FBasName, ' .PrintTitleColumns = ""' );
LogStrToFile(FBasName, 'End With');
LogStrToFile(FBasName, 'End Sub');
xlImportModule(FBasName);
xlRunMacro(' SetAlbFormat ');
DeleteFile(FBasName);
Время ведет!
Эд как всегда прав..
Код: Выделить всё
PutFileToClient - Передать файл на клиент
function PutFileToClient (
const fName : string;
aVisual : boolean) : longint;
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Уважаемые местные жители ... наверно я что то с путями путаю ...
Не работает .. ... что еще может быть не так??????????
Код: Выделить всё
FBasName:='SetAlbFormat.bas';
DeleteFile(FBasName);
LogStrToFile(FBasName, 'Sub SetAlbFormat ()');
LogStrToFile(FBasName, 'End Sub');
PutFileToClient(FBasName, false);
xlImportModule(FBasName);
xlRunMacro(' SetAlbFormat ');
DeleteFile(FBasName);
FBasName:='c:\SetAlbFormat.bas';
DeleteFile(FBasName);
LogStrToFile(FBasName, 'Sub SetAlbFormat ()');
LogStrToFile(FBasName, 'End Sub');
PutFileToClient(FBasName, false);
xlImportModule(FBasName);
xlRunMacro(' SetAlbFormat ');
DeleteFile(FBasName);
Время ведет!
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
в правах наверное все таки - файл должен был создаться. Сделайте любой текстовый отчет. Надите его. Попробуйте свой лог прописать в тот же каталог. TranslatePath мож вам поможет. Еще могет быть тробла в самом logstrtofile.
по Ctrl+F4 вычислите
TranslatePath('%ClientRoot%') + '\OUT\'+UserName + '\')
GetStringParameter('Files','OutputFilesDirectory',0)
файл где то должон быть.
Да. попробуйете в кадрах в построителе отчета задать макрос, или в зарплате - общие ведомости - состав заработной платы - там принцип тот же. Не получиться - обратитесь в ТП. Потом о аналогии сделаете в своем коде.
у меня в 8_0 работал такой кусок
#ifdef ATL51
logfile :=TranslatePath('%ClientRoot%') + '\OUT\'+UserName + '\'+logfilenm;
#ELSE
logfile:=GetStringParameter('Files','OutputFilesDirectory',0)+logfilenm ;
#endif
logfilenm:=GetStringParameter('Files','OutputFilesDirectory',0)+logfilenm ;
//=====================
if kl3zvenka
{ // здесь наверное нужно чаго то сделать
#ifdef ATL51
PutFileToClient(logfile,false)
#ENDIF
}
else
logfile:=logfilenm ;
// message('1') ;
// GetFileFromClient(logfilenm,false) ;
message('В процесе формирования обнаружены ошибки'+chr(13)+
'смотрите "'+logfile+'"')
ProcessText(logfile,vfNewTitle+vfEscable+vfMacroSize+vfRunModal,
logfile+' Протокол ошибок');
но в 8_1 попробовать пока не довелось
по Ctrl+F4 вычислите
TranslatePath('%ClientRoot%') + '\OUT\'+UserName + '\')
GetStringParameter('Files','OutputFilesDirectory',0)
файл где то должон быть.
Да. попробуйете в кадрах в построителе отчета задать макрос, или в зарплате - общие ведомости - состав заработной платы - там принцип тот же. Не получиться - обратитесь в ТП. Потом о аналогии сделаете в своем коде.
у меня в 8_0 работал такой кусок
#ifdef ATL51
logfile :=TranslatePath('%ClientRoot%') + '\OUT\'+UserName + '\'+logfilenm;
#ELSE
logfile:=GetStringParameter('Files','OutputFilesDirectory',0)+logfilenm ;
#endif
logfilenm:=GetStringParameter('Files','OutputFilesDirectory',0)+logfilenm ;
//=====================
if kl3zvenka
{ // здесь наверное нужно чаго то сделать
#ifdef ATL51
PutFileToClient(logfile,false)
#ENDIF
}
else
logfile:=logfilenm ;
// message('1') ;
// GetFileFromClient(logfilenm,false) ;
message('В процесе формирования обнаружены ошибки'+chr(13)+
'смотрите "'+logfile+'"')
ProcessText(logfile,vfNewTitle+vfEscable+vfMacroSize+vfRunModal,
logfile+' Протокол ошибок');
но в 8_1 попробовать пока не довелось
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Код: Выделить всё
.form 'test01'
.ard
.nameinlist 'Test'
.var
PathMacros:string;
.endvar
.create view a1 as select *
from TmpGrn;
.begin
#ifdef ATL51
PathMacros :=TranslatePath('%ClientRoot%') + '\OUT\'+UserName + '\'+'MartMemoTest.txt';
#ELSE
PathMacros:=GetStringParameter('Files','OutputFilesDirectory',0)+'MartMemoTest.txt' ;
#endif
DeleteFile(PathMacros);
LogStrToFile(PathMacros, 'Sub SetAlbFormat ()');
LogStrToFile(PathMacros,'With ActiveSheet.PageSetup');
LogStrToFile(PathMacros, ' .PrintTitleRows = ""' );
LogStrToFile(PathMacros, ' .PrintTitleColumns = ""' );
LogStrToFile(PathMacros, 'End With');
LogStrToFile(PathMacros, 'ActiveSheet.PageSetup.PrintArea = ""');
LogStrToFile(PathMacros, 'With ActiveSheet.PageSetup');
LogStrToFile(PathMacros, ' .LeftHeader = ""');
LogStrToFile(PathMacros, ' .CenterHeader = ""');
LogStrToFile(PathMacros, ' .RightHeader = ""');
LogStrToFile(PathMacros, ' .LeftFooter = ""' );
LogStrToFile(PathMacros, ' .CenterFooter = ""');
LogStrToFile(PathMacros, ' .RightFooter = ""');
LogStrToFile(PathMacros, ' .LeftMargin = APPLICATION.InchesToPoints(0.2)');
LogStrToFile(PathMacros, ' .RightMargin = APPLICATION.InchesToPoints(0.2)');
LogStrToFile(PathMacros, ' .TopMargin = APPLICATION.InchesToPoints(0.4)');
LogStrToFile(PathMacros, ' .BottomMargin = APPLICATION.InchesToPoints(0.4)');
LogStrToFile(PathMacros, ' .HeaderMargin = APPLICATION.InchesToPoints(0.0)');
LogStrToFile(PathMacros, ' .FooterMargin = APPLICATION.InchesToPoints(0.0)');
LogStrToFile(PathMacros, ' .PrintHeadings = False');
LogStrToFile(PathMacros, ' .PrintGridlines = False');
LogStrToFile(PathMacros, ' .PrintComments = xlPrintNoComments');
LogStrToFile(PathMacros, ' .CenterHorizontally = True');
LogStrToFile(PathMacros, ' .CenterVertically = False');
LogStrToFile(PathMacros, ' .Orientation = xlLandscape');
LogStrToFile(PathMacros, ' .Draft = False');
LogStrToFile(PathMacros, ' .PaperSize = xlPaperA3');
LogStrToFile(PathMacros, ' .FirstPageNumber = xlAutomatic');
LogStrToFile(PathMacros, ' .Order = xlDownThenOver');
LogStrToFile(PathMacros, ' .BlackAndWhite = False');
LogStrToFile(PathMacros, ' .Zoom = 70');
LogStrToFile(PathMacros, 'End With');
LogStrToFile(PathMacros, 'End Sub');
PutFileToClient(PathMacros, false);
xlCreateExcel('rep285.xls',true);
xlCreateMatrix(100,10);
xlWriteMatrixToExcel(1,1);
xlFreeMatrix;
xlImportModule(PathMacros);
xlRunMacro(' SetAlbFormat ');
xlKillExcel;
Test01.fexit;
end.
.endform
Время ведет!