ПередНачаломИзменения



Возникает перед началом интерактивного изменения строки табличного поля.

Обратите внимание на событие ПриВыводеСтроки, которое возникает при формировании каждой строки табличного поля.В этом событии можно заполнить некоторые ячейки, а также изменить оформление отдельной ячейки и всей строки.

Например, требуется вывести список валют в табличное поле Список с указанием текущего курса, который хранится в регистре сведений КурсыВалют. Тогда это можно сделать следующим образом:

Процедура СписокПриВыводеСтроки(Элемент,ОформлениеСтроки, ДанныеСтроки) //берем текущую валюту из параметра ДанныеСтроки ТекВалюта = ДанныеСтроки.Ссылка; //ссылка на регистр сведений РегКурсы = РегистрыСведений.КурсыВалют; //ссылка на оформление ячейки Курс ЯчейкаКурс = ОформлениеСтроки.Ячейки.Курс; //считываем курс из регистра сведений и выводим в ячейку Отбор = Новый Структура("Валюта",ТекВалюта); Курс = РегКурсы.ПолучитьПоследнее(,Отбор).Курс; ЯчейкаКурс.УстановитьТекст(Курс); КонецПроцедуры

В 1C:Предприятии 8.0 нет текстовых колонок, в которых можно вызвать функцию, как это было в версии 7.7. Вместо них предлагается использовать событие ПриВыводеСтроки, в котором можно выводить информацию в ячейки и управлять их внешним видом, используя объекты ОформлениеСтроки и ДанныеСтроки.

У объекта ОформлениеСтроки есть свойство Ячейки, которое содержит коллекцию объектов ОформлениеЯчейки.

Например, выведем справочник Номенклатура с указанием остатка товара на складе, а для тех товаров, у которых остаток меньше 10, установим предупреждающий цвет фона. Это позволит контролировать остатки товаров в реальном времени и вовремя заказывать дефицитные товары:

Процедура СписокПриВыводеСтроки(Элемент,ОформлениеСтроки,ДанныеСтроки) СтруктураОтбора = Новый Структура("Номенклатура"); СтруктураОтбора.Номенклатура = ДанныеСтроки.Ссылка; РегОстатки = РегистрыНакопления.УчетНоменклатуры; //считываем остаток из регистра тзОстатки = РегОстатки.Остатки(,СтруктураОтбора, "Номенклатура","Количество"), Если тзОстатки.Количество() > 0 Тогда ОстатокТовара = тзОстатки[0].Количество; ЯчейкаОстаток = ОформлениеСтроки.Ячейки.Остаток; ЯчейкаОстаток.ОтображатъТекст = Истина; ЯчейкаОстаток.Текст = ОстатокТовара; Если ОстатокТовара < 10 Тогда ЯчейкаОстаток.ЦветФона = Новый Цвет(255,230,230); КонецЕсли; КонецЕсли; КонецПроцедуры

На практике остаток товара лучше сравнивать не сконкретным значением, а с критическим уровнем запаса каждого товара, который определяется исходя из потребности в данном товаре.

Заметим, что такой сервис предъявляет довольно высокие требования к производительности компьютера, потому что при каждом обновлении списка заново считываются данные из регистра, поэтому так делать крайне не рекомендуется. Этот пример был специально приведен, чтобы показать, как не надо делать. Для больших динамических списков было бы более рационально спроектировать специальный отчет Остатки с периодическим обновлением.

Любое табличное поле пользователь может вывести в табличный документ для печати или текстовый документ. Это возможно из контекстного меню с помощью пункта «Вывести список». При выводе табличного поля учитываются текущие отбор и сортировка списка. Есть возможность вывести только выделенные строки, а также указать, выводить или нет подчиненные объекты, например, элементы иерархического справочника нижележащих уровней.

 

Поле списка

Поле списка предназначено для вывода различного рода списков и тесно связано с объектом СписокЗначений. Фактически поле списка — это элемент управления для визуального представления списка значений.

При размещении поля списка в форме создается новый реквизит формы типа СписокЗначений, через который можно добавлять и удалять значения в списке. В свойствах задается форматирование списка, режим вывода пометки, возможность отображения картинок и т.д.

Следующий пример добавляет в поле списка три значения и включает режим вывода пометок:

сзСотрудники.Добавить("Иванов");сзСотрудвики.Добавить("Петров");сзСотрудники.Добавить("Сидоров",Истина);ЭлементыФормы.сзСотрудники.ОтображатьПометку = Истина;

 

Поле списка имеет события, которые можно перехватывать с помощью процедур-обработчиков и выполнять полезные действия:

Выбор

Возникает при выборе строки из поля списка.


Дата добавления: 2015-12-20; просмотров: 27; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!