Перейти к основному содержимому

Регистр сведений в интерфейсе приложения

Во время работы приложения «1С:Исполнитель» автоматически генерирует все команды и формы, которые требуются для работы с записями регистра. Однако они могут не подходить вам в каких-то сложных или особенных случаях. Тогда вы можете создать в проекте собственные формы и задать собственные представления команд.

Для этого используйте группу свойств регистра — Интерфейс.

ВидЭлемента: РегистрСведений
Имя: КурсыВалют
Id: e571296e-602d-478b-a51a-fdfa1c1701be
ОбластьВидимости: ВПроекте
Периодичность: День
КонтрольДоступа:
Разрешения:
ПоУмолчанию: РазрешенияВычисляются
Измерения:
-
Имя: Валюта
Id: 6bfdd2a9-53bf-40be-a84b-e849e23cd887
Тип: Валюты.Ссылка?
Ресурсы:
-
Имя: Курс
Id: 734935b9-5911-4087-b29d-409bebcf4943
Тип: Число
ДлинаЦелойЧасти: 10
ДлинаДробнойЧасти: 4
МинимальноеЗначение: 0
Интерфейс:
Запись:
Форма: КурсыВалютФормаОбъекта
Список:
Форма: КурсыВалютФормаСписка

Добавление команд в автоматический интерфейс

  • КурсыВалют.ОткрытьСписок,
  • КурсыВалют.СоздатьЗапись.

Если вы не хотите, чтобы пользователь мог самостоятельно работать с данными регистра (например, это служебный регистр, который вы используете из встроенного языка в определенные моменты работы приложения), то вы можете отключить добавление этих команд в автоматический интерфейс. Для этого в проекте используйте свойство регистра ВключатьВАвтоИнтерфейс.

Представление автоматически добавленных команд

Команды, которые «1С:Исполнитель» автоматически добавляет в интерфейс приложения, в качестве своего представления используют имя регистра в проекте. Например, для регистра КурсыВалют в интерфейсе приложения будет две команды:

  • КурсыВалют — это команда перехода к списку записей регистра,
  • КурсыВалют — это команда открытия формы новой записи регистра.

Это стандартное поведение «Исполнителя», но оно, как вы видите, не очень удачное. Команду открытия формы новой записи регистра хочется назвать в единственном числе — КурсВалюты.

Другой пример, когда для автоматически добавленной команды хочется иметь другое представление — это когда название регистра в приложении является самостоятельным термином. Например, в проекте есть регистр ЕдиницыИзмерения, но в приложении он должен называться Классификатор единиц измерения.

В этих случаях вы можете в проекте задать свойства регистра Интерфейс/Список/Представление и Интерфейс/Запись/Представление. Представление списка «Исполнитель» будет использовать в качестве представления команды <ИмяРегистра>.ОткрытьСписок, а представление записи — в качестве представления команды <ИмяРегистра>.СоздатьЗапись.

Формы регистра

Во время работы приложения «Исполнитель» автоматически сгенерирует формы для работы с записями регистра: форму записи и форму списка записей. Однако эти формы могут быть не всегда удобны. Кроме того, если вы хотите реализовать какую-то собственную логику работы формы записи или формы списка записей, то в работу форм, сгенерированных автоматически, вы вмешаться не можете.

Поэтому, если автоматические формы вас не устраивают или если вам нужна собственная логика их работы, вы можете создать нужные вам формы в проекте, а затем указать, что регистр должен использовать именно эти формы. Для этого используйте свойства регистра Интерфейс/Запись/Форма (форма записи) и Интерфейс/Список/Форма (форма списка записей).

Кроме того, те же автоматические формы записи и списка можно создать не через среду разработки, а через встроенный язык соответствующими методами:

СоздатьФормуЗаписи

Сигнатура: СоздатьФормуЗаписи(<Ключ: {ИмяРегистраСведений}.КлючЗаписи? = Неопределено>): ФормаЗаписи<ИмяРегистраСведений.Запись, неизвестно>

Например:

Покупатели.СоздатьФормуЗаписи().Открыть()

Создает форму записи регистра сведений. Если регистру сведений назначена форма записи, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа <ИмяРегистраСведений>.АвтоматическаяФормаЗаписи.

Возвращает нетипизированную форму записи.

Параметр Ключ определяет, какая запись будет редактироваться в форме. Если в качестве значения ключа передано Неопределено, то будет открыта форма новой записи. Опциональный

СоздатьФормуСписка

Сигнатура: СоздатьФормуСписка(): ФормаСписка<неизвестно>

Например:

Покупатели.СоздатьФормуСписка().Открыть()

Создает форму списка регистра сведений. Если регистру сведений назначена форма списка, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа <ИмяРегистраСведений>.АвтоматическаяФормаСписка.

Возвращает нетипизированную форму списка.