- Добавлен рабочий код для подготовки бинарных данных и вложений для узла Send email - Реализовано форматирование form_data в читаемый текст с разделами: * Личные данные (с автоматическим расчетом возраста, код документа, серия и номер) * Контактная информация * Страховщик (с телефоном страховой компании) * Банковские реквизиты (с получателем платежа) * Информация о страховом случае * Описание ситуации - Добавлена документация по использованию и устранению неполадок - Созданы альтернативные версии кода (простая версия, Function Node версия)
52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
// ============================================================================
|
||
// n8n Function Node: Подготовка бинарных данных для отправки email с вложениями
|
||
// ============================================================================
|
||
// Используйте этот код в Function Node (не Code Node!)
|
||
// Function Node лучше работает с бинарными данными в некоторых версиях n8n
|
||
// ============================================================================
|
||
|
||
// Получаем все элементы из входных данных
|
||
const items = $input.all();
|
||
|
||
// Обрабатываем каждый элемент
|
||
return items.map(item => {
|
||
// Получаем бинарные данные из элемента
|
||
const inputBinary = item.binary || {};
|
||
|
||
// Получаем JSON данные
|
||
const jsonData = item.json || {};
|
||
|
||
// Проверяем наличие бинарных данных
|
||
if (!inputBinary || Object.keys(inputBinary).length === 0) {
|
||
return {
|
||
json: {
|
||
...jsonData,
|
||
attachment_field: '',
|
||
error: 'No binary data found',
|
||
debug: {
|
||
hasBinary: !!inputBinary,
|
||
binaryKeys: Object.keys(inputBinary || {})
|
||
}
|
||
}
|
||
};
|
||
}
|
||
|
||
// Получаем все ключи бинарных данных
|
||
const binaryKeys = Object.keys(inputBinary);
|
||
|
||
// Создаем строку с именами бинарных свойств через запятую
|
||
const attachmentField = binaryKeys.join(',');
|
||
|
||
// ⚠️ КРИТИЧНО: Возвращаем объект с json И binary
|
||
// В Function Node бинарные данные передаются через поле binary
|
||
return {
|
||
json: {
|
||
...jsonData,
|
||
attachment_field: attachmentField
|
||
},
|
||
// ⚠️ ВАЖНО: Передаем бинарные данные БЕЗ ИЗМЕНЕНИЙ
|
||
binary: inputBinary
|
||
};
|
||
});
|
||
|