1С выделение строки цветом

Основным параметром, определяющим внешний вид формы, является цвет ее фона. Поэтому при выборе цвета фона необходимо руководствоваться тем, для каких целей предназначена разрабатываемая форма и как в дальнейшем планируется ее использовать. Напомним, что для форм, выводимых на печать, лучше использовать менее яркие цвета, поскольку цветной фон или фон с рисунком потребуют больших затрат на расходные материалы для принтера.

Цвет фона раздела формы или ее элемента определяется значением свойства Цвет фона (Back Color). В форме, созданной с помощью Мастера форм, фон всех ее разделов зависит от стиля оформления, выбранного при ее создании. Например, к форме «Форма_Сотрудники» был применен автоформат Стандартный (Standard), который задает светло-серый цвет фона.

Чтобы изменить цвет фона раздела формы или ее элемента:

  1. Выделите раздел или элемент формы, цвет фона которого нужно изменить, щелкнув левой кнопкой мыши по пустой области внутри раздела (заголовка, области данных или примечания) либо по элементу формы (например, по метке, списку или полю).
  2. На панели инструментов Формат (форма/отчет) (Formatting (Form/Report)) нажмите стрелку справа от кнопки Цвет заливки/фона (Fill/Back Color). Появится палитра цветов.
  3. Выберите в палитре нужный цвет.

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

Цвет фона раздела формы не влияет на цвет фона элементов управления, находящихся в нем. Для каждого элемента управления также можно выбрать свой цвет фона и цвет шрифта. Для меток элементов управления обычно задан прозрачный цвет фона, т. е. в качестве фона метки используется та часть фона раздела формы, которую она занимает. По умолчанию для текстовых полей используется белый цвет фона, поэтому цвет текстовых полей (и содержащихся в них данных) контрастен цвету фона формы.

Можно задать прозрачный цвет фона не только меткам, но и таким элементам управления, как текстовые поля и раскрывающиеся списки. Для этого выделите элемент управления одного из упомянутых типов, а затем в списке Цвет заливки/фона выберите элемент Прозрачный (Transparent). Заметим, что применение прозрачного цвета фона ко всему разделу формы не разрешено. Л задание прозрачного фона текстовому полю или раскрывающемуся списку приведет к следующему эффекту: в режиме Формы цвет данного элемента управления станет прозрачным, когда этот элемент не будет активным, т. е. когда фокус (точка ввода) будет находиться в другом элементе. Когда же точка ввода будет помещена в данное текстовое поле или раскрывающийся список, он приобретет непрозрачный цвет фона, который был задан ему ранее. Пример такого отображения полей можно наблюдать в форме «Заказы клиентов» (Customer Orders) демонстрационной базы данных «Борей» (это поля «Название» (Company Name) и «Страна» (Country)). Дело в том, что значение «прозрачный» соответствует на самом деле не свойству элемента Цвет фона (Back Color), а свойству Тип фона (Back Style). Тип фона элемента может принимать одно из двух значений: Обычный (Normal) (когда потеря фокуса элементом не изменяет его цвет) или Прозрачный (Transparent).

1С:Управление строительной организацией, редакция 1.3 (1.3.47.2), 1С:Предприятие 8.3 (8.3.13.1690)
По сути, нужно выделять цветом строку в форме списка и строки внутри документа, если внесли изменения после отгрузки
Требуется создать новый РС «Контроль изменений РТиУ после отгрузки» со следующими реквизитами:
• Период
• Регистратор (документ «Реализация товаров и услуг»)
• Номер строки
• Номенклатура
• Количество
• Сумма без скидки
• Цена
• Цена со скидкой
• Сумма
• Сумма НДС
• Всего
При проведении документа «Реализация товаров и услуг»:
• если документ ранее не делал записи в РС «Контроль изменений РТиУ после отгрузки» и заполнен реквизит «Отгружено», то делать записи по документу в РС «Контроль изменений РТиУ после отгрузки»: текущей датой по каждой строке;
• если документ ранее делал записи в регистре, то проверять соответствие строк в документе записям в регистре и если есть изменения в строках, то выделять цветом (бордовым):
o строку в документе в табличной части «Товары», в которой были изменения;
o строку с документом целиком в форме списка.
Для документа «Реализация товаров и услуг» ранее было реализовано выделение рыжим цветом строки табличной части при условии, что закупочная цена ниже цены продажи. Сохранить эту доработку, но сделать ниже приоритетом, чем новая доработка.
Указывайте, пожалуйста, сроки и стоимость.

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

Код 1C v 8.х //Пример получения текста ячейки
ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента;
ПолеТабДок.Область(«R1C2»).Текст = спрНоменклатура.Наименование;
ПолеТабДок.Область(«R2C2»).Текст = «Это Строка»; //указываем явно литерал строки
Код 1C v 8.х // Изменение текста в области или ячейке
Для а = 11 по ТабличныйДокумент.ВысотаТаблицы Цикл
//Ячейка = ТабличныйДокумент.Область(а,1,а,1).Текст;
текстЯчейка = ТабличныйДокумент.Область(«R»+а+»C2»).Текст;
Если Строка(ТабличныйДокумент.Область(«R»+а+»C2″).ЦветФона)=»стиль: Фон кнопки» Тогда
ТабличныйДокумент.Область(«R»+а+»C7″).Текст=»»;
ТабличныйДокумент.Область(«R»+а+»C11″).Текст=»»;
ТабличныйДокумент.Область(«R»+а+»C8″).Текст=»»;
ТабличныйДокумент.Область(«R»+а+»C9″).Текст=»»;
ТабличныйДокумент.Область(«R»+а+»C10″).Текст=»»;
КонецЕсли;
КонецЦикла;
Код 1C v 8.х // Как раскрасить ячейку или область табличного документа в зависимости от условия
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; // Получаем табличный документ из формы
ТабДок.Очистить(); // Очищаем табличный документ
Макет = ПолучитьМакет(«Макет»); // Получаем макет с именем «Макет» из текущего объекта
ОбластьСтрокаТаб = Макет.ПолучитьОбласть(«СтрокаТаб»); // Получаем область из макета
ОбластьСтрокаТаб.Параметры.НашПараметр = 1; // Устанавливаем значение 1 параметру «НашПараметр»
ОбластьОформления = ТабДок.Вывести(ОбластьСтрокаТаб);
// Вот собственно и само оформление ячейки
ТабДок.Область(ОбластьОформления.Верх, ОбластьОформления.Лево, ОбластьОформления.Низ, ОбластьОформления.Лево).ЦветФона = WebЦвета.Красный;
Код 1C v 8.х //Пример изменения цвета текста при выводе данных в табличный документ
Таб.ВывестиСекцию(«Контрагент»);
// Изменим Текст ячейки, имя которой заранее задали как «ТекстОСостоянии»
Таб.Область(«ТекстОСостоянии»).Текст = «Хорошо«;
// В зависимости от условия изменим Цвет Текста
Если Раз<0 Тогда
Таб.Область(Таб.ВысотаТаблицы(),9,Таб.ВысотаТаблицы(),9).ЦветТекста(255,0,0);
ИначеЕсли Раз>0 Тогда
Таб.Область(Таб.ВысотаТаблицы(),9,Таб.ВысотаТаблицы(),9).ЦветТекста(0,0,255);
КонецЕсли;

Для того, чтобы появилась возможность использовать свойство «Значение», необходимо явно присвоить свойству ячейки «СодержитЗначение» значение Истина или установить флажок «Содержит значение» в палитре свойств.

Для ячейки, у которой установлен признак «СодержитЗначение», можно задать тип значения, размещаемого в ячейке.

Следующий фрагмент демонстрирует, как можно управлять этими свойствами из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»

Код 1C v 8.х МассивБулево = Новый Массив;
МассивБулево.Добавить(Тип(«Булево»));
ОписаниеТиповБулево = Новый ОписаниеТипов(МассивБулево);
//…
ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента;
ПолеТабДок.Область(«R3C3»).СодержитЗначение = Истина; //указываем, что в ячейке будет значение

ПолеТабДок.Область(«R3C3»).ТипЗначения = ОписаниеТиповБулево; //указываем тип значения
ПолеТабДок.Область(«R3C3»).Значение = СпрНоменклатура.Услуга; //значение, типа «Булево» из справочника

Для ячейки табличного документа можно задавать формат вывода данных. Для этого используется свойство «Формат», которое содержит форматную строку. Приемы работы с форматной строкой полностью совпадают с функцией Формат()

Код 1C v 8.х ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента;
ПолеТабДок.Область(«R4C3»).ТипЗначения = ОписаниеТиповДата; //указываем тип, ранее заданный для Даты
ПолеТабДок.Область(«R4C3»).Значение = ТекущаяДата();
//указываем форматную строку
//будет выглядеть как «-«, если текущая дата ’20-11-2003 23:15:00′)
ПолеТабДок.Область(«R4C3»).Формат = «ДФ=-«;

Элемент управления в табличном документе

Для ячейки, у которой установлен признак «СодержитЗначение», можно также задать элемент управления, который будет использоваться для редактирования этого значения.

Элемент управления можно назначить через палитру свойств или из встроенного языка с помощью метода «УстановитьЭлементУправления()». Чтобы проверить в программе, установлен ли элемент управления для конкретной ячейки, можно использовать свойство «ЭлементУправления», которое возвращает элемент управления, назначенный для ячейки.

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

Ниже показан пример установки элемента управления типа «Флажок» из встроенного языка://задаем нужный тип с помощью объекта «ОписаниеТипов»

Код 1C v 8.х МассивБулево = Новый Массив;
МассивБулево.Добавить(Тип(«Булево»));
ОписаниеТиповБулево = Новый ОписаниеТипов(МассивБулево);

ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента;
ПолеТабДок.Область(«R5C3»).СодержитЗначение = Истина; //указываем, что в ячейке будет значение
ПолеТабДок.Область(«R5C3»).ТипЗначения = ОписаниеТиповБулево; //указываем ранее заданный тип
ПолеТабДок.Область(«R5C3»).Значение = СпрНоменклатура.Услуга; //значение, типа «Булево» из справочника
//а теперь указываем, что в ячейке будет отображаться флажок
ПолеТабДок.Область(«R5C3»).УстановитьЭлементУправления(Тип(«Флажок»));

Для элементов управления, расположенных в табличном документе, расширяется набор свойств, методов и событий:

Разберем самые важные свойства и методы:

Свойство «ВстроенВЯчейку» имеет тип «булево» и говорит о том, что элемент управления встраивается в ячейку или просто привязывается к ней, о чем было рассказано выше.

Свойство «Видимость» позволяет показать или скрыть элемент управления.

Свойство «Значение» предоставляет доступ к значению, которое редактируется в элементе управления. Оно используется только для элементов управления, поддерживающих связь с данными.

Метод «Расположить» позволяет разместить элемент управления в конкретной области ячеек табличного документа. Именно этот метод был использован в вышеприведенном примере.

Код 1C v 8.х ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента;
ПолеТабДок.Область(«R4C3»).Защита = Истина;

1С выделение строки цветом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *