Управляемые формы в 1С:Предприятие используются для создания кроссплатформенных интерфейсов, работающих в тонком клиенте, веб-клиенте и мобильных приложениях. Они нужны при разработке современных решений для упрощения сопровождения, поддержки многоплатформенности и разделения логики от интерфейса.[1][2]
## Когда применять
Управляемые формы обязательны для веб-клиента, мобильных приложений и новых проектов на платформе 8.2+.[1]
Они ускоряют обновления, снижают ошибки и обеспечивают единый интерфейс на разных платформах.[1][3]
Избегайте в legacy-решениях на толстый клиент с обычными формами.[1]
## Пошаговое создание
### Шаг 1: В конфигураторе
Откройте объект (справочник/документ), перейдите во вкладку "Формы", добавьте новую "Управляемую форму".[4][5]
Задайте основной реквизит (данные объекта), добавьте дополнительные реквизиты (тип, заголовок, проверка заполнения).[1][4]
### Шаг 2: Добавьте элементы
На закладке "Элементы" перетащите реквизиты в форму: поля ввода, таблицы, кнопки.[1][4]
Настройте свойства: видимость, доступность, привязку к данным; сгруппируйте в панели.[1]
### Шаг 3: Команды и интерфейс
На "Командный интерфейс" добавьте команды (стандартные/пользовательские), разместите в группах.[1][4]
Свяжите с обработчиками в модуле формы.[1]
### Шаг 4: Модуль формы
Откройте "Модуль", добавьте обработчики событий (ПриСозданииНаСервере, ПриОткрытии).[1][6]
Разделите клиент/серверную логику для производительности.[1]
### Шаг 5: Тестирование
Сохраните конфигурацию, обновите ИБ, протестируйте на разных клиентах.[1]
## Пример кода
Вот базовый модуль управляемой формы справочника с комментариями:
```
// Серверный обработчик создания формы - инициализация данных
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Проверяем параметры открытия формы
Если Параметры.Свойство("Важность") Тогда
Важность = Параметры.Важность; // Пример параметра из вызова формы [web:11]
КонецЕсли;
// Инициализируем реквизиты формы (например, список или таблицу)
ЗаполнитьСписокНаСервере(); // Вызов процедуры заполнения данных
// Настраиваем видимость элементов динамически
Элементы.ГруппаДополнительно.Видимость = ПравоДоступа("Изменение", Метаданные.Справочники.ВашСправочник);
КонецПроцедуры
// Клиентский обработчик открытия - финальная настройка UI
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Устанавливаем фокус на первое поле
ТекущийЭлемент = Элементы.Наименование;
КонецПроцедуры
// Обработчик изменения поля - серверный вызов для логики
&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
// Асинхронный вызов сервера для обновления зависимых полей
ПодключитьОбработчикОжидания("ОбновитьЗависимыеПоля", 0.1, Истина);
КонецПроцедуры
&НаСервере
Процедура ОбновитьЗависимыеПоля()
// Пример расчета зависимого реквизита
Объект.Сумма = Объект.Количество * Объект.Цена;
КонецПроцедуры
// Команда сохранения
&НаКлиенте
Процедура Сохранить(Команда)
Если Не Записать() Тогда
Возврат;
КонецЕсли;
Закрыть();
КонецПроцедуры
// Процедура заполнения данных (пример запроса)
&НаСервере
Процедура ЗаполнитьСписокНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Справочник.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВашСправочник КАК Справочник";
СписокЗначений = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); // Заполняем реквизит формы [web:13]
КонецПроцедуры
```
Этот код демонстрирует стандартный шаблон: серверная инициализация, клиентские события с вызовами сервера.[1][7][6]
Цитаты:
[1] Управляемые формы 1С: что это и как их использовать https://optimalgroup.ru/blog/upravlyaemye-formy-1s/
[2] Управляемые формы в 1С: что это и как использовать в разработке https://handy-soft.ru/blog/1s-form/
[3] Управляемые формы 1С: что это и как их использовать https://practicum.yandex.ru/blog/upravlyaemye-formy-1c/
[4] Редактор управляемых форм в 1С https://cors.su/eto-interesno/redaktor-upravlyaemyh-form-v-1s/
[5] Пошаговое руководство по созданию форм в 1С https://tobiz.net/support/kak-sozdat-formu-v-1s-poshagovoe-rukovodstvo/
[6] 1С Управляемые Формы. Программное создание ... https://wiki.programstore.ru/1s-upravlyaemye-formy-programmnoe-sozdanie-rekvizitov-komand-elementov/
[7] Параметры формы - Ваш петербургский программист 1С https://master1c8.ru/platforma-1s-predpriyatie-8/rukovodstvo-razrabottchika/glava-7-form/2599/
[8] salexdv/bsl_console: Консоль кода для 1С 8.3 ( ... https://github.com/salexdv/bsl_console
[9] Создание элементов формы в 1С УТ, Рознице https://www.koderline.ru/expert/instruktsii/article-programmnoe-sozdanie-upravlyaemoy-formy/
[10] Управляемые формы в системе 1C:Предприятие https://www.koderline.ru/expert/narabotki/article-upravlyaemye-formy-v-sisteme-1c-predpriyatie/
[11] Что такое управляемые формы https://tasks.enter-it.ru/knowledge-base/article/chto-takoe-upravlyaemye-formy
[12] Примеры программирования в 1С 8 https://center-comptech.ru/articles/st-110214-19.html
[13] Как программно добавлять элементы на управляемую ... https://1c.alexcode.ru/kak-programmno-dobavlyat-elementy-na-upravlyaemuyu-formu-v-1s-8-3/
[14] Управляемые формы 1С: что это, преимущества и ... https://it-1c.expert/blog/chto-takoe-upravlyaemye-formy-1s-v-chem-ikh-preimushchestva/
[15] Вызов шаблона в управляемой форме - FastCode 1С https://fastcode.im/Templates/23/vyzov-shablona-v-upravlyaemoj-forme
[16] Редактор обычных форм в 1С https://cors.su/eto-interesno/redaktor-obychnyh-form-v-1s/
[17] Управляемые формы 1С - Проекты, задачи http://1cmanager.ru/projects/all/wiki
[18] Доработка управляемых форм на примере типовой УТ 11 https://xn----1-bedvffifm4g.xn--p1ai/news/2017-11-24-forms-customization-by-using-extensions/
[19] Открытие форм :: Система стандартов и методик ... https://its.1c.ru/db/content/v8std/src/1%C2%A0200/700/i8100404.htm