cf_ВыгрузитьДоговораКонтрагентов
Выгрузка соглашений с клиентами, включая условия (товары, зоны доставки). Endpoint: POST /api/contract/create
Что выгружается
Справочник СоглашенияСКлиентами с фильтрами:
- Не помечены на удаление
- Подразделение имеет флаг
cf_ВыгрузитьВЦифру = Истина - Опционально: дата действия ≤ текущая (дата начала ≤ сегодня И дата окончания ≥ сегодня, даты до 2000 года считаются пустыми)
- Опционально: организация входит в
МассивОрганизации
Внимание: размер пакета — 50 элементов (захардкожено в модуле, в отличие от остальных модулей, где используется
МаксКолЭлементов = 500 из настроек).
Структура договора
| Поле | Источник | Описание |
|---|---|---|
Guid | XMLСтрока(Договор) | GUID договора |
GuidCompany | XMLСтрока(Контрагент) | GUID контрагента (пустой для типовых) |
Name | Наименование | Название договора |
Date | Дата | Формат dd.MM.yyyy |
TemplateType | Типовое / Контрагент | typical или individual |
Conditions | Табличные части | Массив условий (товары + зоны доставки) |
Условия (Conditions) — Товары
Из табличной части Товары договора. Для каждой строки:
| Поле | Описание |
|---|---|
Guid, Name, Unit, ShortName, Type, Sku | Данные номенклатуры |
Price | Цена: из строки договора, если 0 — из регистра ЦеныНоменклатуры по ВидуЦены |
FullPrice | Равно Price |
Vat | Из настройки СтавкаНДС (по умолчанию 22) |
VatInPrice | Из шапки договора: ЦенаВключаетНДС |
Service | "mix" для услуг/работ |
Characteristics | Характеристики (аналогично выгрузке номенклатуры) |
Parent | Родительская группа номенклатуры (если есть): {Guid, Name, Sku} |
Получение цены
Приоритет определения цены:
- Цена из строки табличной части договора
- Если = 0: ищет в регистре
ЦеныНоменклатуры.СрезПоследнихпо комбинации Номенклатура + Характеристика + ВидЦены - ВидЦены: сначала из строки договора, если не заполнен — из шапки (
ВидЦен)
Условия (Conditions) — Зоны доставки
Из табличной части РасчетДоставкиПоОбъему. Каждая зона содержит тарифы:
| Поле | Описание |
|---|---|
Guid | GUID зоны доставки |
Name | Наименование зоны |
Zone | Всегда true |
Price | Цена из строки табличной части |
Vat | Из настройки СтавкаНДС (по умолчанию 22) |
VariantByVolume | Вариант расчёта доставки по объёму из шапки договора |
Items | Массив тарифов (за рейс и за куб) |
Тарифы доставки
Номенклатура тарифов берётся из констант:
- Тариф за рейс — из константы
НоменклатураДоставкиЗаРейсБетон. Цена = Цена × Минимум.PriceType= "by_all" - Тариф за куб — из константы
НоменклатураДоставкиЗаОбъем. Цена = Цена.PriceType= "by_one"