feat: Получение cf_2624 из MySQL и блокировка полей при подтверждении данных
- Добавлен сервис CrmMySQLService для прямого подключения к MySQL CRM - Обновлён метод get_draft() для получения cf_2624 напрямую из БД - Реализована блокировка полей (readonly) при contact_data_confirmed = true - Добавлен выбор банка для СБП выплат с динамической загрузкой из API - Обновлена документация по работе с cf_2624 и MySQL - Добавлен network_mode: host в docker-compose для доступа к MySQL - Обновлены компоненты формы для поддержки блокировки полей
This commit is contained in:
51
docs/N8N_CODE_SET_CONTACT_DATA_CONFIRMED.js
Normal file
51
docs/N8N_CODE_SET_CONTACT_DATA_CONFIRMED.js
Normal file
@@ -0,0 +1,51 @@
|
||||
// ============================================================================
|
||||
// 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 }}
|
||||
|
||||
Reference in New Issue
Block a user