Thanks to all for your answers.
I've found a solution and... it was so simple... just remove [RunOnClient] and adding a "\" at the end of the path.
procedure IntegrationFileByGenJnlBatch(p_JournalTemplateName: Code[10]; p_JournalBatchName: code[10]; p_ShowMessage: Boolean)
var
lRecGenJournalBatch: Record "Gen. Journal Batch";
//[RunOnClient]
DirectoryImport: DotNet ACYDirectory;
ArrayList: DotNet ACYArrayList;
FileInfo: DotNet ACYFileInfo;
DirectoryFileImport: Text;
DirectoryFileSave: Text;
FileImport: Text;
FileSave: Text;
car: Text[1];
fen: Dialog;
l_i: Integer;
begin
if lRecGenJournalBatch.get(p_JournalTemplateName, p_JournalBatchName) then
if lRecGenJournalBatch.ACYDirectoryFilesImport <> '' then begin
if lRecGenJournalBatch.ACYDirectoryFilesSave <> '' then begin
DirectoryFileImport := lRecGenJournalBatch.ACYDirectoryFilesImport;
DirectoryFileSave := lRecGenJournalBatch.ACYDirectoryFilesSave;
car := COPYSTR(lRecGenJournalBatch.ACYDirectoryFilesImport, STRLEN(lRecGenJournalBatch.ACYDirectoryFilesImport), 1);
IF Car = '\' THEN
DirectoryFileImport := COPYSTR(lRecGenJournalBatch.ACYDirectoryFilesImport, 1, STRLEN(lRecGenJournalBatch.ACYDirectoryFilesImport) - 1);
car := COPYSTR(lRecGenJournalBatch.ACYDirectoryFilesSave, STRLEN(lRecGenJournalBatch.ACYDirectoryFilesSave), 1);
IF Car = '\' THEN
DirectoryFileSave := COPYSTR(lRecGenJournalBatch.ACYDirectoryFilesSave, 1, STRLEN(lRecGenJournalBatch.ACYDirectoryFilesSave) - 1);
DirectoryImport := DirectoryImport.DirectoryInfo(DirectoryFileImport);
ArrayList := DirectoryImport.GetFiles();
if p_ShowMessage then Fen.OPEN('File #1######################################################################');
FOR l_i := 0 TO ArrayList.Length - 1 DO BEGIN
FileInfo := ArrayList.GetValue(l_i);
if p_ShowMessage then Fen.UPDATE(1, FileInfo.FullName);
IF FileInfo.Extension = '.txt' THEN begin
FileImport := STRSUBSTNO('%1\%2', DirectoryFileImport, FileInfo.Name);
FileSave := STRSUBSTNO('%1\%2', DirectoryFileSave, FileInfo.Name);
//ExecuteFile(FileInfo.FullName(),
// STRSUBSTNO('%1%2', p_RepertoireArchive, FileInfo.FullName), p_Gap, p_Production);
//File.Move(FileInfo.FullName(), STRSUBSTNO('%1%2', DirectoryFileSave, FileInfo.Name));
Message(FileImport + ' - ' + FileSave);
File.Copy(FileImport, FileSave);
file.Erase(STRSUBSTNO('%1\%2', DirectoryFileImport, FileInfo.Name));
END;
END;
if p_ShowMessage then Fen.Close();
end else
if p_ShowMessage then lRecGenJournalBatch.TestField(ACYDirectoryFilesSave);
end else
if p_ShowMessage then lRecGenJournalBatch.TestField(ACYDirectoryFilesImport);
end;