Files
crm.clientright.ru/ticket_form/docs/N8N_FUNCTION_PREPARE_EMAIL_ATTACHMENTS.js
Fedor ea0edafba5 Добавлена обработка бинарных данных и форматирование email для n8n workflow
- Добавлен рабочий код для подготовки бинарных данных и вложений для узла Send email
- Реализовано форматирование form_data в читаемый текст с разделами:
  * Личные данные (с автоматическим расчетом возраста, код документа, серия и номер)
  * Контактная информация
  * Страховщик (с телефоном страховой компании)
  * Банковские реквизиты (с получателем платежа)
  * Информация о страховом случае
  * Описание ситуации
- Добавлена документация по использованию и устранению неполадок
- Созданы альтернативные версии кода (простая версия, Function Node версия)
2025-12-26 14:51:58 +03:00

52 lines
2.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ============================================================================
// 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
};
});