chore: манифесты списков «Исключённые предложения» для СТ, ОИД и КПС (#1)
Исключённые поставщики хранятся отдельно от «Оценки поставщиков», чтобы отчёт СТ, INCORE и потоки их не видели. Колонки — копия офферов своей формы плюс СТ и причина; файл КП — числом, лукап на библиотеку не читается через REST. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -71,6 +71,20 @@
|
|||||||
- Запись офферов и исключённых — в общем модуле для трёх форм, чтобы позже перенести
|
- Запись офферов и исключённых — в общем модуле для трёх форм, чтобы позже перенести
|
||||||
сохранение на бэкенд без переделки компонентов.
|
сохранение на бэкенд без переделки компонентов.
|
||||||
|
|
||||||
|
## Устройство списков
|
||||||
|
|
||||||
|
Манифесты — `provisioning/manifests/{ct,oid,kps}.provisioning.json`.
|
||||||
|
|
||||||
|
- Колонки — копия «Оценки поставщиков» своей формы (чтобы «Вернуть» восстановило оффер
|
||||||
|
целиком) плюс `CT` (найти исключённых при открытии СТ) и `reason` (причина).
|
||||||
|
- Ссылки на обычные списки — Lookup, файл КП — сразу `offerFileId: Number`: лукап на
|
||||||
|
библиотеку документов не читается через REST.
|
||||||
|
- Номер строки комплекта — в `Title`, как в «Оценке поставщиков» (`поставщик-позиция-N`):
|
||||||
|
один формат во всех списках, разбор переиспользуется (`parseOfferItemIndex`).
|
||||||
|
- Причина повторяется в каждой строке поставщика — осознанная денормализация. Отдельный
|
||||||
|
список «Исключённые поставщики» дал бы 6 списков вместо 3 ради короткого текста.
|
||||||
|
- Поставщик без цен — строка без `position`, чтобы колонка не терялась.
|
||||||
|
|
||||||
## Последствия
|
## Последствия
|
||||||
|
|
||||||
- Три новых списка на `/sites/sed` — описать в `provisioning/manifests/{ct,oid,kps}`,
|
- Три новых списка на `/sites/sed` — описать в `provisioning/manifests/{ct,oid,kps}`,
|
||||||
|
|||||||
@@ -345,6 +345,97 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"title": "Исключённые предложения",
|
||||||
|
"template": "GenericList",
|
||||||
|
"shared": false,
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"internalName": "CT",
|
||||||
|
"title": "Номер СТ",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Сравнительная таблица",
|
||||||
|
"lookupShowField": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplier",
|
||||||
|
"title": "Поставщик",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Поставщики",
|
||||||
|
"lookupShowField": "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "reason",
|
||||||
|
"title": "Причина исключения",
|
||||||
|
"type": "Note"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "position",
|
||||||
|
"title": "Позиция",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Позиции СТ",
|
||||||
|
"lookupShowField": "position"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplierPosition",
|
||||||
|
"title": "Наименование позиции",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "unit",
|
||||||
|
"title": "Ед. изм",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "quantity",
|
||||||
|
"title": "Количество",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "price",
|
||||||
|
"title": "Цена",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "summa",
|
||||||
|
"title": "Сумма",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "valuta",
|
||||||
|
"title": "Валюта",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Курс Валют",
|
||||||
|
"lookupShowField": "code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "priceTenge",
|
||||||
|
"title": "Цена в тенге",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "summaTenge",
|
||||||
|
"title": "Сумма в тенге",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "offerFileId",
|
||||||
|
"title": "Id файла КП",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "deliveryDistanceKm",
|
||||||
|
"title": "Расстояние доставки, км",
|
||||||
|
"type": "Number"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"title": "Поставщики",
|
"title": "Поставщики",
|
||||||
"template": "GenericList",
|
"template": "GenericList",
|
||||||
|
|||||||
@@ -386,6 +386,97 @@
|
|||||||
"type": "Note"
|
"type": "Note"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Исключённые предложения КПС",
|
||||||
|
"template": "GenericList",
|
||||||
|
"shared": false,
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"internalName": "CT",
|
||||||
|
"title": "Номер СТ",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Сравнительная таблица КПС",
|
||||||
|
"lookupShowField": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplier",
|
||||||
|
"title": "Поставщик",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Поставщики",
|
||||||
|
"lookupShowField": "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "reason",
|
||||||
|
"title": "Причина исключения",
|
||||||
|
"type": "Note"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "position",
|
||||||
|
"title": "Позиция",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Позиции СТ КПС",
|
||||||
|
"lookupShowField": "position"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplierPosition",
|
||||||
|
"title": "Наименование позиции",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "unit",
|
||||||
|
"title": "Ед. изм",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "quantity",
|
||||||
|
"title": "Количество",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "price",
|
||||||
|
"title": "Цена",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "summa",
|
||||||
|
"title": "Сумма",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "valuta",
|
||||||
|
"title": "Валюта",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Курс Валют",
|
||||||
|
"lookupShowField": "code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "priceTenge",
|
||||||
|
"title": "Цена в тенге",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "summaTenge",
|
||||||
|
"title": "Сумма в тенге",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "offerFileId",
|
||||||
|
"title": "Id файла КП",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "deliveryDistanceKm",
|
||||||
|
"title": "Расстояние доставки, км",
|
||||||
|
"type": "Number"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -381,6 +381,73 @@
|
|||||||
"type": "Boolean"
|
"type": "Boolean"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Исключённые предложения ОИД",
|
||||||
|
"template": "GenericList",
|
||||||
|
"shared": false,
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"internalName": "CT",
|
||||||
|
"title": "Номер СТ",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Сравнительная таблица ОИД",
|
||||||
|
"lookupShowField": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplier",
|
||||||
|
"title": "Поставщик",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Поставщики",
|
||||||
|
"lookupShowField": "name"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "reason",
|
||||||
|
"title": "Причина исключения",
|
||||||
|
"type": "Note"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "position",
|
||||||
|
"title": "Позиция",
|
||||||
|
"type": "Lookup",
|
||||||
|
"lookupList": "Позиции СТ ОИД",
|
||||||
|
"lookupShowField": "position"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "supplierPosition",
|
||||||
|
"title": "Наименование позиции",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "unit",
|
||||||
|
"title": "Ед. изм",
|
||||||
|
"type": "Text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "quantity",
|
||||||
|
"title": "Количество",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "price",
|
||||||
|
"title": "Цена",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "summa",
|
||||||
|
"title": "Сумма",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"internalName": "offerFileId",
|
||||||
|
"title": "Id файла КП",
|
||||||
|
"type": "Number",
|
||||||
|
"decimals": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
{ "title": "Критерии", "template": "GenericList" },
|
{ "title": "Критерии", "template": "GenericList" },
|
||||||
{ "title": "Согласование СТ", "template": "GenericList" },
|
{ "title": "Согласование СТ", "template": "GenericList" },
|
||||||
{ "title": "Не получены КП", "template": "GenericList" },
|
{ "title": "Не получены КП", "template": "GenericList" },
|
||||||
|
{ "title": "Исключённые предложения", "template": "GenericList" },
|
||||||
{ "title": "Поставщики", "template": "GenericList" },
|
{ "title": "Поставщики", "template": "GenericList" },
|
||||||
{ "title": "Курс Валют", "template": "GenericList" },
|
{ "title": "Курс Валют", "template": "GenericList" },
|
||||||
{ "title": "Матрица согласования СТ", "template": "GenericList" },
|
{ "title": "Матрица согласования СТ", "template": "GenericList" },
|
||||||
@@ -53,6 +54,7 @@
|
|||||||
{ "title": "Критерии ОИД", "template": "GenericList" },
|
{ "title": "Критерии ОИД", "template": "GenericList" },
|
||||||
{ "title": "Согласование СТ ОИД", "template": "GenericList" },
|
{ "title": "Согласование СТ ОИД", "template": "GenericList" },
|
||||||
{ "title": "Не получены КП ОИД", "template": "GenericList" },
|
{ "title": "Не получены КП ОИД", "template": "GenericList" },
|
||||||
|
{ "title": "Исключённые предложения ОИД", "template": "GenericList" },
|
||||||
{ "title": "Коммерческие предложения ОИД", "template": "DocumentLibrary" }
|
{ "title": "Коммерческие предложения ОИД", "template": "DocumentLibrary" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user