Документ в интерфейсе приложения

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

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

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

добавляет в автоматический интерфейс приложения команды открытия списка объектов Документа и команду создания объекта Документа (например, для документа Накладная):

  • Накладная.ОткрытьСписок
  • Накладная.СоздатьОбъект

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

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

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

  • Накладная — это команда перехода к списку объектов документа
  • Накладная — это команда открытия формы нового объекта документа

Это стандартное поведение , но оно, как вы видите, не очень удачное. Команду открытия списка документов хочется назвать в множественном числе — Накладные.

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

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

Совет: Интерфейс.Список.Представление и Интерфейс.Объект.Представление поддерживают локализацию. Чтобы задать идентификатор локализованной строки, необходимо вначале использовать символ «$», например: $МояПодсистема::МоиЛокализованныеСтроки.Строка1.

Подробнее см. Локализация

Формы документа

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

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

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

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

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

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

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

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

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

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

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

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

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