Регистр сведений в интерфейсе приложения
Во время работы приложения «1С:Шина» автоматически генерирует все команды и формы, которые требуются для работы с записями регистра. Однако они могут не подходить вам в каких-то сложных или особенных случаях. Тогда вы можете создать в проекте собственные формы и задать собственные представления команд.
Для этого используйте группу свойств регистра — Интерфейс.
ВидЭлемента: РегистрСведений
Имя: КурсыВалют
Id: e571296e-602d-478b-a51a-fdfa1c1701be
ОбластьВидимости: ВПроекте
Периодичность: День
КонтрольДоступа:
ПоУмолчанию: РазрешенияВычисляются
Измерения:
-
Имя: Валюта
Id: 6bfdd2a9-53bf-40be-a84b-e849e23cd887
Тип: Валюты.Ссылка?
Ресурсы:
-
Имя: Курс
Id: 734935b9-5911-4087-b29d-409bebcf4943
Тип: Число
ДлинаЦелойЧасти: 10
ДлинаДробнойЧасти: 4
МинимальноеЗначение: 0
Интерфейс:
Объект:
Форма: КурсыВалютФормаОбъекта
Список:
Форма: КурсыВалютФормаСписка
Добавление команд в автоматический интерфейс
«1С:Шина» добавляет в автоматический интерфейс приложения команды открытия списка регистра и команду создания записи регистра (например, для регистра КурсыВалют):
- КурсыВалют.ОткрытьСписок
- КурсыВалют.СоздатьОбъект
Если вы не хотите, чтобы пользователь мог самостоятельно работать с данными регистра (например, это служебный регистр, который вы используете из встроенного языка в определенные моменты работы приложения), то вы можете отключить добавление этих команд в автоматический интерфейс. Для этого в проекте используйте свойство регистра ВключатьВАвтоИнтерфейс.
Представление автоматически добавленных команд
Команды, которые «1С:Шина» автоматически добавляет в интерфейс приложения, в качестве своего представления используют имя регистра в проекте. Например, для регистра КурсыВалют в интерфейсе приложения будет две команды:
- КурсыВалют — это команда перехода к списку записей регистра
- КурсыВалют — это команда открытия формы новой записи регистра
Это стандартное поведение «1С:Шины», но оно, как вы видите, не очень удачное. Команду открытия формы новой записи регистра хочется назвать в единственном числе — КурсВалюты.
Другой пример, когда для автоматически добавленной команды хочется иметь другое представление — это когда название регистра в приложении является самостоятельным термином. Например, в проекте есть регистр ЕдиницыИзмерения, но в приложении он должен называться Классификатор единиц измерения.
В этих случаях вы можете в проекте задать свойства регистра Интерфейс/Список/Представление и Интерфейс/Объект/Представление. Представление списка «1С:Шина» будет использовать в качестве представления команды <ИмяРегистра>.ОткрытьСписок, а представление объекта — в качестве представления команды <ИмяРегистра>.СоздатьОбъект.
Формы регистра
Во время работы приложения «1С:Шина» автоматически сгенерирует формы для работы с записями регистра: форму записи и форму списка записей. Однако эти формы могут быть не всегда удобны. Кроме того, если вы хотите реализовать какую-то собственную логику работы формы записи или формы списка записей, то в работу форм, сгенерированных автоматически, вы вмешаться не можете.
Поэтому, если автоматические формы вас не устраивают или если вам нужна собственная логика их работы, вы можете создать нужные вам формы в проекте, а затем указать, что регистр должен использовать именно эти формы. Для этого используйте свойства регистра Интерфейс/Объект/Форма (форма записи) и Интерфейс/Список/Форма (форма списка записей).
Кроме того, те же автоматические формы объекта и списка можно создать не через среду разработки, а через встроенный язык соответствующими методами:
- СоздатьФормуОбъекта
Сигнатура: СоздатьФормуОбъекта(<Ключ: {ИмяРегистраСведений}.КлючЗаписи? = Неопределено>): ФормаОбъекта
Например:Покупатели.СоздатьФормуОбъекта().Открыть()
Создает форму объекта регистра сведений. Если регистру сведений назначена форма объекта, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа
Параметр<ИмяРегистраСведений>.АвтоматическаяФормаОбъекта
.Ключ
определяет, какой объект будет редактироваться в форме. Если в качестве значения ключа переданоНеопределено
, то будет открыта форма нового объекта. Опциональный- СоздатьФормуСписка
Сигнатура: СоздатьФормуСписка(): ФормаСписка
Например:Покупатели.СоздатьФормуСписка().Открыть()
Создает форму списка регистра сведений. Если регистру сведений назначена форма списка, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа
<ИмяРегистраСведений>.АвтоматическаяФормаСписка
.