Вопрос по форме справочника

  • Автор темы Tamchik
  • Дата начала
T

Tamchik

Привет Всем!!
Помогите пожалуйста разобраться.
Как програмно реализовать условие. Дан справочник "Номенклатура" с реквизитами в форме справочника "Тип расчета"(связан с Перечислением Типы Расчета со значениями Задается и Рассчитывается), "ЦенаПродажи", "ПроцентНаценки". Надо сделать так чтобы при выборе в реквизите справочника ТипРасчета значения "Задается" поле ввода реквизита справочника "ПроцентНаценки" становилось недоступным.
 
V

vbs

Если ТипРасчета = Перечисление.ТипыРасчета.Задается Тогда
Форма.ПроцентНаценки.Доступность(0)
КонецЕсли
 
T

Tamchik

Да в том то и дело что ввожу код


Процедура СправочникСписокТипРасчетаПриИзменении(Элемент)
// Вставить содержимое обработчика
РеквизитФормыСправочника = ЭлементыФормы.СправочникСписок.ТекущиеДанные;
Если РеквизитФормыСправочника.ТипРасчета = Перечисления.ТипРасчета.Задается Тогда
РеквизитФормыСправочника.ПроцентНаценки.Доступность(0)
КонецЕсли
КонецПроцедуры

А когда открываю справочник в режиме отладки выдает ошибку:

Значение не является значением объектного типа (Доступность)

:)
 
V

vbs

Ну так написала бы, что в 8ке работаешь, я для 7.7 пример написал :)
 
Д

Дайнеко

Эк тебя на семерке заклинило (как и меня). Надо:
РеквизитФормыСправочника.ПроцентНаценки.Доступность = Ложь;
 
T

Tamchik

Ну так написала бы, что в 8ке работаешь, я для 7.7 пример написал :whoareyou?:

Да и на том спаибо)) буду разбираться

Добавлено:
Эк тебя на семерке заклинило (как и меня). Надо:
РеквизитФормыСправочника.ПроцентНаценки.Доступность = Ложь;

да и с этим кодом ошибку выдает "Значение не является значением объектного типа (Доступность)"
 
E

evgenyatam

РеквизитФормыСправочника.ПроцентНаценки.Доступность = Ложь;
неверно.
Доступность(параметр)
верно только для семерки
для восьмерки : ЭлементыФормы.ПроцентНаценки.Доступность = Ложь;
а точнее в вашем случае ЭлементыФормы.СправочникСписок.ПроцентНаценки.Доступность = Ложь;
собственно ТекущиеДанные возвращает ссылку на элемент справочника, а он не визуальный.
 
T

Tamchik

неверно.

верно только для семерки
для восьмерки : ЭлементыФормы.ПроцентНаценки.Доступность = Ложь;
а точнее в вашем случае ЭлементыФормы.СправочникСписок.ПроцентНаценки.Доступность = Ложь;
собственно ТекущиеДанные возвращает ссылку на элемент справочника, а он не визуальный.

Спасибо канешь за подсказки, но что то не выходит
Процедура СправочникСписокТипРасчетаПриИзменении(Элемент)
// Вставить содержимое обработчика
РеквизитФормыСправочника = ЭлементыФормы.СправочникСписок.ТекущиеДанные;
Если РеквизитФормыСправочника.ТипРасчета = Перечисления.ТипРасчета.Задается Тогда
ЭлементыФормы.СправочникСписок.ПроцентНаценки.Доступность = Ложь;
КонецЕсли
КонецПроцедуры

Все равно выдает ошибку и поле ПроцентНаценки все равно доступно для редактирования
 
U

unknown181538

ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ПроцентНаценки.Доступность = Ложь; ?
 
W

WildAnther

ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ПроцентНаценки.РедактированиеТекста = Ложь; Может просто редактирование текста попробовать отрубить?
Может у вас условие не проходит?
 
T

tanat

дак может всетаки видимость у колонки нужно поменять, а не у реквизита?)
Попробуйте: ЭлементыФормы.СправочникСписок.Колонка.имяКолонки.Видимость=Ложь;
 
W

WildAnther

А я думал реквизит надо заблокировать=)
 
T

tanat

Ну доступность). Разницы в синтаксе - минимум). А на отдельную ячейку таблицы помоему накладывать ограничения доступности нельзя ( по крайней мере как на элементы формы) .

Вообще автор виноват сам: ввел людёф в заблуждение, ибо не понимает разницу между формой элемента и формой справочника.
Для формы справочника можно изменить доступность у всей колонки но никак не у отдельной ячейки таблицы, а вот в форме элемента всеми реквизитами нетабличных частей играйте как можете. Вроде нигде ничего не напутал).
 
T

Tamchik

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

Спасибо большое))) а то я сижу с этой ячейкой и думаю почему ничего не получается, а тут вся колонка , теперь буду знать))


Еще раз всем БОЛЬШОЕ СПАСИБО))
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!