Как я могу получить список файлов из каталога?

Я пытаюсь получить список файлов из каталога в D365 Business Central, потому что в AL язык DotNet var не поддерживается, поэтому я не знаю, как мне получить пути к этим файлам.

В моем требовании я знаю путь к папке, но мне нужно получить реальные пути к файлам в этой папке.

Пример: папка E:\ Динамически \

Но я хочу получить путь к файлу, как:

  1. E:\ Динамически \ 1.txt

  2. E:\ Динамически \ 2.txt

  3. 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.