Добавляем на форму рамку группы и на нее размещаем переключатели через пункт меню:
Форма -> Вставить элемент управления… и в открывшемся окне выбираем переключатели:
В правой части окна добавляем значение переключателя столько, сколько нам необходимо, ставим галочку на «Акции – первый в группе», для того чтоб данный переключатель выбирался автоматически.
После того как добавим переключатели выберем тип данных для первого значения «Акции», в нашем случае присваиваем значение «ТипЦБ»:
А само значение переключателя вводится в Данные -> Выбираемое значение. Для Акции это 0, Облигации – 1, Векселя - 2 и Паи – 3. Но до введения этих данных необходимо проверить порядок.
Если переключатели идут не по порядку, то не будет осуществлено переключение, то есть не сможем выбрать значение облигации. Для того чтобы включить эту возможность, необходимо выбрать меню Форма -> Настройка порядка обхода и все переключатели разместить по порядку.
Проверьте значение выбираемого значения переключателей после исправления порядка.
Остается только в событии переключателя «акции» «При изменении» написать код программы:
Теперь при выборе переключателя «Облигации» дается возможность редактировать значение колонки НКД:
Казалось бы, что может быть проще - пишем через точку идентификатор реквизита и присваиваем.
Что-то вроде вот этого:
Но бывают случаи, когда идентификатор реквизита формируется динамически и какой именно реквизит сейчас надо обработать неизвестно. Что тогда делать?
В 1С 7.7 существовали такие методы объектов, как Справочник.УстановитьАтрибут() и Справочник.ПолучитьАтрибут(), которые позволяли установить значение атрибута объекта по его идентификатору.
А в 1С 8.1 таких методов нет! Что же делать?!
Можно, конечно, написать кучу условий, что-то типа:
Выглядит совершенно прямолинейно, но работать будет. Вот только если реквизитов будет с полсотни - замучаетесь условия писать.
А на самом деле все просто. Можно использовать вот такую конструкцию:
где : ИмяРеквизита - строка идентификатора реквизита справочника (например, "Наименование")
И вся наша куча условий сводится всего к одной строке кода....
Автор: Николай Николаев