diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1
index 1ed8e76a..0e9fa9f3 100644
--- a/.claude/skills/form-compile/scripts/form-compile.ps1
+++ b/.claude/skills/form-compile/scripts/form-compile.ps1
@@ -1,4 +1,4 @@
-# form-compile v1.106 — Compile 1C managed form from JSON or object metadata
+# form-compile v1.107 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
param(
[string]$JsonPath,
@@ -3287,8 +3287,8 @@ function Emit-ChartNode {
X "$ind$(Esc-Xml "$val")"
}
function Emit-ChartSettings {
- param($chart, [string]$ind)
- X "$ind"
+ param($chart, [string]$ind, [string]$ctype = 'd4p1:Chart')
+ X "$ind"
foreach ($k in (Get-Keys $chart)) { Emit-ChartNode $k (Get-Prop $chart $k) "$ind`t" }
X "$ind"
}
@@ -5042,9 +5042,11 @@ function Emit-Attributes {
if ($attr.PSObject.Properties['planner'] -and $null -ne $attr.planner) {
Emit-PlannerSettings -pl $attr.planner -ind $inner
}
- # Chart design-time (встроенный конфиг диаграммы).
+ # Chart/GanttChart design-time .
+ # Тип Settings выводится из типа реквизита (d5p1:GanttChart → d4p1:GanttChart).
if ($attr.PSObject.Properties['chart'] -and $null -ne $attr.chart) {
- Emit-ChartSettings -chart $attr.chart -ind $inner
+ $ctype = if ("$($attr.type)" -match 'GanttChart') { 'd4p1:GanttChart' } else { 'd4p1:Chart' }
+ Emit-ChartSettings -chart $attr.chart -ind $inner -ctype $ctype
}
if ($attr.main -eq $true) {
diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py
index aeeb4bd5..9ef203f6 100644
--- a/.claude/skills/form-compile/scripts/form-compile.py
+++ b/.claude/skills/form-compile/scripts/form-compile.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
-# form-compile v1.106 — Compile 1C managed form from JSON or object metadata
+# form-compile v1.107 — Compile 1C managed form from JSON or object metadata
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
import copy
@@ -2997,8 +2997,8 @@ def emit_chart_node(lines, name, val, ind):
lines.append(f'{ind}{esc_xml(str(val))}')
-def emit_chart_settings(lines, chart, ind):
- lines.append(f'{ind}')
+def emit_chart_settings(lines, chart, ind, ctype='d4p1:Chart'):
+ lines.append(f'{ind}')
for k in list(chart.keys()):
emit_chart_node(lines, k, chart[k], f'{ind}\t')
lines.append(f'{ind}')
@@ -4774,9 +4774,10 @@ def emit_attributes(lines, attrs, indent, conditional_appearance=None):
# Planner design-time (встроенный конфиг планировщика).
if attr.get('planner') is not None:
emit_planner_settings(lines, attr['planner'], inner)
- # Chart design-time (встроенный конфиг диаграммы).
+ # Chart/GanttChart design-time (тип выводится из типа реквизита).
if attr.get('chart') is not None:
- emit_chart_settings(lines, attr['chart'], inner)
+ ctype = 'd4p1:GanttChart' if 'GanttChart' in str(attr.get('type', '')) else 'd4p1:Chart'
+ emit_chart_settings(lines, attr['chart'], inner, ctype)
if attr.get('main') is True:
lines.append(f'{inner}true')
diff --git a/.claude/skills/form-decompile/scripts/form-decompile.ps1 b/.claude/skills/form-decompile/scripts/form-decompile.ps1
index 2ffc1c2f..0aeaebbf 100644
--- a/.claude/skills/form-decompile/scripts/form-decompile.ps1
+++ b/.claude/skills/form-decompile/scripts/form-decompile.ps1
@@ -1,4 +1,4 @@
-# form-decompile v0.82 — Decompile 1C managed Form.xml to JSON DSL (draft)
+# form-decompile v0.83 — Decompile 1C managed Form.xml to JSON DSL (draft)
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
param(
@@ -152,14 +152,14 @@ foreach ($el in $xmlDoc.SelectNodes("//*[local-name()='ConditionalAppearance']/*
# (встроенная конфигурация диаграммы) пока НЕ воспроизводим → честный скип, чтобы не потерять молча.
foreach ($s in $xmlDoc.SelectNodes("//*[local-name()='Attribute']/*[local-name()='Settings']")) {
$st = $s.GetAttribute("type", $NS_XSI)
- if ($st -and $st -notmatch 'TypeDescription$' -and $st -notmatch 'DynamicList$' -and $st -notmatch 'Planner$' -and $st -notmatch 'd4p1:Chart$') {
+ if ($st -and $st -notmatch 'TypeDescription$' -and $st -notmatch 'DynamicList$' -and $st -notmatch 'Planner$' -and $st -notmatch 'd4p1:(Gantt)?Chart$') {
Fail-Ring3 -kind "Attribute>Settings типа '$st' (design-time конфигурация, напр. диаграмма)" -loc "Attribute/Settings"
}
- # Chart с точками/осями (realPointData/realDataItems): типизированные значения (xsi:type),
- # xsi:nil и ML с префиксом d4p1: (а не v8:) генерик-движок не сохраняет → честный скип.
- # Частые дашборд-диаграммы (серии/легенда/оформление) поддержаны.
- elseif ($st -match 'd4p1:Chart$' -and ($s.OuterXml -match ']')) {
- Fail-Ring3 -kind "Attribute>Settings d4p1:Chart с точками/осями (типизированные значения/d4p1-ML)" -loc "Attribute/Settings"
+ # Chart/GanttChart с точками/осями: типизированные значения (xsi:type), xsi:nil и ML с
+ # префиксом d4p1: (а не v8:) генерик-движок не сохраняет → честный скип. Частые
+ # дашборд-диаграммы/гант (серии/легенда/оформление/шкала) поддержаны.
+ elseif ($st -match 'd4p1:(Gantt)?Chart$' -and ($s.OuterXml -match ']')) {
+ Fail-Ring3 -kind "Attribute>Settings $st с точками/осями (типизированные значения/d4p1-ML)" -loc "Attribute/Settings"
}
}
@@ -2206,8 +2206,8 @@ if ($attrsNode) {
elseif ($setNode -and $setNode.GetAttribute("type", $NS_XSI) -match 'Planner$') {
$ao['planner'] = Build-PlannerSettings $setNode
}
- # Chart design-time → объект chart (генерик-захват).
- elseif ($setNode -and $setNode.GetAttribute("type", $NS_XSI) -match 'd4p1:Chart$') {
+ # Chart/GanttChart design-time → chart (генерик).
+ elseif ($setNode -and $setNode.GetAttribute("type", $NS_XSI) -match 'd4p1:(Gantt)?Chart$') {
$ao['chart'] = Build-ChartSettings $setNode
}
if ((Get-Child $a 'MainAttribute') -eq 'true') { $ao['main'] = $true }
diff --git a/docs/form-dsl-spec.md b/docs/form-dsl-spec.md
index 8dba6e22..03937df4 100644
--- a/docs/form-dsl-spec.md
+++ b/docs/form-dsl-spec.md
@@ -858,7 +858,9 @@ Forgiving-синонимы типа: XML-имя (`SpreadSheetDocumentField`) и
} }
```
-> **Ограничение Phase 2:** диаграммы с **точками/осями** (`realPointData`/`realDataItems`, заполненные `valuesAxis`/`pointsAxis`) несут типизированные значения (`xsi:type`), `xsi:nil` и ML с префиксом `d4p1:` — генерик-движок их не сохраняет → декомпилятор делает честный fail-ring3 на таких формах (редкий вариант). Частые дашборд-диаграммы (серии/легенда/оформление/шкалы) поддержаны полностью. `GanttChart` (`d4p1:GanttChart`) — отдельная фаза.
+**Диаграмма Ганта** (`type: "d5p1:GanttChart"`, ``) использует ТОТ ЖЕ ключ `chart` и генерик-движок: внутри несёт вложенный `chart` (полный Chart-блок) + gantt-специфику (`points`/`series`/`timeScale`/`drawEmpty`/…). Тип Settings выводится из типа реквизита автоматически. Все 16 форм Ганта корпуса 8.3.24 — раундтрип бит-в-бит.
+
+> **Ограничение:** диаграммы (Chart/Gantt) с **точками/осями** (`realPointData`/`realDataItems`, заполненные `valuesAxis`/`pointsAxis`) несут типизированные значения (`xsi:type`), `xsi:nil` и ML с префиксом `d4p1:` — генерик-движок их не сохраняет → декомпилятор делает честный fail-ring3 на таких формах (редкий вариант). Частые дашборд-диаграммы и диаграммы Ганта (серии/легенда/оформление/шкалы) поддержаны полностью.
### planner — design-time конфигурация планировщика
diff --git a/tests/skills/cases/form-compile/chart-gantt-settings.json b/tests/skills/cases/form-compile/chart-gantt-settings.json
new file mode 100644
index 00000000..53a6b4e2
--- /dev/null
+++ b/tests/skills/cases/form-compile/chart-gantt-settings.json
@@ -0,0 +1,352 @@
+{
+ "name": "Форма с design-time диаграммой Ганта (d4p1:GanttChart Settings)",
+ "preRun": [
+ {
+ "script": "meta-compile/scripts/meta-compile",
+ "input": {
+ "type": "DataProcessor",
+ "name": "ДиаграммаГанта"
+ },
+ "args": {
+ "-JsonPath": "{inputFile}",
+ "-OutputDir": "{workDir}"
+ }
+ },
+ {
+ "script": "form-add/scripts/form-add",
+ "args": {
+ "-ObjectPath": "{workDir}/DataProcessors/ДиаграммаГанта.xml",
+ "-FormName": "Форма"
+ }
+ }
+ ],
+ "params": {
+ "outputPath": "DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form.xml"
+ },
+ "validatePath": "DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form.xml",
+ "input": {
+ "title": "Диаграмма Ганта",
+ "elements": [
+ {
+ "ganttChart": "Ганта",
+ "path": "Ганта",
+ "titleLocation": "none",
+ "ganttTable": {
+ "table": "ТаблицаГанта",
+ "path": "Ганта",
+ "height": 3
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "name": "Объект",
+ "type": "DataProcessorObject.ДиаграммаГанта",
+ "main": true
+ },
+ {
+ "name": "Ганта",
+ "type": "d5p1:GanttChart",
+ "chart": {
+ "chart": {
+ "seriesCurId": "1",
+ "pointsCurId": "0",
+ "isSeriesDesign": true,
+ "realSeriesCount": "0",
+ "realExSeriesData": [
+ {
+ "id": "1",
+ "color": "#991919",
+ "line": {
+ "width": 2,
+ "gap": false,
+ "style": "Solid"
+ },
+ "marker": "Rhomb",
+ "text": {
+ "#": "Сводная"
+ },
+ "strIsChanged": false,
+ "isExpand": false,
+ "isIndicator": false,
+ "colorPriority": false
+ }
+ ],
+ "isPointsDesign": true,
+ "realPointCount": "0",
+ "curSeries": "-1",
+ "curPoint": "0",
+ "chartType": "Column3D",
+ "circleLabelType": "None",
+ "labelsDelimiter": ", ",
+ "labelsLocation": "Edge",
+ "lbFormat": "",
+ "lbpFormat": "",
+ "labelsColor": "style:FormTextColor",
+ "labelsFont": {
+ "kind": "AutoFont"
+ },
+ "transparentLabelsBkg": true,
+ "labelsBkgColor": "auto",
+ "labelsBorder": {
+ "width": 1,
+ "style": "Single"
+ },
+ "labelsBorderColor": "auto",
+ "circleExpandMode": "None",
+ "chart3Dcrd": "SouthWest",
+ "title": "",
+ "isShowTitle": true,
+ "isShowLegend": false,
+ "ttlBorder": {
+ "width": 0,
+ "style": "WithoutBorder"
+ },
+ "ttlBorderColor": "style:BorderColor",
+ "lgBorder": {
+ "width": 0,
+ "style": "WithoutBorder"
+ },
+ "lgBorderColor": "style:BorderColor",
+ "chBorder": {
+ "width": 1,
+ "style": "Single"
+ },
+ "chBorderColor": "style:BorderColor",
+ "transparent": false,
+ "bkgColor": "style:FieldBackColor",
+ "isTrnspTtl": false,
+ "ttlColor": "style:FieldBackColor",
+ "isTrnspLeg": false,
+ "legColor": "style:FieldBackColor",
+ "isTrnspCh": false,
+ "chColor": "style:FieldBackColor",
+ "ttlTxtColor": "style:FormTextColor",
+ "legTxtColor": "style:FormTextColor",
+ "chTxtColor": "style:FormTextColor",
+ "ttlFont": {
+ "ref": "style:TextFont",
+ "kind": "StyleItem"
+ },
+ "legFont": {
+ "ref": "style:TextFont",
+ "kind": "StyleItem"
+ },
+ "chFont": {
+ "ref": "style:TextFont",
+ "kind": "StyleItem"
+ },
+ "isShowScale": true,
+ "isShowScaleVL": true,
+ "isShowSeriesScale": true,
+ "isShowPointsScale": true,
+ "isShowValuesScale": true,
+ "vsFormat": "",
+ "xLabelsOrientation": "Auto",
+ "scaleLine": {
+ "width": 1,
+ "gap": false,
+ "style": "Solid"
+ },
+ "scaleColor": "#A9A9A9",
+ "isAutoSeriesName": true,
+ "isAutoPointName": true,
+ "maxMode": "NotDefined",
+ "maxSeries": "4",
+ "maxSeriesPrc": "30",
+ "spaceMode": "Half",
+ "baseVal": "0",
+ "isOutline": false,
+ "realPiePoint": "0",
+ "realStockSeries": "0",
+ "isLight": true,
+ "isGradient": false,
+ "isTransposition": false,
+ "hideBaseVal": false,
+ "dataTable": false,
+ "dtVerLines": true,
+ "dtHorLines": true,
+ "dtHAlign": "Right",
+ "dtFormat": "",
+ "dtKeys": true,
+ "paletteKind": "Auto",
+ "animation": "Auto",
+ "rebuildTime": "0",
+ "isTransposed": false,
+ "autoTransposition": false,
+ "legendScrollEnable": true,
+ "surfaceColor": "#A90000",
+ "radarScaleType": "Circle",
+ "gaugeValuesPresentation": "Needle",
+ "gaugeQualityBands": {
+ "useTextStr": false,
+ "useTooltipStr": false
+ },
+ "beginGaugeAngle": "0",
+ "endGaugeAngle": "180",
+ "gaugeThickness": "5",
+ "gaugeLabelsLocation": "InsideScale",
+ "gaugeLabelsArcDirection": false,
+ "gaugeBushThickness": "4",
+ "gaugeBushColor": "#A9A9A9",
+ "autoMaxValue": true,
+ "userMaxValue": "0",
+ "autoMinValue": true,
+ "userMinValue": "0",
+ "elementsIsInit": true,
+ "titleIsInit": true,
+ "legendIsInit": true,
+ "chartIsInit": true,
+ "elementsChart": {
+ "left": "0",
+ "right": "0",
+ "top": "0",
+ "bottom": "0"
+ },
+ "elementsLegend": {
+ "left": "0.913738019169329",
+ "right": "0",
+ "top": "0.0407725321888412",
+ "bottom": "0"
+ },
+ "elementsTitle": {
+ "left": "0.8328025477707",
+ "right": "0",
+ "top": "0",
+ "bottom": "0.959401709401709"
+ },
+ "borderColor": "style:BorderColor",
+ "border": {
+ "width": 1,
+ "style": "Single"
+ },
+ "dataSourceDescription": "",
+ "isDataSourceMode": false,
+ "isRandomizedNewValues": true,
+ "splineStrain": "95",
+ "translucencePercent": "0",
+ "funnelNeckHeightPercent": "10",
+ "funnelNeckWidthPercent": "10",
+ "funnelGapSumPercent": "3",
+ "multiStageLinkLine": {
+ "width": 1,
+ "gap": false,
+ "style": "Solid"
+ },
+ "multiStageLinkColor": "#000000",
+ "valuesAxis": "",
+ "pointsAxis": "",
+ "legendPlacement": "None",
+ "plotAreaPlacement": "UseCoordinates",
+ "titleAreaPlacement": "UseCoordinates"
+ },
+ "points": {
+ "testMode": false,
+ "value": {
+ "itemKey": "0",
+ "key": "0",
+ "parentKey": "0",
+ "leftKey": "0",
+ "rightKey": "0",
+ "extKey": "0",
+ "title": "",
+ "cacheKey": "0",
+ "baseData": "4294901761",
+ "font": {
+ "kind": "AutoFont"
+ },
+ "picture": ""
+ },
+ "contentCacheItem": {
+ "mainColor": "#000000",
+ "secondColor": "#000000",
+ "backColor": "auto",
+ "textColor": "auto"
+ },
+ "autoText": true,
+ "useValuesReverseBehavior": false
+ },
+ "series": {
+ "testMode": false,
+ "value": {
+ "itemKey": "0",
+ "key": "0",
+ "parentKey": "0",
+ "leftKey": "0",
+ "rightKey": "0",
+ "extKey": "0",
+ "title": "",
+ "cacheKey": "0",
+ "baseData": "4294902785"
+ },
+ "contentCacheItem": {
+ "mainColor": "#000000",
+ "secondColor": "#000000",
+ "hatchBetweenIntervalsColor": "#000000"
+ },
+ "autoText": true,
+ "useValuesReverseBehavior": false
+ },
+ "drawEmpty": true,
+ "timeScale": {
+ "placement": "Top",
+ "level": {
+ "measure": "Day",
+ "interval": "1",
+ "show": true,
+ "line": {
+ "width": 1,
+ "gap": false,
+ "style": "Dotted"
+ },
+ "scaleColor": "#C0C0C0",
+ "dayFormatRule": "MonthDayWeekDay",
+ "format": "",
+ "labels": {
+ "ticks": "0"
+ },
+ "backColor": "auto",
+ "textColor": "auto",
+ "showPereodicalLabels": true
+ },
+ "transparent": false,
+ "backColor": "style:FieldBackColor",
+ "textColor": "style:FormTextColor",
+ "currentLevel": "0"
+ },
+ "keepScaleVariant": "AllData",
+ "fixedVariantMeasure": "Month",
+ "fixedVariantInterval": "1",
+ "autoFullInterval": true,
+ "fullIntervalBegin": "2016-05-01T00:00:00",
+ "fullIntervalEnd": "2016-06-01T00:00:00",
+ "visualBegin": "2016-05-01T00:00:00",
+ "intervalDrawType": "Gradient",
+ "noneVariantChars": "3",
+ "noneVariantMeasure": "Day",
+ "verticalStretch": "None",
+ "verticalScrollEnable": true,
+ "showValueText": "None",
+ "extTitle": "",
+ "outboundColor": "#FFFFFF",
+ "backIntervals": {
+ "collection": {
+ "ticks": "0"
+ },
+ "ticks": "0"
+ },
+ "linksColor": "#000080",
+ "linksLine": {
+ "width": 1,
+ "gap": false,
+ "style": "Solid"
+ },
+ "showPointsText": "Auto",
+ "showData": "Auto",
+ "textPlacement": "Auto",
+ "intervalTextRepresentation": "Auto"
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Configuration.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Configuration.xml
new file mode 100644
index 00000000..029b071d
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Configuration.xml
@@ -0,0 +1,252 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+ UUID-012
+ UUID-013
+
+
+ UUID-014
+ UUID-015
+
+
+
+ TestConfig
+
+
+ ru
+ TestConfig
+
+
+
+
+ Version8_3_24
+ ManagedApplication
+
+ PlatformApplication
+
+ Russian
+
+
+
+
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Biometrics
+ true
+
+
+ Location
+ false
+
+
+ BackgroundLocation
+ false
+
+
+ BluetoothPrinters
+ false
+
+
+ WiFiPrinters
+ false
+
+
+ Contacts
+ false
+
+
+ Calendars
+ false
+
+
+ PushNotifications
+ false
+
+
+ LocalNotifications
+ false
+
+
+ InAppPurchases
+ false
+
+
+ PersonalComputerFileExchange
+ false
+
+
+ Ads
+ false
+
+
+ NumberDialing
+ false
+
+
+ CallProcessing
+ false
+
+
+ CallLog
+ false
+
+
+ AutoSendSMS
+ false
+
+
+ ReceiveSMS
+ false
+
+
+ SMSLog
+ false
+
+
+ Camera
+ false
+
+
+ Microphone
+ false
+
+
+ MusicLibrary
+ false
+
+
+ PictureAndVideoLibraries
+ false
+
+
+ AudioPlaybackAndVibration
+ false
+
+
+ BackgroundAudioPlaybackAndVibration
+ false
+
+
+ InstallPackages
+ false
+
+
+ OSBackup
+ true
+
+
+ ApplicationUsageStatistics
+ false
+
+
+ BarcodeScanning
+ false
+
+
+ BackgroundAudioRecording
+ false
+
+
+ AllFilesAccess
+ false
+
+
+ Videoconferences
+ false
+
+
+ NFC
+ false
+
+
+ DocumentScanning
+ false
+
+
+ SpeechToText
+ false
+
+
+ Geofences
+ false
+
+
+ IncomingShareRequests
+ false
+
+
+ AllIncomingShareRequestsTypesProcessing
+ false
+
+
+
+
+
+ Normal
+
+
+ Language.Русский
+
+
+
+
+
+ Managed
+ NotAutoFree
+ DontUse
+ DontUse
+ TaxiEnableVersion8_2
+ DontUse
+ Version8_3_24
+
+
+
+ Русский
+ ДиаграммаГанта
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта.xml
new file mode 100644
index 00000000..16052439
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+
+ ДиаграммаГанта
+
+
+ ru
+ Диаграмма ганта
+
+
+
+ false
+ DataProcessor.ДиаграммаГанта.Form.Форма
+
+ false
+
+
+
+
+
+
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Ext/ManagerModule.bsl b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Ext/ManagerModule.bsl
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Ext/ObjectModule.bsl b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Ext/ObjectModule.bsl
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма.xml
new file mode 100644
index 00000000..dffeea01
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма.xml
@@ -0,0 +1,22 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form.xml
new file mode 100644
index 00000000..67e3084a
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form.xml
@@ -0,0 +1,338 @@
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form/Module.bsl b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form/Module.bsl
new file mode 100644
index 00000000..8ead4cec
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/DataProcessors/ДиаграммаГанта/Forms/Форма/Ext/Form/Module.bsl
@@ -0,0 +1,19 @@
+#Область ОбработчикиСобытийФормы
+
+#КонецОбласти
+
+#Область ОбработчикиСобытийЭлементовФормы
+
+#КонецОбласти
+
+#Область ОбработчикиКомандФормы
+
+#КонецОбласти
+
+#Область ОбработчикиОповещений
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Ext/ClientApplicationInterface.xml
new file mode 100644
index 00000000..3c1161b2
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ UUID-002
+
+
+
+
+ UUID-004
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Languages/Русский.xml b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Languages/Русский.xml
new file mode 100644
index 00000000..37c60d78
--- /dev/null
+++ b/tests/skills/cases/form-compile/snapshots/chart-gantt-settings/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file