- Добавлен сервис CrmMySQLService для прямого подключения к MySQL CRM - Обновлён метод get_draft() для получения cf_2624 напрямую из БД - Реализована блокировка полей (readonly) при contact_data_confirmed = true - Добавлен выбор банка для СБП выплат с динамической загрузкой из API - Обновлена документация по работе с cf_2624 и MySQL - Добавлен network_mode: host в docker-compose для доступа к MySQL - Обновлены компоненты формы для поддержки блокировки полей
52 lines
2.3 KiB
JavaScript
52 lines
2.3 KiB
JavaScript
// ============================================================================
|
||
// Code Node для n8n: Установка флага подтверждения данных
|
||
// ============================================================================
|
||
// Назначение: Установить флаг contact_data_confirmed_at после подтверждения формы
|
||
//
|
||
// Использование: После успешного сохранения данных в CRM через claim_confirmed
|
||
// ============================================================================
|
||
|
||
// Получаем unified_id
|
||
const unified_id = $('user_get').first().json.unified_id ||
|
||
$json.unified_id;
|
||
|
||
if (!unified_id) {
|
||
throw new Error('unified_id не найден для установки флага подтверждения');
|
||
}
|
||
|
||
// Получаем contact_id из CRM (если есть)
|
||
const contact_id = $node['CreateWebContacКлиентправ']?.json?.result?.contact_id ||
|
||
$json.contact_id ||
|
||
null;
|
||
|
||
// Проверяем, есть ли данные в CRM (для автоматического подтверждения)
|
||
// Если contact_id > 0, значит данные уже есть в CRM - подтверждаем автоматически
|
||
const has_crm_data = contact_id && parseInt(contact_id) > 0;
|
||
|
||
// Формируем данные для PostgreSQL
|
||
return {
|
||
unified_id: unified_id,
|
||
contact_id: contact_id,
|
||
has_crm_data: has_crm_data,
|
||
// Флаг для SQL функции
|
||
should_confirm: true, // Всегда подтверждаем после сохранения формы
|
||
confirmed_at: new Date().toISOString()
|
||
};
|
||
|
||
// ============================================================================
|
||
// SQL запрос для PostgreSQL ноды (после этого Code Node):
|
||
// ============================================================================
|
||
// SELECT clpr_set_contact_data_confirmed($1, $2::timestamptz);
|
||
//
|
||
// Параметры:
|
||
// $1 = {{ $json.unified_id }}
|
||
// $2 = {{ $json.confirmed_at }}
|
||
//
|
||
// ИЛИ для автоматического подтверждения существующих данных:
|
||
// SELECT clpr_auto_confirm_if_crm_has_data($1, $2::integer);
|
||
//
|
||
// Параметры:
|
||
// $1 = {{ $json.unified_id }}
|
||
// $2 = {{ $json.contact_id }}
|
||
|