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

План обмена в интерфейсе приложения

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

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

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

«1С:Шина» добавляет в автоматический интерфейс приложения команды открытия списка плана обмена и команду создания элемента (узла) плана обмена. Например, для плана обмена Склады:

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

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

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

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

  • Склады — это команда перехода к списку элементов справочника.
  • Склады — это команда открытия формы нового элемента справочника.

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

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

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

Формы плана обмена

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

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

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

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

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

Например:

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

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

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

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

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

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

Например:

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

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

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