Files
progcode/web/public/assets/editorial/2018/bitrix-slug-build-2018.svg
huncode 90692f0f16
Build and deploy / deploy (push) Successful in 15s
raise editorial quality gate and revise 2018 spring
2026-07-31 09:20:37 +03:00

67 lines
3.8 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 700" role="img" aria-labelledby="title desc">
<title id="title">Построение символьного кода элемента Bitrix</title>
<desc id="desc">Схема показывает путь от названия элемента через транслитерацию и проверку занятости кода к сохранению элемента или добавлению суффикса.</desc>
<defs>
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
<path d="M0,0 L12,6 L0,12 z" fill="#264653"/>
</marker>
<style>
.bg { fill: #f7f4ec; }
.node { fill: #ffffff; stroke: #264653; stroke-width: 3; }
.accent { fill: #e9c46a; stroke: #264653; stroke-width: 3; }
.success { fill: #a8dadc; stroke: #264653; stroke-width: 3; }
.warn { fill: #f4a261; stroke: #264653; stroke-width: 3; }
.line { fill: none; stroke: #264653; stroke-width: 3; marker-end: url(#arrow); }
.dash { fill: none; stroke: #264653; stroke-width: 3; stroke-dasharray: 10 8; marker-end: url(#arrow); }
.label { font: 700 25px Arial, sans-serif; fill: #1d3557; }
.text { font: 20px Arial, sans-serif; fill: #264653; }
.code { font: 700 19px "Courier New", monospace; fill: #1d3557; }
.small { font: 17px Arial, sans-serif; fill: #457b9d; }
</style>
</defs>
<rect class="bg" width="1200" height="700" rx="28"/>
<text x="60" y="68" class="label">Символьный код — это цепочка проверок, а не только транслит</text>
<rect x="58" y="165" width="190" height="155" rx="18" class="node"/>
<text x="83" y="214" class="label">1. Имя</text>
<text x="83" y="252" class="text">«Кофе Classic</text>
<text x="83" y="280" class="text">250 г»</text>
<path d="M248 243 H337" class="line"/>
<rect x="347" y="150" width="220" height="185" rx="18" class="accent"/>
<text x="373" y="199" class="label">2. CUtil::</text>
<text x="373" y="230" class="label">translit</text>
<text x="373" y="270" class="small">нижний регистр,</text>
<text x="373" y="296" class="small">дефис вместо пробела</text>
<path d="M567 243 H658" class="line"/>
<rect x="668" y="165" width="210" height="155" rx="18" class="node"/>
<text x="695" y="214" class="label">3. Кандидат</text>
<text x="695" y="257" style="font: 700 16px &quot;Courier New&quot;, monospace; fill: #1d3557;">kofe-classic-250-g</text>
<path d="M878 243 H962" class="line"/>
<rect x="972" y="150" width="180" height="185" rx="18" class="node"/>
<text x="997" y="198" class="label">4. GetList</text>
<text x="997" y="233" class="small">IBLOCK_ID</text>
<text x="997" y="260" class="small">+ CODE</text>
<text x="997" y="291" class="small">есть запись?</text>
<path d="M1062 335 V438 H932" class="line"/>
<rect x="722" y="408" width="200" height="125" rx="18" class="success"/>
<text x="748" y="457" class="label">Свободен</text>
<text x="748" y="493" class="text">передаём в Add</text>
<path d="M972 243 H930 V580 H710" class="dash"/>
<rect x="460" y="534" width="240" height="120" rx="18" class="warn"/>
<text x="487" y="580" class="label">Занят</text>
<text x="487" y="616" class="text">добавляем -2, -3…</text>
<path d="M460 594 H345 V380 H770 V320" class="dash"/>
<text x="938" y="412" class="small">нет</text>
<text x="884" y="566" class="small">да</text>
<text x="58" y="676" class="small">Проверка по списку полезна для последовательного ввода. При параллельном импорте нужен отдельный проектный способ исключить гонку.</text>
</svg>