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

Во время работы приложения «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С:Шина» автоматически сгенерирует формы для работы с записями регистра: форму записи и форму списка записей. Однако эти формы могут быть не всегда удобны. Кроме того, если вы хотите реализовать какую-то собственную логику работы формы записи или формы списка записей, то в работу форм, сгенерированных автоматически, вы вмешаться не можете.

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

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

СоздатьФормуОбъекта

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

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

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

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

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

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

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