Если используется Форма.ТолькоПросмотр(0) а потом Форма.ТипРасхЦен.Доступность(0) то происходит косяк:
у реквизита, как и должно быть, не работает кнопка выбора, НО
поле становится белым и туда можно написать что-либо руками, несмотря на то, что поле не текстовое, а справочник или перечисление! После чего значение восстанавливается, но выполняется код в формуле поля, как будто его перевыбрали. Причем через Formex эффект такой же. Хелп!
Форма.ТолькоПросмотр(<?>)
Синтаксис:
Форма.ТолькоПросмотр(<Режим>)
Назначение:
Установка режима редактирования формы.
Возвращает:
Текущее числовое значение режима редактирования формы (на момент до исполнения метода).
Параметры:
<Режим> -: 0 - разрешено редактирование полей формы, 1 - запрещено (необязателен, по умолчанию - 0).
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
Редактирование(<?>)
Синтаксис:
Редактирование(<Флаг>)
Назначение:
Определяет возможность редактирования значения непосредственно в элементе диалога для полей ввода типа Число, Строка, Дата, Счет.
Параметры:
<Флаг> - число: 1 - значение элемента редактируется как обычно ; 0 - значение не редактируется, но может выбираться кнопкой выбора. Отличие от метода ''Доступность '' в том, что ''Доступность'' отключает и кнопку выбора.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
Итак, документ открывается в режиме ТолькоПросмотр(1). Реквизиты недоступны. Все норм. Причем выполняется это в глобальном модуле с передачей туда контекста, т.к это выполняется для целого ряда документов по определенному признаку. Менять я это не буду.
Но мне нужно в таком режиме сделать доступным один реквизит. Причем он не является напрямую реквизитом документа, т.е с данными непосредственно не связан. Просто реквизит формы. Поскольку сразу Форма.МойРеквизит.Доступность(1) не катит, сначала придется открыть всю форму
Форма.ТолькоПросмотр(0)
Потом открыть мой реквизит
Форма.МойРеквизит.Доступность(1)
и с этим все четко работает и вопросов нет. А если закрыть другие реквизиты (ведь форма по идее должна быть недоступной) то получается вышеозначенный глюк, когда закрытый реквизит можно забить текстом да еще и выполнить его формулу.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс