Настройка определений обмена данными

Вы можете настроить Business Central для обмена данными в конкретных таблицах с данными во внешних файлах. Например, для отправки и получения электронных документов, импорта и экспорта банковских данных или других данных, таких как платежные ведомости и каталоги товаров. Подробнее см. в статье Электронный обмен данными.

Для создания определения обмена данными для файла или потока данных можно использовать связанную XML-схему для определения элементов данных, которые должны быть включены в экспресс-вкладку Определения столбцов. См. шаг 6 в разделе Описание форматирования строк и столбцов в файле. Подробнее см. в статье Использование XML-схем для определения обмена данными.

Обычно определения обмена данными настраиваются на странице Определение обмена данными. Однако для обновления валютных курсов быстрее будет использовать службу валютных курсов. Подробнее см. в статье Обновление валютных курсов.

Примечание

Если файл преобразуется в формат XML, термин “столбец” в данной статье следует интерпретировать как “XML-элемент, содержащий данные".

Эта статья содержит следующие процедуры:

  • Создание определения обмена данными.
  • Экспорт определения обмена данными в XML-файл для использования другими пользователями.
  • Импорт XML-файла в существующее определение обмена данными.

Создание определения обмена данными

Создание определения обмена данными включает две задачи:

  1. На странице Определение обмена данными опишите форматирование строк и столбцов в файле. Подробнее см. в разделе Описание форматирования строк и столбцов в файле.
  2. На странице Сопоставление обмена данными сопоставьте столбцы в файле данных с полями в Business Central. Подробнее см. в разделе Сопоставление столбцов в файле данных с полями в Business Central.

Описание форматирования строк и столбцов в файле

  1. Выберите значок Лампочка, которая открывает функцию Что вы хотите сделать 1., введите Определения обмена данными, а затем выберите соответствующую ссылку.

  2. Выберите действие Создать.

  3. На экспресс-вкладке Общее введите описание определения обмена данными и тип файла данных, заполнив поля, как описано в следующей таблице.

    Поле Описание
    Код Введите код, чтобы задать определение обмена данными.
    Название Введите имя определения обмена данными.
    Тип файла Укажите тип файла, для которого используется определение обмена данными. Доступны для выбора четыре типа файлов:

    - XML: послойные строки содержимого и разметка, окруженные тегами, которые указывают на функцию.
    - Переменный текст: записи имеют переменную длину и разделены знаком, например запятой или точкой с запятой; также называется файлом с разделителями.
    - Фиксированный текст: записи имеют одинаковую длину за счет заполнителей, и каждая запись находится на отдельной строке; также называется файлом с фиксированной шириной.
    - Json: структурированные строки содержимого в JavaScript.
    Тип Укажите тип бизнес-действий, для которого используется определение обмена данными – например, Экспорт платежей.
    Codeunit обработки данных Укажите модуль codeunit, который перемещает данные в таблицы в Business Central и из них.
    Codeunit проверки Укажите модуль codeunit, который используется для проверки данных в соответствии с предварительно определенными бизнес-правилами.
    Codeunit чтения/записи Укажите модуль codeunit, который обрабатывает импортируемые данные до сопоставления и экспортируемые данные после сопоставления.
    Чтение/запись XMLport Укажите XMLport, через который принимаются импортируемые файлы или службы данных перед сопоставлением и через который передаются экспортируемые данные при их записи в файлы или службы данных после сопоставления.
    Codeunit обработки внешних данных Укажите модуль codeunit, который перемещает внешние данные в структуру обмена данными и из нее.
    Codeunit обратной связи с пользователем Укажите модуль codeunit, выполняющий различные операции очистки после сопоставления – такие как пометка строк экспортированными и удаление временных записей.
    Кодировка файла Укажите шифрование файла. Примечание. Это поле релевантно только для импорта.
    Разделитель столбцов Укажите способ разделения столбцов в файле данных, если файл принадлежит типу Текст переменной.
    Строки заголовка Укажите количество строк заголовка в файле.

    Этот параметр позволяет гарантировать, что данные заголовка не будут импортироваться. Примечание. Это поле релевантно только для импорта.
    Тег заголовка Если строка заголовка существует в нескольких местах в файле, введите текст первого столбца в строке заголовка.

    Этот параметр позволяет гарантировать, что данные заголовка не будут импортироваться. Примечание. Это поле релевантно только для импорта.
    Тег нижнего колонтитула Если строка нижнего колонтитула существует в нескольких местах в файле, введите текст первого столбца в строке нижнего колонтитула.

    Этот параметр позволяет гарантировать, что данные нижнего колонтитула не будут импортироваться. Примечание. Это поле релевантно только для импорта.

    Совет

    Чтобы просмотреть, какие модули Codeunit корпорация Майкрософт использует в стандартном продукте, просмотрите три поля Модуль Codeunit на странице Сопоставление полей, на экспресс-вкладке Общие сведения, для каждого определения.

  4. На экспресс-вкладке Определения строки введите описание форматирования строк в файле данных, заполнив поля, как описано в следующей таблице.

    Примечание

    Для импорта банковских выписок следует создать только одну строку для единого формата файла банковской выписки, который требуется импортировать.

    Для экспорта платежей можно создать строку для каждого типа платежа, который необходимо экспортировать. В этом случае на экспресс-вкладке Определения столбца отобразятся различные столбцы для каждого типа платежа.

    Поле Описание
    Тип строки Определяет тип строки в файле.
    Код Введите код, чтобы определить строку в файле.
    Название Введите имя, описывающее строку в файле.
    Число столбцов Укажите количество столбцов в строке файла данных. Примечание. Это поле релевантно только для импорта.
    Тег строки данных Укажите позицию элемента на связанной XML-схеме, представляющего основную запись файла данных. Примечание. Это поле релевантно только для импорта.
    Пространство имен Укажите пространство имен, которое ожидается в файле, чтобы включить проверку пространства имен. Можно оставить это поле пустым, если не требуется включать проверку пространства имен.
    Родительский код Укажите родительский элемент строки, отображаемый в поле Код в случаях, когда настройка обмена данными предназначена для файлов с родительскими и дочерними элементами, такими как заголовок и строки документа.
  5. Повторите шаг 4, чтобы создать строку для каждого типа файла данных, который необходимо экспортировать.

    Перейдите к описанию форматирования столбцов файла данных, заполнив поля экспресс-вкладки Определения столбцов как описано в следующей таблице. Можно использовать файл структуры — например, формата XSD — для файла данных, предназначенного для заполнения экспресс-вкладки соответствующими элементами. Подробнее см. в статье Использование XML-схем для определения обмена данными.

  6. На экспресс-вкладке Определения столбцов выберите действие Получить структуру файла.

  7. На странице Получить структуру файла выберите соответствующий файл структуры и выберите ОК. Строки экспресс-вкладки Определения столбца заполняются в соответствии со структурой файла данных.

  8. На экспресс-вкладке Определения столбца измените или заполните поля, как описано в следующей таблице.

    Поле Описание
    Номер столбца Укажите номер, который определяет положение столбца в строке в файле.

    Для XML-файлов укажите номер, отражающий тип элемента в файле, который содержит данные.
    Название Укажите имя столбца.

    Для XML-файлов укажите разметку, которая определяет данные для обмена.
    Тип данных Укажите тип данных для обмена: Текст, Дата или Десятичное.
    Формат данных Укажите формат данных, если есть. Например, ММ-дд-гггг, если используется тип данных Дата. Примечание. Для экспорта укажите формат данных в соответствии с Business Central. Для импорта укажите формат данных в соответствии с платформой .NET. Подробнее см. в статье Стандартные строки форматирования даты и времени.
    Языковой стандарт форматирования данных Укажите региональный формат данных, если он есть. Например, en-US, если используется тип данных Десятичный, чтобы гарантировать, что запятая используется в качестве разделителя ,000 в соответствии с форматом США. Подробнее см. в статье Стандартные строки форматирования даты и времени. Примечание. Это поле релевантно только для импорта.
    Длина Укажите длину строки с фиксированной шириной, которая содержит столбец, если файл данных принадлежит типу Фиксированный текст.
    Описание Определяет описание столбца в информационных целях.
    Путь Укажите позицию элемента в связанной XML-схеме.
    Идентификатор отрицательного знака Введите значение, используемое в файле данных для определения отрицательных сумм, в файлы данных, которые не могут содержать отрицательные знаки. Затем этот идентификатор используется для добавления отрицательных знаков к идентифицированным суммам во время импорта. Примечание. Это поле релевантно только для импорта.
    Константа Укажите все данные, которые требуется экспортировать в этом столбце, такие как дополнительные сведения о типе платежа. Примечание. Это поле релевантно только для экспорта.
    Требуется заполнение текста Укажите, что данные должны включать текстовое заполнение.
    Заполнитель Укажите символ, используемый для текстового заполнения.
    Выравнивание Укажите выравнивание столбцов — по правому или левому краю.
  9. Повторите шаг 8 для каждого столбца или XML-элемента файла данных, содержащего данные, которыми нужно обменяться с Business Central.

Следующим шагом в создании определения обмена данными является принятие решения о том, какие столбцы или XML-элементы на карте файлов данных нужно сопоставить с какими полями Business Central.

Примечание

Конкретное сопоставление зависит от коммерческого назначения обмениваемого файла данных и от местных вариаций. Даже банковский стандарт SEPA отличается в зависимости от региона. Business Central изначально поддерживает импорт файлов банковских выписок SEPA в формате CAMT. Он представлен кодом записи определения обмена данными SEPA CAMT на странице Определения обмена данными. Информацию о сопоставлении конкретных полей данной поддержки SEPA CAMT см. в разделе Сопоставление полей при импорте файлов SEPA CAMT.

Сопоставление столбцов в файле данных с полями в Business Central

Совет

Иногда значения в полях, которые, вы хотите сопоставить, различаются. Например, в одном бизнес-приложении код языка для США — "U.S.", а в другом "US." Это означает, что вы должны преобразовать значение при обмене данными. Это происходит через правила преобразования, которые вы определяете для полей. Подробнее см. в статье Правила преобразования.

Вы также можете группировать данные по любому полю, использовать индекс ключа для сортировки результатов, а также использовать новые типы преобразования Округление и Подстановка поля.

  1. На экспресс-вкладке Определения строк выберите строку, для которой вы хотите сопоставить столбцы с полями, а затем выберите Сопоставление полей. Откроется страница Сопоставление обмена данными.

  2. На экспресс-вкладке Общее укажите настройку сопоставления, заполнив поля, как описано в следующей таблице.

    Поле Описание
    Таблица ID Укажите таблицу, в которой содержатся поля с данными, обмен которыми выполняется в соответствии с сопоставлением.
    Использовать как промежуточную таблицу Укажите, является ли таблица, выбранная в поле Код таблицы, промежуточной таблицей, в которой импортируемые данные сохраняются перед сопоставлением с целевой таблицей.

    Обычно промежуточная таблица используется, когда определение обмена данными применяется для импорта и преобразования электронных документов — например, преобразования счетов от поставщиков в счета покупки в Business Central. Подробнее см. в статье Электронный обмен данными.
    Название Ввод имени настройки сопоставления.
    Индекс ключа Укажите индекс ключа для сортировки исходных записей перед экспортом.
    Codeunit до сопоставления Укажите модуль codeunit, который подготавливает сопоставление полей в Business Central с внешними данными.
    Сопоставление Codeunit Укажите модуль codeunit, который используется для сопоставления указанных столбцов или XML-элементов данных с полями в Business Central.
    Codeunit после сопоставления Укажите модуль codeunit, который завершает сопоставление полей в Business Central с внешними данными. Примечание. При использовании функции расширения AMC Banking 365 Fundamentals модуль codeunit конвертирует экспортированные данные из Business Central для получения универсального формата, готового к экспорту. Для импорта модуль codeunit преобразует внешние данные в формат, готовый для импорта в Business Central.
  3. На экспресс-вкладке Сопоставление полей укажите, какие столбцы сопоставляются с какими полями в Business Central, заполнив поля, как описано в следующих таблицах, в зависимости от того, включено поле Использовать как промежуточную таблицу или нет.

    • Если переключатель Использовать как промежуточную таблицу находится в положении "выключено":

      Поле Описание
      Номер столбца Укажите столбец в файле данных, для которого необходимо определить сопоставление.

      Можно выбрать только столбцы, представленные строками на экспресс-вкладке Определения столбцов на странице Определение обмена данными.
      Заголовок столбца Укажите заголовок столбца во внешнем файле, сопоставленного с полем в поле Код целевой таблицы при использовании промежуточной таблицы для импорта данных.
      Код поля Укажите поле, с которым требуется сопоставить столбец в поле Номер столбца .

      Можно выбирать только из полей, которые существуют в таблице, указанной в поле ИД таблицы на экспресс-вкладке Общие сведения.
      Метка поля Укажите заголовок поля во внешнем файле, сопоставленного с полем в поле Код целевой таблицы при использовании промежуточной таблицы для импорта данных.
      Можно Укажите, следует ли пропустить сопоставление, если поле не заполнено. Если этот флажок не установлен, произойдет ошибка экспорта, если поле пустое.
      Правило преобразования Укажите правило для преобразования импортированного текста в поддерживаемое значение, прежде чем это значение можно будет сопоставить с указанным полем. Когда вы выбираете значение в этом поле, это же значение вводится в поле Правило трансформации в таблице Буфер сопоставления полей обмена данными и наоборот. См. следующий раздел для получения дополнительной информации о доступных правилах преобразования, которые можно применить.
      Перезаписать значение Укажите, что текущее значение будет заменено новым значением.
      Приоритет Укажите порядок, в котором должны обрабатываться сопоставления полей. Сопоставление полей с наивысшим номером приоритета будет обработано первым.
      Коэффициент Укажите множитель, который будет применяться к числовым данным, включая отрицательные значения.
    • Если переключатель Использовать как промежуточную таблицу находится в положении "включено":

      Поле Описание
      Номер столбца Укажите столбец в файле данных, для которого необходимо определить сопоставление.

      Можно выбрать только столбцы, представленные строками на экспресс-вкладке Определения столбцов на странице Определение обмена данными.
      Заголовок столбца Укажите заголовок столбца во внешнем файле, сопоставленного с полем в поле Код целевой таблицы при использовании промежуточной таблицы для импорта данных.
      Код целевой таблицы Определите таблицу, с которой сопоставляется значение в поле Заголовок столбца, при использовании промежуточной таблицы для импорта данных.
      Название таблицы Укажите имя таблицы в поле Код целевой таблицы, которое задает таблицу, с которой сопоставляется значение в поле Заголовок столбца, при использовании промежуточной таблицы для импорта данных.
      Код целевого поля Укажите поле в целевой таблице, с которым сопоставляется значение в поле Заголовок столбца, при использовании промежуточной таблицы для импорта данных.
      Метка поля Укажите имя поля в целевой таблице, с которым сопоставляется значение в поле Заголовок столбца, при использовании промежуточной таблицы для импорта данных.
      Только проверить Укажите, что сопоставление элемента с полем не используется для преобразования данных, а только для проверки данных.
      Правило преобразования Укажите правило для преобразования импортированного текста в поддерживаемое значение, прежде чем это значение можно будет сопоставить с указанным полем. Когда вы выбираете значение в этом поле, это же значение вводится в поле Правило трансформации в таблице Буфер сопоставления полей обмена данными и наоборот. См. следующий раздел для получения дополнительной информации о доступных правилах преобразования, которые можно применить.
      Приоритет Укажите порядок, в котором должны обрабатываться сопоставления полей. Сопоставление полей с наивысшим номером приоритета будет обработано первым.
  4. На экспресс-вкладке Группирование полей укажите правила, которые вы хотите использовать для группирования полей при создании файла, заполнив поля, как описано в следующей таблице.

    Поле Описанием
    Код поля Укажите номер поля во внешнем файле, которое используется для группирования; это поле должно задаваться пользователем.
    Метка поля Укажите метку поля во внешнем файле, которое используется для группирования.

Правила преобразования

Если значения в сопоставляемых полях различаются, вы должны использовать правила преобразования для определений обмена данными, чтобы сделать их одинаковыми. Чтобы определить правила преобразования для определений обмена данными, откройте существующее определение или создайте новое определение, а затем на экспресс-вкладке Определения строк выберите Управление, а потом Сопоставление полей. Доступные готовые правила, но вы также можете создавать свои собственные. В следующей таблице описаны типы преобразований, которые вы можете выполнять.

Параметр Описание
Верхний регистр Сделать все буквы прописными.
Нижний регистр Сделать все буквы строчными.
Регистр заголовка Сделать прописными первую букву каждого слова.
Обрезать Удалите пустые пробелы до и после значения.
Подстрока Преобразовать определенную часть значения. Чтобы указать, где начать преобразование, выберите Начальная позиция или Начальный текст. Начальная позиция - это число, представляющее первый символ для преобразования. Начальным текстом является буква непосредственно перед буквой для замены. Если вы хотите начать с первой буквы в значении, используйте вместо него начальную позицию. Чтобы указать, где остановить преобразование, выберите либо Длина, т. е. количество символов для замены, либо Заключительный текст, т. е. символ, который находится сразу после последнего символа для преобразования.
Заменить Найти значение и заменить его другим. Это преобразование имеет смысл использовать для замены простых значений, таких как определенное слово.
Регулярное выражение - Заменить Использовать регулярное выражение для поиска и замены. Это преобразование имеет смысл использовать для замены нескольких или более сложных значений.
Удалить не алфавитно-цифровые символы Удалить символы, которые не являются буквами или цифрами, например знаки препинания или специальные символы.
Форматирование даты Указать формат отображения дат. Например, вы можете преобразовать ДД-ММ-ГГГГ в ГГГГ-ММ-ДД.
Десятичный формат Определите правила для использования десятичного разделителя и точности округления.
Совпадение по регулярному выражению Использовать регулярное выражение, чтобы найти одно или несколько значений. Это правило похоже на Подстрока и Регулярное выражение - Заменить.
Пользовательский Это правило преобразование представляет собой расширенный вариант, для использования которого потребуется помощь разработчика. Он позволяет использовать событие интеграции, на которое вы можете подписаться, если хотите использовать свой собственный код преобразования. Если вы разработчик и хотите использовать эту опцию, см. раздел ниже.
Форматирование даты и времени Определите, как отображать текущую дату и время суток.
Подстановка поля Используйте поля из разных таблиц. Для их использования необходимо соблюдать некоторые правила. Сначала используйте ИД таблицы, чтобы указать идентификатор таблицы, содержащей запись для подстановки поля. Затем в поле Код исходного поля укажите идентификатор поля, содержащего запись для подстановки поля. И наконец, в поле Код целевого поля укажите идентификатор поля для поиска записи для подстановки поля. При желании используйте поле Правило подстановки поля, чтобы указать тип подстановки поля. Для поля Целевое используется значение из поля Код целевого поля, даже если оно пустое. Для поля Исходное если целевое пустое используется исходное значение, если целевое поле пустое.
Округлить Вы можете округлить значение в этом поле, используя некоторые дополнительные правила. Сначала в поле Точность укажите точность округления. Затем в поле Направление укажите направление округления.

Примечание

Подробнее о форматировании даты и времени см. в статье Стандартные строки форматирования даты и времени.

Совет для разработчиков: пример пользовательской опции

В следующем примере показано, как реализовать собственный код преобразования.

codeunit 60100 "Hello World"
{
    [EventSubscriber(ObjectType::Table, Database::"Transformation Rule", 'OnTransformation', '', false, false)]
    procedure OnTransformation(TransformationCode: Code[20]; InputText: Text; var OutputText: Text)
    begin
        if TransformationCode = 'CUST' then
            OutputText := InputText + ' testing';
    end;
}

После того как вы определите свои правила, вы можете протестировать их. На экспресс-вкладке Тест введите пример значения, которое вы хотите преобразовать, а затем проверьте результаты, выбрав Обновить.

Экспорт определения обмена данными в XML-файл для использования другими пользователями

Если создано определение обмена данными для конкретного файла данных, можно экспортировать его в виде XML-файла для последующего импорта. Эта задача описана в следующей процедуре.

  1. Выберите Лампочка, которая открывает функцию Что вы хотите сделать 1. введите Определения обмена данными, а затем выберите соответствующую ссылку.

  2. Выберите определение обмена данными, которое требуется экспортировать.

  3. Выберите действие Экспорт определения обмена данными.

  4. Сохраните XML-файл, представляющий определение обмена данными, в соответствующем местоположении.

    Если определение обмена данными уже создано, достаточно импортировать XML-файл в инфраструктуру обмена данными. Эта задача описана в следующей процедуре.

Импорт существующего определения обмена данными

  1. Сохраните XML-файл, представляющий определение обмена данными, в соответствующем местоположении.
  2. Выберите Лампочка, которая открывает функцию Что вы хотите сделать 1. введите Определения обмена данными, а затем выберите соответствующую ссылку.
  3. Выберите действие Импорт определения обмена данными.
  4. Выберите файл, сохраненный на шаге 1.

См. также

Настройка обмена данными
Настройка отправки и получения электронных документов
Сбор платежей с прямым дебетом SEPA
Выполнение платежей с помощью расширения AMC Banking 365 Fundamentals или кредитного перевода SEPA
Входящие документы
Общие бизнес-функции

Бесплатные модули электронного обучения для Business Central можно найти здесь