Документ в интерфейсе приложения
Во время работы приложения автоматически генерирует все команды и формы, которые требуются для работы с объектами Документа. Однако они могут не подходить вам в каких-то сложных или особенных случаях. Тогда вы можете создать в проекте собственные формы и задать собственные представления команд.
Для этого используйте группу свойств Документа — Интерфейс.
Добавление команд в автоматический интерфейс
добавляет в автоматический интерфейс приложения команды открытия списка объектов Документа и команду создания объекта Документа (например, для документа Накладная):
- Накладная.ОткрытьСписок
- Накладная.СоздатьОбъект
Если вы не хотите, чтобы пользователь мог самостоятельно работать с данными Документа (например, это служебный Документ, который вы открываете из встроенного языка в определенные моменты работы приложения), то вы можете отключить добавление этих команд в автоматический интерфейс. Для этого в проекте используйте свойство Документа ВключатьВАвтоИнтерфейс.
Представление автоматически добавленных команд
Команды, которые автоматически добавляет в интерфейс приложения, в качестве своего представления используют имя документа в проекте. Например, для документа Накладная в интерфейсе приложения будет две команды:
- Накладная — это команда перехода к списку объектов документа
- Накладная — это команда открытия формы нового объекта документа
Это стандартное поведение , но оно, как вы видите, не очень удачное. Команду открытия списка документов хочется назвать в множественном числе — Накладные.
Другой пример, когда для автоматически добавленной команды хочется иметь другое представление — это когда название документа в приложении является самостоятельным термином. Например, в проекте есть документ Накладная, но в приложении он должен называться Расходная накладная.
В этих случаях вы можете в проекте задать свойства документа Интерфейс.Список.Представление и Интерфейс.Объект.Представление. Представление списка будет использовать в качестве представления команды имя-документа.ОткрытьСписок(), а представление объекта — в качестве представления команды имя-документа.СоздатьОбъект().
Подробнее см. Локализация
Формы документа
Во время работы приложения автоматически сгенерирует формы для работы с объектами Документа: форму объекта и форму списка объектов. Однако эти формы могут быть не всегда удобны. Кроме того, если вы хотите реализовать какую-то собственную логику работы формы объекта или формы списка объектов, то в работу форм, сгенерированных автоматически, вы вмешаться не можете.
Поэтому, если автоматические формы вас не устраивают или если вам нужна собственная логика их работы, вы можете создать нужные вам формы в проекте, а затем указать, что Документ должен использовать именно эти формы. Для этого используйте свойства Документа Интерфейс.Объект.Форма и Интерфейс.Список.Форма.
Кроме того, те же автоматические формы объекта и списка можно создать не через среду разработки, а через встроенный язык соответствующими методами:
- СоздатьФормуОбъекта
Сигнатура: СоздатьФормуОбъекта(Ключ: {ИмяДокумента}.Ссылка? = Неопределено): ФормаОбъекта<ИмяДокумента.Объект, неизвестно>
Например:Накладная.СоздатьФормуОбъекта()
Создает форму объекта документа. Если документу назначена форма объекта, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа
<ИмяДокумента>.АвтоматическаяФормаОбъекта
.Возвращает нетипизированную форму объекта.
ПараметрКлюч
определяет, какой объект будет редактироваться в форме. Если в качестве значения ключа переданоНеопределено
, то будет открыта форма нового объекта. Опциональный- СоздатьФормуСписка
Сигнатура: СоздатьФормуСписка(): ФормаСписка<неизвестно>
Например:Накладная.СоздатьФормуСписка()
Создает форму списка документа. Если документу назначена форма списка, то будет создана форма именно этого типа. Иначе будет создана автоматическая форма типа
Возвращает нетипизированную форму списка.<ИмяДокумента>.АвтоматическаяФормаСписка
.