Как я могу получить список файлов из каталога? - PullRequest
1 голос
/ 19 апреля 2019

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

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

Пример: папка 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;
            }

Вот результат моего кода импорта файла.

enter image description here

1 Ответ

0 голосов
/ 27 июля 2019

Я бы посоветовал вам использовать GetClientDirectoryFilesList или GetServerDirectoryFilesList в Codeunit 419 , они оба принимают NameValueBuffer ( Table 813 ) и DirectoryPath (текст) в качестве аргументов. Затем вы можете использовать NameValueBuffer , чтобы получить все файлы.

Эти функции, вероятно, доступны только для локального использования, поэтому вам нужно настроить внутреннее расширение в app.json .

...