Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Изменение свойств элементов формы документа

Изменение свойств элементов формы документа
Я
   Cоляпсус
 
23.03.18 - 13:23
Здравствуйте, возник такой вопрос:
Есть документ, на форме табличная часть. В табличной части есть элемент который должен при условии А быть обязательным к заполнению и подчёркиваться красным пунктиром, при условии Б не должен быть обязательным к заполнению и подчёркиваться красным пунктиром. В реализации момента понятно, сделал ОбработчикПроверкиЗаполнения, он отрабатывает как надо, но не нравится, что элемент подчёркивается, хотя уже не обязателен к заполенению. Можно снять обязательность и при открытии поставить проверку, но тогда будет обратная ситуация, не будет подчёркнуто при условии А, но будет требовать заполнения.
Слышал про "динамическое изменение свойств элемента формы", но гугль однозначного ответа не дал. Подскажите кто-нибудь, как можно реализовать.
Заранее благодарен.
 
 
   Cоляпсус
 
1 - 23.03.18 - 13:52
Никто не сталкивался?
   Kondarat
 
2 - 23.03.18 - 13:55
(1) Снимаешь у реквизита проверку заполнения. И в зависимости от своих условий у элемента изменяешь свойство ОтметкаНезаполненного. В финале обрабатываешь по тем же условиям в ОбработкеПроверкаЗаполнения. Например
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
    
    Если ЗначениеЗаполнено(Объект.Организация) Тогда
        Элементы.Организация.ОтметкаНезаполненного = Ложь;
    Иначе
        Элементы.Организация.ОтметкаНезаполненного = Истина;
    КонецЕсли;    
    
КонецПроцедуры
   Cоляпсус
 
3 - 23.03.18 - 15:13
Нет так не работает. В отладке у данного (моего) элемента и так стоит ОтметкаНезаполненного Ложь, а красный пунктир есть.
Может тут надо как-то к свойству обратится и снять программно галку ВыдаватьОшибку?
   Cоляпсус
 
4 - 23.03.18 - 15:14
Или может как-то обратится к ПроверкаЗапоплнения.НеПроверять?
   Cоляпсус
 
5 - 23.03.18 - 15:24
Как-то можно обратится к реквизиту табличной части и у него программно снять свойство "Выдавать ошибку"?
Или как работает динамическое изменение свойств элемента формы?
   Cоляпсус
 
6 - 23.03.18 - 15:41
Что-то не выходит каменный цветок. Есть Данила мастер здесь?)
   Kondarat
 
7 - 23.03.18 - 15:45
(6) Свойство "ПроверкаЗаполнения" у реквизита только для чтения, изменить его нельзя. Приведенный мною код работает для реквизита (Элемента) Объекта, а вот для колонки ТЧ ьакого эффекта получить не удалось.
   Kondarat
 
8 - 23.03.18 - 15:46
+ 7 ьакого - такого
   Kondarat
 
9 - 23.03.18 - 16:30
+(8) Для колонки табличной части: не важно, что установлено в свойстве ПроверкаЗаполнения. У элемента (колонки) устанавливаем АвтоОтметкаНезаполненного = Нет. Далее вот такой код устанавливает (снимает) это свойство (полоски красные, то появляются, то исчезают)
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
    
    Если ЗначениеЗаполнено(Объект.Организация) Тогда
        Элементы.ТоварыЦена.АвтоОтметкаНезаполненного = Истина;
    Иначе
        Элементы.ТоварыЦена.АвтоОтметкаНезаполненного = Ложь;
    КонецЕсли;

КонецПроцедуры

Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует