mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-18 17:20:22 +03:00
Пустой текст платформа хранит только самозакрывающимся тегом: в корпусе ERP таких 1 224 460, а из 780 934 непустых блоков нет ни одного, где пусты все языки. Компилятор же на `text: ""` писал блок с пустым элементом языка — запись, которой в выгрузках не существует. Теперь любая пустая форма (строка, пустой объект, все языки пустыми) даёт один и тот же тег, а декомпилятор возвращает её канонической пустой строкой. Отсюда же росло расхождение портов. Свёртка текста на пустой карте языков возвращала null, если ДРУГОГО текста в макете нет вовсе: набор языков документа при этом пуст. Дальше py писал пропуск колонки, а ps1 наступал на разворачивание одноэлементного массива — список из одного $null превращался в $null, и строка целиком уходила в пустые. Проверено на 12 корпусных макетах: 1411 пустых текстов из 1411 вернулись на место, JSON портов совпадает.
17 lines
516 B
JSON
17 lines
516 B
JSON
{
|
||
"name": "Пустой текст ячейки: строка, объект и все языки пустые",
|
||
"input": {
|
||
"columns": 2,
|
||
"textLanguages": ["ru", "en"],
|
||
"areas": [{
|
||
"rows": [
|
||
{ "cells": [{ "col": 1, "text": "" }] },
|
||
{ "cells": [{ "col": 1, "text": {} }] },
|
||
{ "cells": [{ "col": 1, "text": { "ru": "", "en": "" } }] },
|
||
{ "cells": [{ "col": 1, "text": { "ru": "А", "en": "" } }] }
|
||
]
|
||
}]
|
||
},
|
||
"params": { "outputPath": "Template.xml" }
|
||
}
|