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