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

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

Tamchik

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


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

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

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

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

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

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

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

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

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

Все равно выдает ошибку и поле ПроцентНаценки все равно доступно для редактирования
 
ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ПроцентНаценки.Доступность = Ложь; ?
 
ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ПроцентНаценки.РедактированиеТекста = Ложь; Может просто редактирование текста попробовать отрубить?
Может у вас условие не проходит?
 
дак может всетаки видимость у колонки нужно поменять, а не у реквизита?)
Попробуйте: ЭлементыФормы.СправочникСписок.Колонка.имяКолонки.Видимость=Ложь;
 
А я думал реквизит надо заблокировать=)
 
Ну доступность). Разницы в синтаксе - минимум). А на отдельную ячейку таблицы помоему накладывать ограничения доступности нельзя ( по крайней мере как на элементы формы) .

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

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


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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab