51 lines
3.1 KiB
Markdown
51 lines
3.1 KiB
Markdown
# Прикладной эталон дополнительных реквизитов для разработки
|
||
|
||
## Цель
|
||
|
||
Опубликовать в изолированной базе `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, учётные данные и вызовы
|
||
платформы в адаптер не добавляются.
|