Files
aiform_prod/docs/N8N_CODE_CHECK_CONTACT_DATA_CONFIRMED.js
AI Assistant 080e7ec105 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
- Обновлены компоненты формы для поддержки блокировки полей
2025-12-04 12:22:23 +03:00

45 lines
1.9 KiB
JavaScript

// ============================================================================
// Code Node для n8n: Проверка подтверждения данных контакта
// ============================================================================
// Назначение: Проверить, подтверждены ли данные контакта пользователя
// и нужно ли блокировать редактирование
//
// Использование: После получения unified_id, перед загрузкой данных формы
// ============================================================================
// Получаем unified_id из предыдущих шагов
const unified_id = $('user_get').first().json.unified_id ||
$('Edit Fields').first().json.unified_id ||
$json.unified_id;
if (!unified_id) {
throw new Error('unified_id не найден');
}
// Выполняем SQL запрос для проверки статуса
// (это должно быть в PostgreSQL ноде, но для примера показываю логику)
// SQL запрос:
// SELECT * FROM clpr_get_contact_data_status($1);
// Параметр: unified_id
// Ожидаемый результат:
// {
// is_confirmed: true/false,
// confirmed_at: "2025-12-02T14:30:00Z" или null,
// can_edit: true/false
// }
// Для Code Node (если нужно обработать результат):
const status = $('PostgreSQL Check Status').first().json; // Предполагаем, что есть такая нода
return {
unified_id: unified_id,
is_confirmed: status.is_confirmed || false,
confirmed_at: status.confirmed_at || null,
can_edit: status.can_edit !== false, // По умолчанию можно редактировать
// Флаг для фронтенда
lock_editing: status.is_confirmed || false
};