cf_МодульСервер
Главный серверный модуль расширения. Отвечает за HTTP-взаимодействие с API Цифры, систему мониторинга заданий и автоматическую выгрузку при изменении справочников.
Функции модуля
ПолучитьОтветAPI(Адрес, Данные)
Базовая функция для отправки HTTP-запросов на сервер Цифры.
- Формирует POST-запрос с телом в формате JSON
- Подключается по HTTPS (порт 443) к адресу из настроек (
Настройки.Сайт) - Используется защищённое соединение OpenSSL
- При ошибке соединения возвращает строку с описанием ошибки
- При успехе — возвращает распарсенный JSON-ответ
cf_Мониторинг (регулярный опрос)
Ключевая процедура — вызывается регулярным заданием (каждую минуту). Реализует polling-механизм:
- Получает секретный ключ из настроек
- Отправляет POST на
/api/checkс параметромSecretKey - Проверяет ответ: если нет структуры с полем
Tasks— записывает ошибку в журнал регистрации - Для каждого элемента массива
Tasksвызывает cf_Мониторинг_Задача
cf_Мониторинг_Задача (обработка одного задания)
Обрабатывает одно задание из очереди. Жизненный цикл задания:
- Статус «work» — сразу при получении, отправляется на
/api/changeTaskStatus - Выполнение — вызывает нужный модуль в зависимости от
Элемент.Task - Статус «done» или «failed» — по результату, отправляется на
/api/changeTaskStatus
Маршрутизация заданий
| Task | Вызываемый модуль | Направление |
|---|---|---|
getCompanies | cf_ВыгрузитьКонтрагенты | 1С → Цифра |
getContracts | cf_ВыгрузитьДоговораКонтрагентов | 1С → Цифра |
getProducts | cf_ВыгрузитьНоменклатура | 1С → Цифра |
getSpecifications | cf_ВыгрузитьРесурсныеСпецификации | 1С → Цифра |
getCars | cf_ВыгрузитьТранспортныеСредства | 1С → Цифра |
getDrivers | cf_ВыгрузитьФизическиеЛица | 1С → Цифра |
getInvoices | cf_ВыгрузитьСчетаПокупателю | 1С → Цифра |
getDeliveryZones | cf_ВыгрузитьЗоныДоставки | 1С → Цифра |
createContract | cf_СоздатьДоговор | Цифра → 1С |
createCompany | cf_СоздатьКонтрагента | Цифра → 1С |
createCar | cf_СоздатьТранспортныеСредства | Цифра → 1С |
createOrder | cf_СоздатьДокументЗаказ | Цифра → 1С |
createApplication | cf_СоздатьДокументРеализация | Цифра → 1С |
cf_Справочник_ПриЗаписи (подписка на события)
Срабатывает при записи любого справочника. Запускает фоновое задание для выгрузки изменённого элемента. Поддерживаемые типы:
| Справочник | Условие выгрузки | Модуль |
|---|---|---|
| Организации | Организация есть в МассивОрганизации из настроек | cf_ВыгрузитьКонтрагенты |
| СоглашенияСКлиентами | У подразделения установлен флаг cf_ВыгрузитьВЦифру | cf_ВыгрузитьДоговораКонтрагентов |
| Контрагенты | Всегда | cf_ВыгрузитьКонтрагенты |
| Номенклатура | Всегда | cf_ВыгрузитьНоменклатура |
| ТранспортныеСредства | Всегда | cf_ВыгрузитьТранспортныеСредства |
| ФизическиеЛица | Всегда | cf_ВыгрузитьФизическиеЛица |
| ЗоныДоставки | Всегда | cf_ВыгрузитьЗоныДоставки |
Фоновая выгрузка запускается через ФоновыеЗадания.Выполнить в привилегированном режиме.
Вспомогательные функции
- НастройкиПолучить() — обёртка для получения настроек через cf_МодульПовтор
- НастройкиПрочитать(Структ) — читает настройки из константы
cf_Настройки, мержит с переданной структурой - НастройкиСохранить(Структ) — сохраняет настройки в константу и обновляет кеш
- СобратьМассив(...) — утилита для создания массива из переданных аргументов (до 30 элементов)
- cf_СтрСоединить(Массив, Символ) — склеивает массив строк через разделитель