Для этого можно присвоить реквизиту формы значение пустой ссылки нужного типа. Например, для поля ввода, связанного с реквизитом, который может принимать значение ссылки на справочники физических и юридических лиц, назначение нужного типа может выглядеть следующим образом:
Однако если в этом случае в поле ввода нажать кнопку очистки, снова будет предложен выбор типа значения из двух возможных типов. Избежать этого можно двумя способами:
Во-первых, можно запретить выбор типа в поле ввода (свойство ВыбиратьТип ). В этом случае нажатие на кнопку очистки не будет приводить к сбросу типа в поле ввода.
Во-вторых, можно использовать свойство поля ввода ОграничениеТипа , задающее возможные типы данных, которые могут быть введены в поле ввода, и приводить значение соответствующего реквизита к нужному типу:
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования (Linus Torvalds).
Страницы
пятница, 3 января 2014 г.
Назначить конкретный тип элементу формы, который связан с реквизитом формы, имеющим составной тип
Для этого можно присвоить реквизиту формы значение пустой ссылки нужного типа. Одного из тех типов, которые входят в составной тип.
Например, для поля ввода, связанного с реквизитом, который может принимать значение ссылки на справочники физических и юридических лиц, назначение нужного типа может выглядеть следующим образом:
Если запретить выбор типа в поле ввода (свойство ВыбиратьТип), то реквизиту ОтветЛицо будет назначен тип ссылки на справочник ФизическиеЛица, и для выбора будут предлагаться значения только этого справочника.
Также можно использовать свойство поля ввода ОграничениеТипа, задающее возможные типы данных, которые могут быть введены в поле ввода, и приводить значение соответствующего реквизита к нужному типу:
Просматривая Волшебный форум, наткнулся на тему, в которой коллега интересовался возможностью отключения выбора типа в элементе табличной части справочника при программной установке значения в реквизите составного типа. Приведу часть своего кода, всю тему можно посмотреть здесь.
После решил добавить решению универсальности и реализовать программное формирование контекстного меню для табличной части справочника с составным реквизитом с заранее неизвестным перечнем типов.
Создаем справочник, имя произвольное. Добавляем табличную часть ТЧ, реквизиты Имя, тип Строка, Значение, тип составной. Для своего примера я установил Строка, Дата, Число, СправочникСсылка. В форме элемента добавляем реквизит ФормаТипы, тип ОписаниеТипов.
Остальное за нас сделает код:
Теперь запускаем конфигурацию и добавляем элемент нашего справочника. При использовании стандартной команды формы Добавить перед выбором значения мы будем выбирать его тип. При добавлении через программно сформированные пункты контекстного меню значение будет приводиться к необходимому типу.