gifts2017

Этюд: Редактирование булево значения в форме списка не открывая формы элемента

Опубликовал Danil Potapov (Danil.Potapov) в раздел Программирование - Практика программирования

Есть: Табличное поле с типом значения *Список, у объекта есть реквизит с типом булево.
Требуется: Редактировать значение реквизита не открывая формы элемента.
Для реализации потребуются два события элемента управления табличное поле

1. ПриПолученииДанных
Размещение флажка и значения флажка в ячейке табличного поля
2. ПриИзмененииФлажка
Получение и изменение значения объекта

Пример:
В справочнике есть реквизит "закрыт".

Процедура
СправочникСписокПриИзмененииФлажка
(
Элемент
,
Колонка
)
Строка 
=
Элемент
.
ТекущиеДанные;
	
Если
Строка 
<>
Неопределено 
Тогда
Ссылка 
=
Строка
.
Ссылка;
		
Если
Не Ссылка
.
ЭтоГруппа 
Тогда
Объект 
=
Ссылка
.
ПолучитьОбъект
()
;
			Объект
.
Закрыт 
=
Не Объект
.
Закрыт;
			Объект
.
Записать
()
;
		
КонецЕсли
;
	
КонецЕсли
;

КонецПроцедуры Процедура
СправочникСписокПриПолученииДанных
(
Элемент
,
ОформленияСтрок
)
Колонка 
=
Элемент
.
Колонки
.
Найти
("Закрыт")
;
	
Если
Колонка 
<>
Неопределено 
И
Колонка
.
Видимость 
Тогда Для
Каждого ОформлениеСтроки Из ОформленияСтрок 
Цикл
ДанныеСтроки 
=
ОформлениеСтроки
.
ДанныеСтроки;
			
Если
ДанныеСтроки 
=
Неопределено 
Тогда Продолжить
;
			
КонецЕсли
;
			Ссылка 
=
ДанныеСтроки
.
Ссылка;
			
Если
Не Ссылка
.
ЭтоГруппа 
Тогда
ОформлениеСтроки
.
Ячейки
.
Закрыт
.
УстановитьФлажок
(
Ссылка
.
Закрыт
)
;
			
КонецЕсли
;
		
КонецЦикла
;
КонецПроцедуры


P.S. Особенность внесения изменений в существующие формы: в свойстве "данные флажка" колонки табличного поля должно быть пустое значение.

пример

См. также

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