Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Здравствуйте. Хочу сделать подсветку цветом строк ТЗ в отчете. Для этого я скачал FormEx.dll, поместил в каталог ИБ, в глобальном модуле прописал процедуру при открытии и функцию. В своей ТЗ добавил колонку для цвета, и в модуле прописал присваивание всем строкам ТЗ пока что просто одного цвета. При запуске цвета строк нет. Вместо него в ячейках столбца прописалось BRUSH[12568013]. Что я делаю неправильно? Даю куски листинга. Спасибо!
Процедура ПриНачалеРаботыСистемы() Экспорт
// Подключение модуля цвета
Путь = КаталогИБ() + "FormEx.dll"; Если ЗагрузитьВнешнююКомпоненту(Путь) = 0 Тогда Сообщить("Неудачная попытка загрузить FormEx.dll"); СтатусВозврата(0); Возврат; КонецЕсли; Сервис = СоздатьОбъект("Сервис");
Сервис.ВключитьРаскраскуТаблиц();
// Функция цвета Функция глПолучитьЦвет(Красный = 0, Зеленый = 0, Синий = 0) Экспорт Возврат Макс(0,Синий)*65536 + Макс(0,Зеленый)*256 + Макс(0,Красный); КонецФункции
// Установка режима трассировки (только в режиме отладки) Функция глТрассировкаУстановить(Знач чУровень) Экспорт
//Акт приема выбор данных Апр.ВыбратьДокументы(НачДата,КонДата); Пока Апр.ПолучитьДокумент()=1 Цикл ТЗ.НоваяСтрока(); ТЗ.ДатаПр = Апр.ДатаДок; ТЗ.ЗАКАЗ = Апр.НомерЗаказа; ТЗ.ПРОИЗВ = Апр.Производитель; ................................................ ................................................
Тд.НоваяКолонка("FormEx_ПланРаскраски",,,,"FormEx_ПланРаскраски",); //обязательно первая Тд.НоваяКолонка(" //... и т.д. Тд.ВидимостьКолонки("FormEx_ПланРаскраски",0);
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
nysysimara @ Сегодня, 11:35
, Здравствуйте. Не получается. Я создал колонку цвета первой.
ТЗ.НоваяКолонка("Цвет",0);
Затем в цикле формирования таблицы значений отчета прописал:
//Акт приема выбор данных Апр.ВыбратьДокументы(НачДата,КонДата); Пока Апр.ПолучитьДокумент()=1 Цикл // ТЗ.Цвет = "()()()()()()(BRUSH[13160660])()(BRUSH[NONE])(BRUSH[13160660])()()()()()(BRUSH[NONE])(BRUSH[13160660])"; ТЗ.Цвет = "BRUSH["+глПолучитьЦвет(105,097,091)+"]";
.....и т.д. (Закомментированную строку тоже подключал.)
Затем прописал формирование самой таблицы:
Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("БАЗА"); Таб.ВывестиСекцию("Шапка"); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл
Колонку цвета таблицы тоже создал первой слева, в секции "Строка" в первой колонке прописал ТЗ.Цвет и сделал тип ячейки "Выражение"
При запуске отчета в режиме Предприятие в таблице цвета нет. В первой колонке прописываются значения BRASH[5988713] и все... Посмотрите, пожалуйста, что я делаю не так. Модуль подключил и функцию цвета в глобальном модуле прописал (См.выше). Спасибо! Таблица вся формируется правильно, значения в ячейках прописываются.... Только цвета нет...
ZUBR @ Сегодня, 1:02
, Да, колонку цвета я пока невидимой не делал. Думаю, это не есть причина неудачи...
каждая скобка - это цвет каждой колонки, если в скобках пусто - автоматически закрашивается как предыдущая если BRUSH[NONE] - без цвета
Это все для таблицы, которая выводится на форму, а для печатной формы - это совсем другая песня. Если ячейку независимо от значения нужно подкрасить, свойства ячейки, закладка "Узор", поле "Фон". Если в зависимости от значения, то вам поможет метод ЦветОбласти.
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 0
ZUBR @ 03.08.19, 17:28
, Уххх, 1. ТЗ має бути розташована на формі звіту (обробки). 2. Обов'язково в ТЗ має бути така колонка як FormEx_ПланРаскраски. Від автора:
Цитата
Для ускорения и упрощения работы раскраски таблиц в компоненту с версии 2.0.5.85 введен функционал плана раскраски таблицы. Для его активизации необходимо вызвать метод ИспользоватьПланРаскраски() объекта Сервис с параметром 1 (соответсвенно, для отключения и перехода на старый принцип раскраски надо вызвать тот же метод, но с параметром 0). По умолчанию функционал плана раскраски отключен и работает старая методика раскраски. Для реализации раскраски по новому функционалу плана раскраски, необходимо добавить в раскрашиваемую таблицу колонку с заголовком ''FormEx_ПланРаскраски'' (без кавычек, регистронезависимо). Колонка может располагаться в любом месте таблицы. Содержимое этой колонки задает план раскраски таблицы, основанный на тех же макросах, которые описаны в части ''Раскраска таблиц''. При этом макросы COUNT и INDENT не обрабатываются. В плане раскраски каждая ячейка текущей строки определяется круглыми скобками. В плане учитываются как видимые, так и невидимые колонки. Макросы раскраски надо помещать в места, соответсвующие смене раскраски. Несколько примеров помогу лучше понять этот принцип.
3. Як приклад можете подивитися тут: Тиць 4. Речі висвітлені Вами:
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Sharzem @ Сегодня, 15:34
, Я людина нова, тільки вчусь, тому не можу бути впевненим, що саме має відношення до розфарбування рядків, а що ні. Що ж до версії, то в моїй функція кольору також працюватиме? Я не скачав новішу версію, бо так і не знайшов її в інтернеті...
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
Документ, таблицу которого я хочу закрасить цветом, называется отчет. Я создал в отчете ТаблицуЗначений виртуальную, в которую программно записываются значения из нескольких видов документов, а затем на основе ТаблицыЗначений создал таблицу на форме. С Шапкой, Строкой и Подвалом. Я не понимаю, можно ли с помощью компоненты FormEx раскрашивать цветом строки этой таблицы. То есть, при применении компоненты FormEx в моем случае цвет будет, или нет? Может, я зря бьюсь? Пока цвет не появился, хоть я все сделал по методике. Спасибо.
Группа: Пользователи
Сообщений: 200
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5
Цитата(ZUBR @ 31.08.19, 22:13)
раскрашивать цветом строки этой таблицы.
раскрашивать табличный документ нельзя нужно в макете табличного документа сделать несколько секций, с одинаковым содержимым, но раскрашенные в разные цвета и при построении таблицы выводить нужные секции (с нужной раскраской)
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
mut @ Сегодня, 11:43
, понятно!) Большое спасибо!!! За подсказку реального пути решения проблемы! Попробую этим методом. Правда, мне не всю строку нужно раскрашивать одним цветом. Есть варианты. Придется делать кучу секций с разными вариантами раскраски строк. Спасибо!
Если таблица "выглядит, как эксель", то это печатная форма, FormEx здесь не работает, он только для раскрашивания диалоговых таблиц. Вам нужно работать с типовыми методами. Если ячейка всегда одного цвета, то в макете печатной формы на нужной колонке - правой кнопкой - свойства - закладка Узор - реквизит Фон - выбирайте нужный. Если же цвет фона ячейки должен меняться программно, то это сложнее, но выполнимо. Есть метод ".ЦветФона" для ОбластиТаблиц
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП) 1С Предприятие 8.3: Бух.предприятия 3.0 + самописка ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Кроме высшего образования, нужно иметь хотя бы среднее соображение
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 0
mut @ 02.09.19, 11:43
, все получилось! Перебрал все варианты, поставил условия вывода и теперь выводится закрашенная таблица. Правда, разных условий 5, поэтому 2 в 5 степени будет 32. Поэтому вариантов секций получилось много - аж 23 (некоторые варианты невозможны). А вообще, если разных условий очень много, такой метод, наверное, будет очень громоздким. Но в моем случае - самое то! Еще раз спасибо за подсказку!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!