mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-25 06:01:02 +03:00
feat(skd-compile): @autoDates — НачалоПериода/КонецПериода вместо ДатаНачала/ДатаОкончания
Канонический паттерн БСП в Титан/ЕРП-отчётах использует имена НачалоПериода/КонецПериода (~10:1 по частоте). Выражения &Период.ДатаНачала/&Период.ДатаОкончания сохранены — это обращение к внутренним полям StandardPeriod. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
f5dd677ac8
commit
3f23be8219
@@ -119,7 +119,7 @@ Shorthand: `"Имя [Заголовок]: тип = Выражение #noField #
|
|||||||
Shorthand: `"Имя [Заголовок]: тип = значение @флаги"`. `[Заголовок]` опциональный — добавляет `<title>` (LocalStringType).
|
Shorthand: `"Имя [Заголовок]: тип = значение @флаги"`. `[Заголовок]` опциональный — добавляет `<title>` (LocalStringType).
|
||||||
|
|
||||||
Флаги shorthand:
|
Флаги shorthand:
|
||||||
- `@autoDates` — генерирует пару скрытых параметров `ДатаНачала`/`ДатаОкончания` с выражениями `&Имя.ДатаНачала`/`&Имя.ДатаОкончания`. Используется для StandardPeriod в БСП-отчётах: БСП превращает эту пару в два отдельных поля «Начало/Конец» в панели быстрых настроек.
|
- `@autoDates` — генерирует пару параметров `НачалоПериода`/`КонецПериода` (тип Дата, `useRestriction=true`) с выражениями `&Имя.ДатаНачала`/`&Имя.ДатаОкончания`. Канонический паттерн БСП: эти параметры используются в тексте запроса как `&НачалоПериода`/`&КонецПериода`, а пользователь в быстрых настройках редактирует только `Имя` (StandardPeriod).
|
||||||
- `@valueList` — `<valueListAllowed>true</valueListAllowed>` — разрешает передавать список значений
|
- `@valueList` — `<valueListAllowed>true</valueListAllowed>` — разрешает передавать список значений
|
||||||
- `@hidden` — скрытый параметр: `availableAsField=false` + исключается из `"dataParameters": "auto"`
|
- `@hidden` — скрытый параметр: `availableAsField=false` + исключается из `"dataParameters": "auto"`
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# skd-compile v1.15 — Compile 1C DCS from JSON
|
# skd-compile v1.16 — Compile 1C DCS from JSON
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
param(
|
param(
|
||||||
[string]$DefinitionFile,
|
[string]$DefinitionFile,
|
||||||
@@ -1044,18 +1044,18 @@ function Emit-Parameters {
|
|||||||
# Track parameter for auto dataParameters
|
# Track parameter for auto dataParameters
|
||||||
$script:allParams += @{ name = $parsed.name; hidden = [bool]$parsed.hidden; type = "$($parsed.type)"; value = $parsed.value }
|
$script:allParams += @{ name = $parsed.name; hidden = [bool]$parsed.hidden; type = "$($parsed.type)"; value = $parsed.value }
|
||||||
|
|
||||||
# @autoDates: auto-generate ДатаНачала and ДатаОкончания (canonical БСП pattern)
|
# @autoDates: auto-generate НачалоПериода and КонецПериода (canonical БСП pattern)
|
||||||
if ($parsed.autoDates) {
|
if ($parsed.autoDates) {
|
||||||
$paramName = $parsed.name
|
$paramName = $parsed.name
|
||||||
$beginParsed = @{
|
$beginParsed = @{
|
||||||
name = "ДатаНачала"; title = "Начало периода"
|
name = "НачалоПериода"; title = "Начало периода"
|
||||||
type = "date"; value = "0001-01-01T00:00:00"
|
type = "date"; value = "0001-01-01T00:00:00"
|
||||||
useRestriction = $true
|
useRestriction = $true
|
||||||
expression = "&$paramName.ДатаНачала"
|
expression = "&$paramName.ДатаНачала"
|
||||||
}
|
}
|
||||||
Emit-SingleParam -p $null -parsed $beginParsed
|
Emit-SingleParam -p $null -parsed $beginParsed
|
||||||
$endParsed = @{
|
$endParsed = @{
|
||||||
name = "ДатаОкончания"; title = "Конец периода"
|
name = "КонецПериода"; title = "Конец периода"
|
||||||
type = "date"; value = "0001-01-01T00:00:00"
|
type = "date"; value = "0001-01-01T00:00:00"
|
||||||
useRestriction = $true
|
useRestriction = $true
|
||||||
expression = "&$paramName.ДатаОкончания"
|
expression = "&$paramName.ДатаОкончания"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# skd-compile v1.15 — Compile 1C DCS from JSON
|
# skd-compile v1.16 — Compile 1C DCS from JSON
|
||||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
@@ -916,11 +916,11 @@ def emit_parameters(lines, defn):
|
|||||||
'value': parsed.get('value'),
|
'value': parsed.get('value'),
|
||||||
})
|
})
|
||||||
|
|
||||||
# @autoDates: auto-generate ДатаНачала and ДатаОкончания (canonical БСП pattern)
|
# @autoDates: auto-generate НачалоПериода and КонецПериода (canonical БСП pattern)
|
||||||
if parsed.get('autoDates'):
|
if parsed.get('autoDates'):
|
||||||
param_name = parsed['name']
|
param_name = parsed['name']
|
||||||
begin_parsed = {
|
begin_parsed = {
|
||||||
'name': '\u0414\u0430\u0442\u0430\u041d\u0430\u0447\u0430\u043b\u0430',
|
'name': '\u041d\u0430\u0447\u0430\u043b\u043e\u041f\u0435\u0440\u0438\u043e\u0434\u0430',
|
||||||
'title': '\u041d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430',
|
'title': '\u041d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430',
|
||||||
'type': 'date', 'value': '0001-01-01T00:00:00',
|
'type': 'date', 'value': '0001-01-01T00:00:00',
|
||||||
'useRestriction': True,
|
'useRestriction': True,
|
||||||
@@ -928,7 +928,7 @@ def emit_parameters(lines, defn):
|
|||||||
}
|
}
|
||||||
emit_single_param(lines, None, begin_parsed)
|
emit_single_param(lines, None, begin_parsed)
|
||||||
end_parsed = {
|
end_parsed = {
|
||||||
'name': '\u0414\u0430\u0442\u0430\u041e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f',
|
'name': '\u041a\u043e\u043d\u0435\u0446\u041f\u0435\u0440\u0438\u043e\u0434\u0430',
|
||||||
'title': '\u041a\u043e\u043d\u0435\u0446 \u043f\u0435\u0440\u0438\u043e\u0434\u0430',
|
'title': '\u041a\u043e\u043d\u0435\u0446 \u043f\u0435\u0440\u0438\u043e\u0434\u0430',
|
||||||
'type': 'date', 'value': '0001-01-01T00:00:00',
|
'type': 'date', 'value': '0001-01-01T00:00:00',
|
||||||
'useRestriction': True,
|
'useRestriction': True,
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
</value>
|
</value>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаНачала</name>
|
<name>НачалоПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
<expression>&Период.ДатаНачала</expression>
|
<expression>&Период.ДатаНачала</expression>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаОкончания</name>
|
<name>КонецПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
</value>
|
</value>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаНачала</name>
|
<name>НачалоПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
<expression>&Период.ДатаНачала</expression>
|
<expression>&Период.ДатаНачала</expression>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаОкончания</name>
|
<name>КонецПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
</value>
|
</value>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаНачала</name>
|
<name>НачалоПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<expression>&Период.ДатаНачала</expression>
|
<expression>&Период.ДатаНачала</expression>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаОкончания</name>
|
<name>КонецПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
</value>
|
</value>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаНачала</name>
|
<name>НачалоПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
<expression>&Период.ДатаНачала</expression>
|
<expression>&Период.ДатаНачала</expression>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<name>ДатаОкончания</name>
|
<name>КонецПериода</name>
|
||||||
<title xsi:type="v8:LocalStringType">
|
<title xsi:type="v8:LocalStringType">
|
||||||
<v8:item>
|
<v8:item>
|
||||||
<v8:lang>ru</v8:lang>
|
<v8:lang>ru</v8:lang>
|
||||||
|
|||||||
Reference in New Issue
Block a user