Доступность элемента в строке табличной части формы документа УФ
Доброго времени суток!
В форме Документа есть таблица часть Продукция с реквизитами:
Номенклатура
Спецификация
ТОперации (по умолчании доступность =ложь)
КолВо
выдает ошибку нет элемента доступность...
Как можно заблокировать элемент текущей строки ТОперации пока не выберут другой элемент Спецификацию этой же строки ?
В форме Документа есть таблица часть Продукция с реквизитами:
Номенклатура
Спецификация
ТОперации (по умолчании доступность =ложь)
КолВо
&НаКлиенте
Процедура ПродукцияСпецификацияПриИзменении(Элемент)
СтрокаТаблицы = Элементы.Продукция.ТекущиеДанные;
Если СтрокаТаблицы.Спецификация.Пустая() Тогда
СтрокаТаблицы.ТОперации.Доступность = Ложь;
Иначе
СтрокаТаблицы.ТОперации.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
Показатьвыдает ошибку нет элемента доступность...
Как можно заблокировать элемент текущей строки ТОперации пока не выберут другой элемент Спецификацию этой же строки ?
По теме из базы знаний
- Программное добавление кнопок копирования табличных частей во все документы с минимальными изменениями конфигурации (или вообще без изменения)
- Обзор полезных методов БСП 3.1.4
- Табличная часть как поле ввода
- Самые используемые методы БСП 3.1.9
- Показ кодов маркировки в документах 1С ERP/УТ: мини-доработка управляемых форм, чтобы облегчить себе жизнь
Найденные решения
(10) Можете через настройки условного оформления сделать или программно:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Ваш код
УстановитьУсловноеОформление();
//Ваш код
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПродукцияТОперации.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Продукция.Спецификация");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
КонецПроцедуры
ПоказатьПрикрепленные файлы:
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) Можете через настройки условного оформления сделать или программно:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Ваш код
УстановитьУсловноеОформление();
//Ваш код
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ПродукцияТОперации.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Продукция.Спецификация");
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.ТекстЗапрещеннойЯчейкиЦвет);
КонецПроцедуры
ПоказатьПрикрепленные файлы:
У текущих данных нет доступности.
Проставить доступность можно только по всей колонке в таблице целиком.
Если нужно выборочно доступность организовать - посмотрите "ПередНачаломИзменения".
И там если условия разрешения не выполняются - отменяйте. Можно с выводом сообщений.
Проставить доступность можно только по всей колонке в таблице целиком.
Если нужно выборочно доступность организовать - посмотрите "ПередНачаломИзменения".
И там если условия разрешения не выполняются - отменяйте. Можно с выводом сообщений.
удалил ТОперации (по умолчании доступность =ложь), добавил
и оставил код
- пока тогда такое решение..., пока вы не предложите лучшего !?
&НаКлиенте
Процедура ПродукцияНоменклатураПриИзменении(Элемент)
Элементы.ПродукцияТОперации.Доступность = Ложь;
КонецПроцедуры
и оставил код
&НаКлиенте
Процедура ПродукцияСпецификацияПриИзменении(Элемент)
СтрокаТаблицы = Элементы.Продукция.ТекущиеДанные;
Если СтрокаТаблицы.Спецификация.Пустая() Тогда
СтрокаТаблицы.ТОперации.Доступность = Ложь;
Иначе
СтрокаТаблицы.ТОперации.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
Показать- пока тогда такое решение..., пока вы не предложите лучшего !?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот