Как я могу получить список файлов из каталога?
Я пытаюсь получить список файлов из каталога в D365 Business Central, потому что в AL
язык DotNet
var не поддерживается, поэтому я не знаю, как мне получить пути к этим файлам.
В моем требовании я знаю путь к папке, но мне нужно получить реальные пути к файлам в этой папке.
Пример: папка E:\ Динамически \
Но я хочу получить путь к файлу, как:
E:\ Динамически \ 1.txt
E:\ Динамически \ 2.txt
E:\ Динамически \3.txt
Я пытался найти встроенную функцию в Codeunit 419
("Управление файлами"), и попытался получить с помощью функции Azure. Я добавляю свой код для получения файла из этого каталога, но это для одного файла.
action("Import Files")
{
ApplicationArea = All;
Image = Import;
trigger OnAction();
var
FromFile: Text;
FileMgt: Codeunit "File Management";
begin
Init();
Message(FileMgt.GetExtension('E:\Dynamically\' +
Format(GetFileName)));
FromFile := 'E:\Dynamically\' + Format(GetFileName);
"Attached File".Import(FromFile);
"Attched File Name" := Format(GetFileName);
"Attached file Extension" :=
FileMgt.GetExtension(Format(GetFileName));
Insert(true);
MESSAGE('Successfully Import.');
end;
}
Вот результат моего кода импорта файла.
0 ответов
Я бы посоветовал вам использовать GetClientDirectoryFilesList или GetServerDirectoryFilesList в Codeunit 419, они оба принимают NameValueBuffer (таблица 813) и DirectoryPath (текст) в качестве аргументов. Затем вы можете использовать NameValueBuffer для получения всех файлов.
Эти функции, вероятно, доступны только для локального использования, поэтому вам придется настроить таргетинг своего расширения на internal в app.json.