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:
AI Assistant
2025-12-04 12:22:23 +03:00
parent 64385c430d
commit 080e7ec105
69 changed files with 17034 additions and 1439 deletions

View File

@@ -0,0 +1,35 @@
-- SQL запрос для получения полных данных контакта из CRM
-- Используется в ноде MySQL перед Code in JavaScriptКлиентправ
-- ПРИМЕЧАНИЕ: Таблицы vtiger_* находятся в MySQL БД
SELECT
cd.contactid,
cd.firstname,
cd.lastname,
cd.email,
cd.mobile,
cd.phone,
cs.birthday, -- ✅ Из vtiger_contactsubdetails
ca.mailingstreet, -- ✅ Из vtiger_contactaddress
ca.mailingcity,
ca.mailingstate,
ca.mailingzip,
ca.mailingcountry,
-- Кастомные поля из vtiger_contactscf:
ccf.cf_1157 AS middle_name, -- Отчество
ccf.cf_1263 AS birthplace, -- Место рождения
ccf.cf_1257 AS inn, -- ИНН
ccf.cf_1849 AS requisites, -- Реквизиты
ccf.cf_1580 AS code, -- Код
ccf.cf_1706 AS sms, -- SMS
ccf.cf_2624 AS cf_2624 -- ✅ Данные подтверждены
FROM vtiger_contactdetails cd
LEFT JOIN vtiger_contactscf ccf ON ccf.contactid = cd.contactid
LEFT JOIN vtiger_contactsubdetails cs ON cs.contactsubscriptionid = cd.contactid
LEFT JOIN vtiger_contactaddress ca ON ca.contactaddressid = cd.contactid
LEFT JOIN vtiger_crmentity ce ON ce.crmid = cd.contactid
WHERE cd.contactid = ?
AND ce.deleted = 0
LIMIT 1;