Идет бета-тестирование портала. Об ошибках пишите нам или на форуме.

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

0

Занимательное программирование

19.11.2008

Описание

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

Для реализации потребуются два события элемента управления табличное поле

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

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

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

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

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



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

пример

Оценка сообщества


Добавить плюс Добавить минус

Комментарии (0)

Для добавления комментария необходимо зарегистрироваться.
Есть вопросы?
тел. (812) 309-06-46
support@infostart.ru
Обратная связь
Логин :
Пароль :
Забыли пароль?

Статистика

Пользователей: 43893

См. также