Код:
Процедура КонтрагентПриИзменении(Элемент)
| Если Не Контрагент.Пустая() Тогда
| |
| Если ТипЦен <> Контрагент.ТипЦен Тогда
| |
| ТипЦен = Контрагент.ТипЦен;
| |
КонецПроцедуры
Процедура ПриОткрытии()
| //очищаются все страницы панели со всеми элементами управления,
| |
| //после выполнения этого метода
| |
| //панель имеет одну страницу и одну закладку
| |
| Панель.Страницы.Очистить();
| |
| //индекс первой страницы равен 0, изменим для нее имя и заголовок
| |
| Панель.Страницы[0]. Имя = "СтраницаОсновные";
| |
| Панель.Страницы[0].Заголовок = "Основные";
| |
| //добавим вторую страницу, ее индекс будет 1
| |
| Панель.Страницы.Добавить("СтраницаКартинка","Картинка",,);
| |
| //добавим третью страницу, ее индекс будет 2
| |
| Панель.Страницы.Добавить("СтраницаПрочее","Прочее",,);
| |
| //сдвигаем третью страницу "Прочее" (с индексом 2)
| |
| Панель.Страницы.Сдвинуть(2,-1);
| |
| // в метод Удалить может передаваться номер или сама страница Панель Страницы
| |
| Удалить(Панель.Страницы["СтраницаПрочее"]);
| |
| //для страницы Картинка изменим текст заголовка
| |
| //доступ к странице возможен по имени как к свойству коллекции Панель.Страницы.СтраницаКартинка.Заголовок = "Изображение";
| |
КонецПроцедуры
Процедура СписокПриВыводеСтроки(Элемент,
| ОформлениеСтроки, ДанныеСтроки)
| |
| //берем текущую валюту из параметра ДанныеСтроки
| |
| ТекВалюта = ДанныеСтроки.Ссылка;
| |
| //ссылка на регистр сведений
| |
| РегКурсы = РегистрыСведений.КурсыВалют;
| |
| //ссылка на оформление ячейки Курс
| |
| ЯчейкаКурс = ОформлениеСтроки.Ячейки.Курс;
| |
| //считываем курс из регистра сведений и выводим в ячейку
| |
| Отбор = Новый Структура("Валюта",ТекВалюта);
| |
| Курс = РегКурсы.ПолучитьПоследнее(,Отбор).Курс;
| |
| ЯчейкаКурс.УстановитьТекст(Курс);
| |
КонецПроцедуры
| В 1C:Предприятии 8.0 нет текстовых колонок, в которых можно вызвать функцию, как это было в версии 7.7. Вместо них предлагается использовать событие ПриВыводеСтроки, в котором можно выводить информацию в ячейки и управлять их внешним видом, используя объекты ОформлениеСтроки и ДанныеСтроки. У объекта ОформлениеСтроки есть свойство Ячейки, которое содержит коллекцию объектов ОформлениеЯчейки.
| |
| Например, выведем справочник Номенклатура с указанием остатка товара на складе, а для тех товаров, у которых остаток меньше 10, установим предупреждающий цвет фона. Это позволит контролировать остатки товаров в реальном времени и вовремя заказывать дефицитные товары:
| |
| ПроцедураСписокПриВыводеСтроки(Элемент,ОформлениеСтроки,ДанныеСтроки)
| |
| СтруктураОтбора = Новый Структура("Номенклатура");
| |
| СтруктураОтбора.Номенклатура = ДанныеСтроки.Ссылка;
| |
| РегОстатки = РегистрыНакопления.УчетНоменклатуры;
| |
| //считываем остаток из регистра
| |
| тзОстатки = РегОстатки.Остатки(,СтруктураОтбора,
| |
| "Номенклатура","Количество");
| |
| Если тзОстатки.Количество() > 0 Тогда
| |
| ОстатокТовара = тзОстатки[0].Количество;
| |
| ЯчейкаОстаток = ОформлениеСтроки.Ячейки.Остаток;
| |
| ЯчейкаОстаток.ОтображатъТекст = Истина;
| |
| ЯчейкаОстаток.Текст = ОстатокТовара;
| |
| Если ОстатокТовара < 10 Тогда
| |
| ЯчейкаОстаток.ЦветФона = Новый Цвет(255,230,230);
| |
| На практике остаток товара лучше сравнивать не с конкретным значением, а с критическим уровнем запаса каждого товара, который определяется исходя из потребности в данном товаре. Заметим, что такой сервис предъявляет довольно высокие требования к производительности компьютера, потому что при каждом обновлении списка заново считываются данные из регистра, поэтому так делать крайне не рекомендуется. Этот пример был специально приведен, чтобы показать, |
Кнопка = ЭлементыФормы.КнопкаОК;
Кнопка.ЦветТекстаКнопки = Новый Цвет(100,250,100);//зеленый
Кнопка.ЦветФонаКнопки = Новый Цвет(50,50,50);//серый
Кнопка.Рамка = Новый Рамка (ТипРамкиЭлементаУправления.Двойная,1);
Кнопка.Шрифт = Новый Шрифт (,,Истина,Истина);//жирный и наклонный
//установим также сочетание клавиш Alt-P
Кнопка .СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.Р,Истина);
//назначим процедуру-обработчик события Нажатие
//в модуле должна быть определена
//процедура Сформировать с параметром Элемент
Кнопка.УстановитьДействие("Нажатие",Новый Действие("Сформировать"));
Содержание раздела