Изменение цвета фона Поля ввода в режиме ТолькоПросмотр
Добрый день,
есть проблема с изменением свойства ЦветФона у Поля ввода.
Поле в режиме ТолькоПросмотр. Если поле редактируемое, данная проблема не возникает.
Поле должно копироваться (поэтому Доступность = false - не вариант).
Есть реквизит, который выводится в форме. Фон поля реквизита хочу сделать серым:
Код не устанавливает цвет, хотя значение свойства устанавливается:
Установка свойства через настройку формы также работает, но цвет в итоге не меняется (см. рис)
Поле должно быть серым.
есть проблема с изменением свойства ЦветФона у Поля ввода.
Поле в режиме ТолькоПросмотр. Если поле редактируемое, данная проблема не возникает.
Поле должно копироваться (поэтому Доступность = false - не вариант).
Есть реквизит, который выводится в форме. Фон поля реквизита хочу сделать серым:
Код не устанавливает цвет, хотя значение свойства устанавливается:
thisform.Элементы.ext_internalNum.ЦветФона = Новый Цвет(244, 244, 244);
Установка свойства через настройку формы также работает, но цвет в итоге не меняется (см. рис)
Поле должно быть серым.
Прикрепленные файлы:

По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
При открытии формы, задаём цвет.
А в событии ПередЗаписью - возвращаем изменения, как было раньше.
(включать свойство Доступность или ТолькоПросмотр нельзя т.к. цвет не будет работать.
При открытии формы, задаём цвет.
А в событии ПередЗаписью - возвращаем изменения, как было раньше.
(включать свойство Доступность или ТолькоПросмотр нельзя т.к. цвет не будет работать.
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
Если ЗначениеЗаполнено(Объект.ВидНоменклатуры) Тогда
Элементы.ВидНоменклатуры.ЦветФона = Новый Цвет(255, 0, 0);
//Элементы.ВидНоменклатуры.Доступность = Ложь;
//Элементы.ВидНоменклатуры.ТолькоПросмотр = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Если ЗначениеЗаполнено(Объект.Ссылка.ВидНоменклатуры) Тогда
Объект.ВидНоменклатуры = Объект.Ссылка.ВидНоменклатуры;
//Объект.ВидНоменклатуры // новое значение
//Объект.Ссылка.ВидНоменклатуры // старое значение
КонецЕсли;
КонецПроцедуры
Показать
(14) Через условное оформление работает:
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Доступно"); // имя поля
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено; // либо задаем свой
ЭлементОтбора.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.ЦветМорскойВолны);
//ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
//ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатура");
//ПолеОформления.Использование = Истина;
ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТоварыДоступно");
ПолеОформления.Использование = Истина;
Показать
Элементы.ДоговорКонтрагента.ТолькоПросмотр = Ложь;
Элементы.ДоговорКонтрагента.КнопкаВыбора = Ложь;
Элементы.ДоговорКонтрагента.КнопкаСоздания = Ложь;
Элементы.ДоговорКонтрагента.РедактированиеТекста = Ложь;
Вот рабочее решение для поля, фон установить можно, значение поля изменить нельзя, скопировать значение можно, правда кнопка выбора остаётся, не удалось её убрать.
Моё уточнённое и дополненное, с учётом топика https://forum.infostart.ru/forum9/topic119678/ :
Форма.Элементы.ДоговорКонтрагента.КнопкаВыпадающегоСписка= Ложь;
Форма.Элементы.ДоговорКонтрагента.БыстрыйВыбор= Ложь;
Форма.Элементы.ДоговорКонтрагента.РедактированиеТекста= Ложь;
Форма.Элементы.ДоговорКонтрагента.КнопкаСоздания= Ложь;
Форма.Элементы.ДоговорКонтрагента.ОтображениеКнопкиВыбора= ОтображениеКнопкиВыбора.ОтображатьВПолеВвода;
Форма.Элементы.ДоговорКонтрагента.КнопкаВыбора= Ложь;
Форма.Элементы.ДоговорКонтрагента.ИсторияВыбораПриВводе= ИсторияВыбораПриВводе.НеИспользовать;
Форма.Элементы.ДоговорКонтрагента.УстановитьДействие("Очистка", "лДоговорКонтрагентаОчистка");
Форма.Элементы.ДоговорКонтрагента.УстановитьДействие("НачалоВыбора", "лДоговорКонтрагентаНачалоВыбора");
&НаКлиенте
Процедура лДоговорКонтрагентаОчистка(Элемент, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
КонецПроцедуры
&НаКлиенте
Процедура лДоговорКонтрагентаНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) Экспорт
СтандартнаяОбработка = Ложь;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот