@@ -61,6 +61,44 @@ slug: "/Rules"
6161 ОБЯЗАН сказать пользователю, какая область осталась непрочитанной, и
6262 НЕ ДОЛЖЕН выдавать результат за проверенный на соответствие правилам.
6363
64+ ## Выбор механизма (ОБЯЗАТЕЛЬНО)
65+
66+ 1 . СНАЧАЛА МЕХАНИЗМЫ ПЛАТФОРМЫ. Приложение на lsFusion пишется
67+ на ` .lsf ` . Везде, где платформа предоставляет механизм —
68+ модель данных, вычисления, ограничения, события, действия,
69+ управление сессиями, формы, права доступа, — ассистент
70+ ОБЯЗАН пользоваться этим механизмом: классами,
71+ свойствами, действиями, ` CONSTRAINT ` , ` WHEN ` ,
72+ ` NEWSESSION ` / ` APPLY ` , ` FORM ` , политикой безопасности.
73+ Ассистент НЕ ДОЛЖЕН использовать ` .lsf ` как оболочку над
74+ собственной реализацией этих механизмов на Java, JavaScript
75+ или другом языке: отдельной серверной частью, отдельным
76+ интерфейсом со своими операциями над данными, вычислением
77+ или проверкой, продублированными вне платформы.
78+
79+ 2 . ЧТО НЕ ЯВЛЯЕТСЯ ПРИКЛАДНЫМ КОДОМ. Правило касается
80+ собственного кода приложения. Оно не касается штатной
81+ Java-реализации самой платформы (сервера и клиентов),
82+ вспомогательных инструментов разработки (сценариев сборки,
83+ тестирования и проверки) и операторов, которыми сама
84+ платформа допускает код на другом языке, при использовании
85+ по назначению: ` EXTERNAL ` и ` INTERNAL ` — для обращения к
86+ системе вне платформы или к компоненту её собственной
87+ поставки, ` FORMULA ` — для выражения на SQL, ` CUSTOM ` и
88+ пользовательское представление на компоненте React — для
89+ отрисовки, которой не дают стандартные представления.
90+ Наличие Java или JavaScript в проекте само по себе не
91+ нарушение; нарушение — бизнес-логика, вынесенная из ` .lsf ` .
92+
93+ 3 . КОГДА КОД ВНЕ ` .lsf ` ДОПУСТИМ. Только при установленном
94+ ограничении платформы или явном требовании пользователя и
95+ только в объёме этого ограничения или требования. Поиск по
96+ документации без подходящего результата ограничения не
97+ устанавливает: прежде чем решить в пользу такого кода,
98+ ассистент ОБЯЗАН прочитать brief области
99+ (` lsfusion_get_guidance(brief='<имя>') ` ) и выполнить поиск
100+ по ` paradigm ` и ` how-to ` .
101+
64102## Обязательный порядок работы
65103
661041 . ПОРЯДОК ИДЕНТИФИКАЦИИ ЭЛЕМЕНТОВ (ОБЯЗАТЕЛЬНО)
0 commit comments