Можно ли реквизиту формы элемента справочника задать тип Перечисление?
1С 8.3, УПП 1.3 (обычное приложение).
У меня в справочнике "Номенклатура" форма элемента имеет реквизит, который может содержать три строковых значения: A, B и C.
Хочу сделать, чтобы пользователь из выпадающего списка выбирал одно из этих значений.
Можно ли, не создавая отдельного справочника для хранения A, B и C, просто задать реквизиту тип перечисление (как enum в Python), непосредственно указав все возможные значения?
Почему, когда я в форме элемента справочника в поле выбора выбираю значение, затем нажимаю OK, а затем заново открываю форму элемента, то поле выбора пустое? Почему выбранное значение не сохраняется?
Я же вам специально пример сделал с выводом выбранного пользователем значения, что бы не возникали подобные вопросы.
Если в справочнике в реквизит данные не записывается, то:
1) изменение не произошло
2) были изменения других реквизитов, которые вызвали очистку тут
3) очистка произошла в обработчиках формы Перед/При записи
4) очистка произошла в обработчиках объекта Перед/При записи
Ставьте точки останова и в отладчике смотрите, когда значение поля очищается.
И убедитесь, что тип значения реквизита и типы значений, которые вы размещаете в список выбора идентичны!!!
Дмитрий Кинаш, выяснил, что запись в реквизит, связанный с полем выбора, происходит. Дело в другом. При открытии формы элемента справочника в поле выбора не отображается значение реквизита. При этом, в поле ввода значение соответствующего ему реквизита отображается. Как мне сделать, чтобы и в поле выбора отображалось сохраненное значение реквизита?
Если вы пытаетесь записать реквизит формы с типом Строка например "A" в реквизит номенклатуры с типом ПеречислениеСсылка.МоеЧудесноеПеречислениеДляЗапутывания то у вас ничего не получится
При несовпадении типов (строка и перечисление) в реквизит запишется значение по умолчанию (пустая ссылка для перечисления)
Dem0lisher, запись в реквизит справочника происходит нормально.
Проблема в другом – не отображается значение реквизита в поле выбора после открытия формы элемента справочника.
Код следующий:
Если тип в справочнике строка и на форме реквизит связан полем "ПутьКДанным" тогда и при открытии он будет заполнятся сам без дополнительных строк кода.
А вот список выбора - да, нужно задавать.
Либо при открытии, либо в свойствах элемента формы, как вам выше коллега показал
Этот код заполняет только список выбора.
А выбирать кто будет?
Открываю форму элемента, выбираю в поле выбора какое-то значение, жму OK. Заново открываю форму этого же элемента, и, поле выбора пустое. При этом программное обращение к реквизиту справочника напрямую показывает, что выбранное значение сохранилось.
Еще раз:
1. Тип реквизита в справочнике номенклатуры какой?
2. Тип реквизита на форме "Строка", если не путаю?
Тип реквизита справочника – Строка, длина 50.
В свойствах поля выбора нельзя выбрать тип непосредственно. Оно и не нужно, так как в поле Данные назначается нужный реквизит справочника с известным типом. См. скрин выше.