form-patterns

Solid

Паттерны модуля формы (клиент-серверное взаимодействие). Этот навык учит агента правильно писать код модулей управляемых форм 1С.

API & Backend 65 stars 11 forks Updated today

Install

View on GitHub

Quality Score: 73/100

Stars 20%
61
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
0
Description 5%
100

Skill Content

# Паттерны модуля формы (клиент-серверное взаимодействие) **Ключевой принцип:** Минимизировать количество и объём серверных вызовов. Каждый вызов `&НаСервере` — сетевой round-trip + сериализация полного контекста формы. --- ## Правило 1: Иерархия директив — предпочитайте безконтекстные вызовы ### Порядок предпочтения (от лучшего к худшему) ``` 1. &НаКлиентеНаСервереБезКонтекста — чистые вычисления, обе среды 2. &НаСервереБезКонтекста — обращение к БД, без контекста формы 3. &НаСервере — нужен доступ к реквизитам формы 4. &НаКлиенте — интерактивная логика (диалоги, навигация) ``` ### Правило принятия решения ``` Нужно ли обращаться к базе данных? ├── Нет → &НаКлиенте или &НаКлиентеНаСервереБезКонтекста └── Да → Нужен ли доступ к реквизитам формы? ├── Нет → &НаСервереБезКонтекста (передаём только параметры) └── Да → &НаСервере (передаётся весь контекст) ``` ```bsl // Чистое вычисление — обе среды &НаКлиентеНаСервереБезКонтекста Функция РассчитатьСумму(Количество, Цена, СтавкаНДС) СуммаБезНДС = Количество * Цена; СуммаНДС = СуммаБезНДС * СтавкаНДС / 100; Возврат СуммаБезНДС + СуммаНДС; КонецФункции // Нужны данные из БД, но НЕ нужны реквизиты формы &НаСервереБезКонтекста Функция ПолучитьДанныеНоменклатуры(НоменклатураСсылка) Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта( НоменклатураСсылка, "Наименование, ЕдиницаИзмерения, СтавкаНДС, Цена"); КонецФункции // Нужен ...

Details

Author
SteelMorgan
Repository
SteelMorgan/1c-agent-based-dev-framework
Created
3 months ago
Last Updated
today
Language
Java
License
None

Similar Skills

Semantically similar based on skill content — not just same category