1С-Предприятие 8.0. Практическое пособие разработчика


Изменение данных табличного поля путем установки типа значения - часть 2


Затем создадим процедуру обработки события "ПриИзменении" переключателя, в которой, в зависимости от установленного значения переключателя, будем изменять свойство ТипЗначения табличного поля:

Процедура ОстаткиМатериаловПриИзменении(Элемент)

   Если ОстаткиМатериалов = "Остатки" Тогда

       НужныйТип = Тип("РегистрНакопленияСписок.ОстаткиМатериалов");

   ИначеЕсли ОстаткиМатериалов = "Стоимость" Тогда

       НужныйТип = Тип("РегистрНакопленияСписок.СтоимостьМатериалов");

   ИначеЕсли ОстаткиМатериалов = "Продажи" Тогда

       НужныйТип = Тип("РегистрНакопленияСписок.Продажи");

   КонецЕсли;

   Массив = Новый Массив();

   Массив.Добавить(НужныйТип);

   НашеОписание = Новый ОписаниеТипов(Массив);

   ТабПоле = ЭлементыФормы.ТабличноеПоле;

   ТабПоле.ТипЗначения = НашеОписание;

   ТабПоле.СоздатьКолонки();

   НашОтбор = ТабПоле.Значение.Отбор;

   ЗначениеОтбора = ЭлементыФормы.ДокументСписок.ТекущаяСтрока;

   НашОтбор.Регистратор.Установить(ЗначениеОтбора, Истина);

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

 

Действия, выполняемые этой процедурой, аналогичны предыдущей, за исключением того, что ОписаниеТипов мы формируем исходя из положения переключателя, и отбор устанавливаем по значению ссылки на документ, выделенный в верхнем табличном поле "ДокументСписок". [522]

Теперь осталось только создать обработчик события "ПриАктивизацииСтроки" табличного поля "ДокументСписок":

Процедура ДокументСписокПриАктивизацииСтроки(Элемент)

   НашОтбор = ЭлементыФормы.ТабличноеПоле.Значение.Отбор;

   Если Элемент.ТекущиеДанные = Неопределено Тогда

       НашОтбор.Регистратор.Установить(, Истина);

   Иначе

       НашОтбор.Регистратор.Установить(Элемент.ТекущаяСтрока, Истина);

   КонецЕсли;

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

 

В этой процедуре мы просто управляем отбором нижнего табличного поля в зависимости от содержимого верхнего поля.

Запустите 1С:Предприятие и проверьте работу списка документа "ОказаниеУслуги". [523]




Начало  Назад  Вперед



Книжный магазин