Initial project import

This commit is contained in:
2026-08-14 09:40:51 +03:00
parent 00040e5ce4
commit d7099bf80d
146 changed files with 30509 additions and 1055 deletions
@@ -0,0 +1,50 @@
# Прикладной эталон дополнительных реквизитов для разработки
## Цель
Опубликовать в изолированной базе `upo_test` read-only endpoint, который
читает ПВХ средствами платформы 1С. Это эталон для разработки и регрессионного
сравнения SQL-адаптера; адаптер к endpoint не подключается.
## Изолированное расширение
1. В Конфигураторе создайте новое расширение `AdapterAdditionalAttributesBridge`.
2. Добавьте серверный общий модуль `ДополнительныеРеквизитыReadOnly` и вставьте
содержимое `plugins/1c/bridge/additional_attributes_readonly.bsl`.
3. Добавьте HTTP-сервис `AdapterRuntimeBridge` с URL `/runtime-bridge`.
4. Добавьте URL-шаблон `rpc`, метод `POST`, и обработчик
`ДополнительныеРеквизитыHTTP.ОбработатьRPC`.
5. Добавьте серверный модуль `ДополнительныеРеквизитыHTTP` и вставьте
`plugins/1c/bridge/additional_attributes_http_handler.bsl`.
6. Ограничьте публикацию тестовой сетью и отдельным техническим пользователем
только с правами чтения ПВХ и справочника `СтруктурныеЕдиницы` вместе с его
табличной частью `ДополнительныеРеквизиты`.
7. Обновите конфигурацию базы из расширения и опубликуйте HTTP-сервис.
Не меняйте существующие `Chatbot`, биллинг, телефонию или сервисы обмена.
## Проверка endpoint
```json
{"method":"additional_attributes.find","payload":{"base_id":"upo_test","query":"Ответственное направление","include_deleted":false,"limit":10}}
```
Ожидается `status=found` и как минимум `ref`, `description`,
`identifier_for_formula`, `property_set`, `value_type`.
Затем:
```json
{"method":"additional_attributes.storage.resolve","payload":{"base_id":"upo_test","property_ref":"<UUID свойства>","owner_ref":"Catalog.СтруктурныеЕдиницы"}}
```
Ожидается `status=confirmed` и источник
`Справочник.СтруктурныеЕдиницы.ДополнительныеРеквизиты`.
## Использование результата
Сравните ответ endpoint с `data.list`, `data.schema`,
`additional_attributes.find` и `additional_attributes.storage.resolve` SQL
адаптера. В код адаптера переносятся только подтверждённые общие правила
разбора метаданных и SQL-маршрута; адрес endpoint, учётные данные и вызовы
платформы в адаптер не добавляются.