mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-03 02:00:22 +03:00
Прогон сервисов на конфигурациях формата 2.17 (ERP + БП, 46 объектов) вскрыл
то, чего не было в УТ: 25 совпадений из 46.
ERP двуязычна, и синоним шаблона, метода, операции и параметра приезжает
объектом {ru,en}. Компилятор интерполировал его в строку — в XML попадал
литерал "@{ru=Версия; en=Version}" вместо пары языковых элементов. Значение
теперь передаётся в эмиттер как есть, он и так умеет обе формы.
RootURL сравнивался с дефолтом (имя в нижнем регистре) регистронезависимо,
поэтому MobileAppReceiptScanner считался дефолтным и терял регистр при
регенерации. Сравнение сделано регистрочувствительным — тот же класс ошибки,
что уже ловили на синонимах методов.
Спека meta-dsl-spec дополнена: объектные формы шаблонов, методов, операций и
параметров; xdtoPackages как список; descriptorFileName; dataLockControlMode;
нотация Кларка для типов из своего пространства имён; Use в ReuseSessions.
Проверка: сервисы ERP+БП 46/46, сервисы УТ 25/25, сюита 76/76 на обоих
портах, 1С-сертификация кейса с многоязычным синонимом пройдена.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
33 lines
951 B
JSON
33 lines
951 B
JSON
{
|
||
"name": "HTTP-сервис с шаблонами URL",
|
||
"input": {
|
||
"type": "HTTPService",
|
||
"name": "ТоварныйAPI",
|
||
"rootURL": "api/v1",
|
||
"reuseSessions": "Use",
|
||
"sessionMaxAge": 30,
|
||
"comment": "Публичный API",
|
||
"urlTemplates": {
|
||
"Товары": {
|
||
"template": "/products/{id}",
|
||
"methods": {
|
||
"Получить": "GET",
|
||
"Обновить": "PUT"
|
||
}
|
||
},
|
||
"rpc": {
|
||
"template": "/rpc",
|
||
"comment": "Удалённый вызов",
|
||
"methods": {
|
||
"post": { "httpMethod": "POST", "handler": "ВызовЧерезТелоЗапроса",
|
||
"synonym": { "ru": "Отправить", "en": "Post" } }
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"validatePath": "HTTPServices/ТоварныйAPI",
|
||
"expect": {
|
||
"files": ["HTTPServices/ТоварныйAPI.xml", "HTTPServices/ТоварныйAPI/Ext/Module.bsl"]
|
||
}
|
||
}
|