Цифра ↔ 1С

cf_ВыгрузитьДоговораКонтрагентов

Выгрузка соглашений с клиентами, включая условия (товары, зоны доставки). Endpoint: POST /api/contract/create

Что выгружается

Справочник СоглашенияСКлиентами с фильтрами:

Внимание: размер пакета — 50 элементов (захардкожено в модуле, в отличие от остальных модулей, где используется МаксКолЭлементов = 500 из настроек).

Структура договора

ПолеИсточникОписание
GuidXMLСтрока(Договор)GUID договора
GuidCompanyXMLСтрока(Контрагент)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}

Получение цены

Приоритет определения цены:

  1. Цена из строки табличной части договора
  2. Если = 0: ищет в регистре ЦеныНоменклатуры.СрезПоследних по комбинации Номенклатура + Характеристика + ВидЦены
  3. ВидЦены: сначала из строки договора, если не заполнен — из шапки (ВидЦен)

Условия (Conditions) — Зоны доставки

Из табличной части РасчетДоставкиПоОбъему. Каждая зона содержит тарифы:

ПолеОписание
GuidGUID зоны доставки
NameНаименование зоны
ZoneВсегда true
PriceЦена из строки табличной части
VatИз настройки СтавкаНДС (по умолчанию 22)
VariantByVolumeВариант расчёта доставки по объёму из шапки договора
ItemsМассив тарифов (за рейс и за куб)

Тарифы доставки

Номенклатура тарифов берётся из констант: