14.05.2010, 12:27 | #1 |
Участник
|
winApi::getTempFilename
Здраствуйте ,
Столькнулься с такой проблемой . Етот winApi::getTempFilename я использую для создания временного файла ( дбф ) . В рапортах , в которых оно есть выглядить так - X++: // переменные #WinAPI Filename cFil; WinAPICreateDBF wDbf; .. cFil = winApi::getTempFilename( "c:\\darb\\", "LG"); cFil = strrem( cFil, "." ); cFil = cFil + ".dbf"; wDbf = new WinAPICreateDBF(); wDbf.StartCreateHeader( cFil ); wdbf.AddString( "modelis", 50 ); wdbf.AddString( "pavadinim", 140 ); wDbf.AddNomeric( "apsk_kaina", 12, 3 ); if ( invParm.ConfigIdFlag ) wdbf.AddString( "konfig", 60 ); if ( invParm.InventBatchIdFlag ) wdbf.AddString( "paket_nr", 20 ); if ( invParm.InventLocationIdFlag ) wdbf.AddString( "sandelis", 60 ); if ( !lNelikv ) { wDbf.AddNomeric( "lik1", 9, 0 ); wDbf.AddNomeric( "lik1_s", 14, 3 ); wDbf.AddNomeric( "pajm", 9, 0 ); wDbf.AddNomeric( "pajm_s", 14, 3 ); wDbf.AddNomeric( "gamb", 9, 0 ); wDbf.AddNomeric( "gamb_s", 14, 3 ); wDbf.AddNomeric( "isld", 9, 0 ); wDbf.AddNomeric( "isld_s", 14, 3 ); wDbf.AddNomeric( "pard", 9, 0 ); wDbf.AddNomeric( "pard_s", 14, 3 ); wDbf.AddNomeric( "pard_a", 14, 3 ); } wDbf.AddNomeric( "lik2", 9, 0 ); wDbf.AddNomeric( "lik2_s", 14, 3 ); wdbf.AddString( "uzsakov", 60 ); wdbf.AddString( "uzsk_grp", 60 ); wdbf.AddString( "mod_pgr", 60 ); wdbf.AddString( "inter_id", 25 ); wdbf.AddString( "mod_kolekc", 30 ); if ( lDetail ) { wdbf.AddString( "medz_var", 10 ); wdbf.AddString( "spalva", 10 ); wdbf.AddString( "dydis", 15 ); } wDbf.AddNomeric( "mod_min", 10, 2 ); wDbf.EndCreateHeader(); while select tmp2 order by ItemId, InventLocId, InventBatchId { InventTable = InventTable::find( tmp2.ItemId ); aDbfV = connull(); aDbfV += tmp2.ItemId; aDbfV += InventTable.ItemName; aDbfV += num2str( tmp2.Price, 12, 3, 1, 0 ); if ( invParm.ConfigIdFlag ) aDbfV += tmp2.ConfigId; if ( invParm.InventBatchIdFlag ) aDbfV += tmp2.InventBatchId; if ( invParm.InventLocationIdFlag ) aDbfV += tmp2.InventLocId; if ( !lNelikv ) { aDbfV += num2str( tmp2.Lik1, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.LikSum1, 14, 3, 1, 0 ); aDbfV += num2str( tmp2.Paj, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.PajSum, 14, 3, 1, 0 ); aDbfV += num2str( tmp2.PajG, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.PajGSum, 14, 3, 1, 0 ); aDbfV += num2str( tmp2.Isl, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.IslSum, 14, 3, 1, 0 ); aDbfV += num2str( tmp2.Prd, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.PrdSum, 14, 3, 1, 0 ); aDbfV += num2str( tmp2.PrdAps, 14, 3, 1, 0 ); } aDbfV += num2str( tmp2.Lik2, 9, 0, 1, 0 ); aDbfV += num2str( tmp2.LikSum2, 14, 3, 1, 0 ); aDbfV += tmp2.SalesName; aDbfV += tmp2.CustGroup; aDbfV += InventTable.ALNInventGroupSubGroupDescription; aDbfV += tmp2.UTInterId; aDbfV += tmp2.UTModCollectId; if ( lDetail ) { aDbfV += tmp2.Medziag; aDbfV += tmp2.Spalva; aDbfV += tmp2.Dydis; } aDbfV += num2str( tmp2.ModMinut, 10, 2, 1, 0 ); wDbf.AddStringToTable( aDbfV ); } wDbf.CloseDbf(); С уважением , Римантас П.С. Ахапта - 3,0 Последний раз редактировалось Rimantas; 14.05.2010 в 12:29. |
|
14.05.2010, 12:34 | #2 |
Участник
|
Каталог "darb" существует?
|
|
14.05.2010, 12:43 | #3 |
Участник
|
Ну конечно существует . Повтораюсь - вот если я запусчю один какой то рапорт из етих 5-7 , то всё работает хорошо . Мне никак неясно почему cFil = inApi::getTempFilename( "c:\\darb\\", "LG" ); в етих рапоратх работает и выдает нпр. LGACtmp ( точнее вернет LGAC.tmp , но я выбрасываю "." и добавляю '.dbf' ) , а в етом одном рапорте возвращает пустую строку ...
|
|
14.05.2010, 12:47 | #4 |
Участник
|
Уточню вопрос.
Каталог "darb" существует на клиенте или на сервере? Код выполняется на клиенте или на сервере? Понимаете про что я |
|
14.05.2010, 12:52 | #5 |
Участник
|
|
|
14.05.2010, 12:57 | #6 |
Участник
|
|
|