База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать управляемую форму в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
14 октября 2026 в 19:23 #38846
как создать свою первую управляемую форму
-
14 октября 2026 в 19:23 #38847
## Как создать первую управляемую форму в 1С
Ниже самый простой вариант: создадим справочник Товары и его управляемую форму элемента.
### 1. Включите управляемое приложение
В конфигураторе откройте:
Конфигурация → Открыть конфигурацию
Затем выберите корень конфигурации и проверьте свойство:
Основной режим запуска → Управляемое приложение
Если планируется запускать конфигурацию только в управляемом режиме, можно включить:
— Использовать управляемые формы
— при необходимости отключить использование обычных формТочный набор свойств зависит от версии платформы 1С.
—
## 2. Создайте справочник
В дереве конфигурации:
1. Нажмите правой кнопкой на ветке Справочники.
2. Выберите Добавить.
3. Назовите справочник:1С (Код)1Товары4. Откройте свойства справочника.
5. Перейдите на вкладку Данные.
6. Добавьте реквизиты:| Имя | Тип |
|—|—|
| Артикул | Строка, например 20 символов |
| Цена | Число, например 15.2 |
| Описание | Строка неограниченной длины |В справочнике автоматически есть стандартный реквизит Наименование.
—
## 3. Создайте управляемую форму элемента
В свойствах справочника Товары перейдите на вкладку Формы.
Нажмите кнопку добавления формы или кнопку с изображением лупы.
В конструкторе выберите:
1С (Код)1Основная форма элементаОбычно 1С предложит создать форму автоматически. Согласитесь с настройками и нажмите Готово.
В редакторе формы будут созданы:
— реквизит формы
Объект;
— элементы формы;
— поля дляНаименование,Артикул,Цена,Описание;
— стандартные команды записи и закрытия.Нажмите Записать и закрыть.
Управляемая форма элемента справочника создана.
—
## 4. Создайте форму списка
Теперь создадим форму, в которой будут отображаться все товары.
В свойствах справочника Товары снова откройте вкладку Формы.
Создайте:
1С (Код)1Основная форма спискаВ большинстве случаев конструктор автоматически создаст:
— реквизит
Списоктипа Динамический список;
— табличное полеСписок;
— стандартные команды добавления, изменения и удаления элементов.После создания откройте форму списка в редакторе.
Слева находится дерево элементов формы, справа доступны:
— реквизиты формы;
— команды;
— параметры;
— свойства выбранного элемента.Выделите табличное поле
Списоки проверьте свойство:1С (Код)1ПутьКДаннымОно должно ссылаться на реквизит формы:
1С (Код)1СписокЕсли список создан конструктором, это уже будет настроено автоматически.
—
## 5. Добавьте справочник в подсистему
Чтобы форма появилась в пользовательском интерфейсе:
1. Создайте подсистему, например:
1С (Код)1Продажи2. Откройте состав подсистемы.
3. Добавьте в нее справочник Товары.
4. В свойствах подсистемы включите:1С (Код)1Включать в командный интерфейс5. Откройте командный интерфейс подсистемы.
6. Найдите команду открытия справочника Товары.
7. Убедитесь, что для нее включена видимость в панели навигации.После этого справочник будет доступен пользователю через раздел Продажи.
—
## 6. Обновите конфигурацию базы данных
В конфигураторе нажмите:
1С (Код)1Конфигурация → Обновить конфигурацию базы данныхМожно использовать клавишу F7.
Затем запустите 1С в режиме предприятия:
1С (Код)1Отладка → Начать отладкуили клавишу F5.
Откройте раздел Продажи, затем справочник Товары.
Нажмите Создать. Откроется созданная управляемая форма элемента.
—
# Как устроена управляемая форма
Управляемая форма состоит из нескольких частей.
## Реквизиты формы
Реквизит формы хранит данные, с которыми работает форма.
Например:
1С (Код)1ОбъектДля формы элемента это обычно объект справочника:
1С (Код)1СправочникОбъект.ТоварыДля формы списка это обычно:
1С (Код)1ДинамическийСписок## Элементы формы
Элементы отображаются пользователю:
— поле ввода;
— поле даты;
— флажок;
— таблица;
— кнопка;
— группа;
— декорация;
— поле картинки.Например, реквизит
Ценасам по себе на форме не отображается. Для него должен быть создан элемент формы, связанный с этим реквизитом.У элемента формы свойство ПутьКДанным должно иметь значение:
1С (Код)1Объект.ЦенаДля наименования:
1С (Код)1Объект.НаименованиеДля артикула:
1С (Код)1Объект.Артикул—
# Как добавить поле вручную
Допустим, поле
Ценане появилось на форме.1. Откройте форму элемента справочника.
2. В дереве элементов выберите группу, куда нужно добавить поле.
3. Нажмите Добавить.
4. Выберите тип элемента:1С (Код)1Поле формы5. В свойстве ПутьКДанным укажите:
1С (Код)1Объект.Цена6. В свойстве Вид можно выбрать:
1С (Код)1Поле ввода7. В свойстве Заголовок укажите:
1С (Код)1ЦенаАналогично можно добавить поле для артикула:
1С (Код)1Объект.Артикул—
# Как добавить кнопку
Например, добавим кнопку, которая будет выводить сообщение.
## 1. Создайте команду
Откройте форму элемента справочника.
В правой части редактора перейдите на вкладку Команды.
Добавьте команду:
1С (Код)1ПоказатьСообщениеУкажите заголовок:
1С (Код)1Показать сообщениеПосле создания команды перетащите ее в дерево элементов формы, например в командную панель.
## 2. Создайте обработчик команды
У команды вызовите создание обработчика события Действие или Обработка команды.
Платформа создаст процедуру примерно такого вида:
1С (Код)123456&НаКлиентеПроцедура ПоказатьСообщение(Команда)Сообщить("Открыта форма товара");КонецПроцедурыВ управляемом приложении код формы обычно выполняется на клиенте или сервере. Для простой команды сообщение можно вывести на клиенте.
—
# Пример проверки цены
Можно добавить проверку, чтобы цена не была отрицательной.
У поля
Ценасоздайте обработчик события ОкончаниеВводаТекста или проверку перед записью объекта.Для проверки перед записью формы можно использовать обработчик
ПередЗаписьюНаСервере:1С (Код)123456789&НаСервереПроцедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)Если ТекущийОбъект.Цена < 0 ТогдаСообщить("Цена не может быть отрицательной");Отказ = Истина;КонецЕсли;КонецПроцедурыВ некоторых версиях платформы и типах форм имя параметров обработчика может отличаться. Лучше создавать обработчик через палитру свойств формы, тогда 1С сама подставит правильную сигнатуру.
Более простой вариант для проверки непосредственно в обработчике изменения поля:
1С (Код)123456789&НаКлиентеПроцедура ЦенаИзменение(Элемент)Если Объект.Цена < 0 ТогдаОбъект.Цена = 0;Сообщить("Цена не может быть отрицательной");КонецЕсли;КонецПроцедурыОбработчик создается так:
1. Выберите поле
Ценав дереве формы.
2. Откройте палитру свойств.
3. Найдите событие Изменение.
4. Нажмите кнопку создания обработчика.—
# Как сделать форму документа с табличной частью
Для первого знакомства со справочником достаточно формы элемента. Но форма документа создается похожим образом.
Например, создайте документ ЗаказПокупателя.
У документа добавьте табличную часть:
1С (Код)1ТоварыВ табличной части создайте реквизиты:
| Имя | Тип |
|—|—|
| Номенклатура | СправочникСсылка.Товары |
| Количество | Число 10.3 |
| Цена | Число 15.2 |
| Сумма | Число 15.2 |Затем:
1. Откройте вкладку Формы документа.
2. Создайте Основную форму документа.
3. Конструктор добавит:
— поля реквизитов документа;
— таблицу табличной части;
— команды записи и проведения.
4. В форме появится табличное поле, связанное примерно с путем:1С (Код)1Объект.ТоварыЕсли табличная часть не добавилась автоматически:
1. Добавьте в форму элемент Таблица формы.
2. Укажите путь к данным:1С (Код)1Объект.Товары3. Согласитесь на автоматическое добавление полей табличной части.
—
# Главное отличие управляемой формы от обычной
В обычной форме разработчик работает непосредственно с элементами диалога.
В управляемой форме есть разделение:
— реквизиты формы хранят данные;
— элементы формы отображают данные;
— команды формы выполняют действия;
— код выполняется на клиенте или сервере;
— доступность, видимость и заголовки элементов можно изменять программно.Например, сделать поле цены недоступным:
1С (Код)123456&НаКлиентеПроцедура ПриОткрытии(Отказ)Элементы.Цена.Доступность = Ложь;КонецПроцедурыСкрыть поле:
1С (Код)123456&НаКлиентеПроцедура ПриОткрытии(Отказ)Элементы.Цена.Видимость = Ложь;КонецПроцедурыИзменить заголовок:
1С (Код)123456&НаКлиентеПроцедура ПриОткрытии(Отказ)Элементы.Цена.Заголовок = "Розничная цена";КонецПроцедурыВ новых версиях платформы событие открытия формы чаще создается с параметром
Отказ:1С (Код)1234&НаКлиентеПроцедура ПриОткрытии(Отказ)КонецПроцедуры—
# Минимальный порядок действий
Для первой формы достаточно выполнить следующие действия:
1. Создать справочник.
2. Добавить его реквизиты.
3. Создать основную форму элемента.
4. Создать основную форму списка.
5. Добавить справочник в подсистему.
6. Обновить конфигурацию базы данных.
7. Запустить 1С в режиме предприятия.
8. Открыть форму и создать первый элемент.Самый важный момент: для отображения реквизита на управляемой форме должен существовать элемент формы с правильно установленным свойством ПутьКДанным, например:
1С (Код)1Объект.Наименованиеили:
1С (Код)1Объект.Цена
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.