Свойства узла процесса интеграции вида «ФайлИсточник»

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

Внимание: При работе с файлами может возникнуть ситуация, когда узел «ФайлИсточник» реагирует на изменение файла до того, как это изменение завершилось. Обычно такое случается при работе с большими файлами или при медленной записи. Это происходит потому, что узел «ФайлИсточник» несколько раз в секунду контролирует указанные ему каталоги и/или файлы и генерирует сообщения при изменении даты или размера файла. В результате может быть сгенерировано больше одного сообщения до завершения записи в файл. Вы можете узнать подробнее о решении данной проблемы в соответствующей статье раздела Проблемы.

Свойства узла

Имя
Имя узла, уникальное в рамках процесса интеграции. Используется для обращения к узлу из встроенного языка (УзелСхемы.Имя). Должно начинаться с буквы, за которой следуют буквы, цифры или символы '_' (нижнее подчеркивание). Минимальная длина — 2 символа
Описание
Произвольное описание узла для разработчика. Используется при редактировании схемы процесса интеграции. Недоступно из встроенного языка
ОбновлениеМетрик
Обработчик, внутри которого можно обновлять метрики, добавленные в проект разработчиком. Пример:
// Разработчик добавил в проект метрику «СчетчикВУзле». Тогда обновить метрику в узлах
// можно следующим образом:
метод ОбновлениеМетрик(Контекст: МойПроцессИнтеграции.КонтекстВызова, Сообщение: МойПроцессИнтеграции.Сообщение)
    пер СчетчикВУзле = МойПроцессИнтеграции.Метрики["СчетчикВУзле"]
    СчетчикВУзле.Обновить(Сообщение.УзлыПути.Текущий.Узел.Имя, 1)
;
Каталог
Имя каталога, в котором находятся файлы сообщений (подробнее)
ИскатьВКаталогеРекурсивно
Если значение свойства равно Ложь, то «1С:Шина» будет искать файлы сообщений только в каталоге, указанном в свойстве Каталог. Иначе будет искать еще и во всех его вложенных каталогах, используя свойства МаскаВключенияФайлов и МаскаИсключенияФайлов (подробнее)
ИмяФайла
Имя файла сообщения, который будет искать «1С:Шина» (подробнее)
МаскаВключенияФайлов
Маска, задающая имена файлов для включения в поиск (подробнее)
МаскаИсключенияФайлов
Маска, задающая имена файлов для исключения из поиска (подробнее)
ИспользоватьИмяФайлаБезПути
Если Истина, то «1С:Шина»проигнорирует путь к файлу и включит в сообщение только имя файла. Иначе «1С:Шина» включит в сообщение путь относительно значения свойства Каталог
ДействиеПослеЧтения
Переместить
После чтения «1С:Шина» переместит файл сообщения. Новый путь к файлу она определит по значению свойства ИмяПослеЧтения и в результате обработки события ВыборИмениПослеЧтения
Удалить
После чтения «1С:Шина» удалит файл сообщения
Сохранить
После чтения файл сообщения останется на месте. «1С:Шина» вычислит для него идемпотентный ключ, который содержит полный путь к файлу, размер файла и момент модификации файла с точностью до секунд
«1С:Шина» повторно обработает этот файл, только если изменится ключ этого файла, например в этот файл что-то будет дописано или файл будет перезаписан целиком (подробнее)
ИмяПослеЧтения
Имя, которое «1С:Шина» присвоит файлу сообщения после чтения. Путь к файлу она вычислит относительно значения свойства Каталог (подробнее)
Кодировка
Кодировка, в которой «1С:Шина» прочитает содержимое файла сообщения
ВыборИмени
Обработчик, который предназначен для того, чтобы вы могли переопределить значение свойства ИмяФайла — имя файла сообщения, который будет искать «1С:Шина». Обработчик должен вернуть имя файла. Если заполнено свойство ИмяФайла и указан обработчик ВыборИмени, то имя файла будет браться из обработчика. В случае ошибки в обработчике имя файла будет взято из свойства ИмяФайла.
ВыборИмениПослеЧтения
Обработчик, который предназначен для того, чтобы вы могли переопределить значение свойства ИмяПослеЧтения — имя файла, которое он будет иметь после чтения «1С:Шиной». Обработчик должен вернуть имя файла (подробнее). Если заполнено свойство ИмяПослеЧтения и указан обработчик ВыборИмениПослеЧтения, то имя файла будет браться из обработчика. В случае ошибки в обработчике имя файла будет взято из свойства ИмяПослеЧтения.
Пример:
метод ВыборИмениПослеЧтения(Контекст: СетьМагазинов.КонтекстВызова, 
                            Сообщение: СетьМагазинов.Сообщение): Строка

    возврат Сообщение.АбсолютныйПутьФайла 
            + (Сообщение.ПолучитьПараметр("ВидСодеримого") как Строка)
;

Пример использования

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

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

Решение: Для того чтобы сформировать сообщения из файлов, появляющихся в каталоге участника интеграции, добавим на схему узел «ФайлИсточник». Свяжем этот узел с группой участников, чтобы использовать их реквизиты при заполнении свойств узла. Для того чтобы записать сообщение в файл в каталоге получателя, используем узел «ФайлНазначение». Аналогично, свяжем его с группой участников, чтобы использовать их реквизиты при заполнении свойств узла, например, при указании каталога.