Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Не подсвечивается цветом ТЗ в 1С 7.70.003 торговля склад для Украины?          
ZUBR Подменю пользователя
сообщение 03.08.19, 17:28
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Здравствуйте. Хочу сделать подсветку цветом строк ТЗ в отчете. Для этого я скачал FormEx.dll, поместил в каталог ИБ, в глобальном модуле прописал процедуру при открытии и функцию. В своей ТЗ добавил колонку для цвета, и в модуле прописал присваивание всем строкам ТЗ пока что просто одного цвета.
При запуске цвета строк нет. Вместо него в ячейках столбца прописалось BRUSH[12568013].
Что я делаю неправильно? Даю куски листинга. Спасибо!

Процедура ПриНачалеРаботыСистемы()  Экспорт 
    
        // Подключение модуля цвета
        
        Путь = КаталогИБ() + "FormEx.dll";
      Если ЗагрузитьВнешнююКомпоненту(Путь) = 0 Тогда
    Сообщить("Неудачная попытка загрузить FormEx.dll");
    СтатусВозврата(0);
   Возврат;
КонецЕсли;
Сервис = СоздатьОбъект("Сервис");

  Сервис.ВключитьРаскраскуТаблиц();



// Функция цвета
Функция глПолучитьЦвет(Красный = 0, Зеленый = 0, Синий = 0) Экспорт
    Возврат Макс(0,Синий)*65536 + Макс(0,Зеленый)*256 + Макс(0,Красный);
КонецФункции

// Установка режима трассировки (только в режиме отладки)
Функция глТрассировкаУстановить(Знач чУровень) Экспорт






Процедура Сформировать()
    Апр = СоздатьОбъект("Документ.АктПриема");
    Расх = СоздатьОбъект("Документ.РасходнаяНакладная");
    ТЗ = СоздатьОбъект ("ТаблицаЗначений");
    
//Создание колонок
     ТЗ.НоваяКолонка("ДатаПр");
     ТЗ.НоваяКолонка("ЗАКАЗ");
     ТЗ.НоваяКолонка("ПРОИЗВ");
     ...........................................
         ...........................................
     ТЗ.НоваяКолонка("СУММА");
     ТЗ.НоваяКолонка("Цвет");
    
     //Акт приема выбор данных
     Апр.ВыбратьДокументы(НачДата,КонДата);
     Пока Апр.ПолучитьДокумент()=1 Цикл
         ТЗ.НоваяСтрока();
        ТЗ.ДатаПр = Апр.ДатаДок;
         ТЗ.ЗАКАЗ = Апр.НомерЗаказа;
         ТЗ.ПРОИЗВ = Апр.Производитель;
         ................................................
                ................................................

         ТЗ.Адрес = Апр.Адрес;

         ТЗ.Цвет = "BRUSH["+глПолучитьЦвет(205,197,191)+"]";
          
         
         Расх.ВыбратьДокументы(НачДата,КонДата);
            Пока Расх.ПолучитьДокумент()=1 Цикл
                Если (Расх.НомерЗаказа = ТЗ.ЗАКАЗ) Тогда  
    
                     ТЗ.ПРИЧИНА = Расх.Причина;
                     ТЗ.ИНЖЕНЕР = Расх.Инженер;
            //         ТЗ.СуммаР = Расх.Итого();
                     ТЗ.ВЫДАЛ = Расх.Выдал;
        КонецЕсли;
    
     КонецЦикла;  
    
         
     КонецЦикла;

    
    
     ТЗ.ВыбратьСтроку();
    
         Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("БАЗА");
    Таб.ВывестиСекцию("Шапка");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 Цикл

        Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    //Таб.ВывестиСекцию("Подвал");
    Таб.ТолькоПросмотр(0);
    Таб.Показать();

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

mut Подменю пользователя
сообщение 04.08.19, 22:13
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

Колонка Цвет должна быть первой слева и можно сделать ее невидимой. Раскраска работает слева направо начиная от столбца со служебной строкой.

Спасибо сказали: ZUBR,

nysysimara Подменю пользователя
сообщение 05.08.19, 10:35
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

У меня работает приблизительно так:
Тд.НоваяКолонка("FormEx_ПланРаскраски",,,,"FormEx_ПланРаскраски",);  //обязательно первая
Тд.НоваяКолонка("
//... и т.д.
Тд.ВидимостьКолонки("FormEx_ПланРаскраски",0);

Тд.FormEx_ПланРаскраски = "()()()()()()(BRUSH[13160660])()(BRUSH[NONE])(BRUSH[13160660])()()()()()(BRUSH[NONE])(BRUSH[13160660])";



Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 06.08.19, 0:45
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

nysysimara @ Сегодня, 11:35 * ,
Здравствуйте. Не получается. Я создал колонку цвета первой.

ТЗ.НоваяКолонка("Цвет",0);


Затем в цикле формирования таблицы значений отчета прописал:

//Акт приема выбор данных
     Апр.ВыбратьДокументы(НачДата,КонДата);
     Пока Апр.ПолучитьДокумент()=1 Цикл  
      //  ТЗ.Цвет = "()()()()()()(BRUSH[13160660])()(BRUSH[NONE])(BRUSH[13160660])()()()()()(BRUSH[NONE])(BRUSH[13160660])";
         ТЗ.Цвет = "BRUSH["+глПолучитьЦвет(105,097,091)+"]";
.....и т.д.
(Закомментированную строку тоже подключал.)

Затем прописал формирование самой таблицы:

Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("БАЗА");
    Таб.ВывестиСекцию("Шапка");
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку()=1 Цикл

        Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    //Таб.ВывестиСекцию("Подвал");
    Таб.ТолькоПросмотр(0);
    Таб.Показать();

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


Колонку цвета таблицы тоже создал первой слева, в секции "Строка" в первой колонке прописал ТЗ.Цвет и сделал тип ячейки "Выражение"

При запуске отчета в режиме Предприятие в таблице цвета нет. В первой колонке прописываются значения BRASH[5988713] и все...
Посмотрите, пожалуйста, что я делаю не так. Модуль подключил и функцию цвета в глобальном модуле прописал (См.выше). Спасибо!
Таблица вся формируется правильно, значения в ячейках прописываются.... Только цвета нет...

ZUBR @ Сегодня, 1:02 * ,
Да, колонку цвета я пока невидимой не делал. Думаю, это не есть причина неудачи...

nysysimara Подменю пользователя
сообщение 06.08.19, 8:15
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Судя по коды в вашей талице Тз 5 колонок,
значит при каждом
    Тз.НоваяСтрока();

Прописываете
 ТЗ.Цвет = "()(BRUSH[13160660])(BRUSH[13160660])(BRUSH[13160660])(BRUSH[13160660])(BRUSH[13160660])";

в данном случае все будут серыми

каждая скобка - это цвет каждой колонки,
если в скобках пусто - автоматически закрашивается как предыдущая
если BRUSH[NONE] - без цвета

Это все для таблицы, которая выводится на форму,
а для печатной формы - это совсем другая песня.
Если ячейку независимо от значения нужно подкрасить, свойства ячейки, закладка "Узор", поле "Фон".
Если в зависимости от значения, то вам поможет метод ЦветОбласти.


Спасибо сказали: ZUBR,

Sharzem Подменю пользователя
сообщение 06.08.19, 14:34
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

ZUBR @ 03.08.19, 17:28 * ,
Уххх, 44000000.gif
1. ТЗ має бути розташована на формі звіту (обробки).
2. Обов'язково в ТЗ має бути така колонка як FormEx_ПланРаскраски.
Від автора:
Цитата
Для ускорения и упрощения работы раскраски таблиц в компоненту с версии 2.0.5.85 введен функционал плана раскраски таблицы. Для его активизации необходимо вызвать метод ИспользоватьПланРаскраски() объекта Сервис с параметром 1 (соответсвенно, для отключения и перехода на старый принцип раскраски надо вызвать тот же метод, но с параметром 0). По умолчанию функционал плана раскраски отключен и работает старая методика раскраски.
Для реализации раскраски по новому функционалу плана раскраски, необходимо добавить в раскрашиваемую таблицу колонку с заголовком ''FormEx_ПланРаскраски'' (без кавычек, регистронезависимо). Колонка может располагаться в любом месте таблицы. Содержимое этой колонки задает план раскраски таблицы, основанный на тех же макросах, которые описаны в части ''Раскраска таблиц''. При этом макросы COUNT и INDENT не обрабатываются. В плане раскраски каждая ячейка текущей строки определяется круглыми скобками. В плане учитываются как видимые, так и невидимые колонки. Макросы раскраски надо помещать в места, соответсвующие смене раскраски. Несколько примеров помогу лучше понять этот принцип.

3. Як приклад можете подивитися тут: Тиць
4. Речі висвітлені Вами:
ТЗ.ВыбратьСтроку(); 
         Таб = СоздатьОбъект("Таблица");

Взагалі не мають до FormEx жодного відношення.

5. Версія 1С 7.70.003 !!!, Вам перейти на 1С 7.70.027 релігія не дозволяє ? Ё-ма-ё.... Не витрачайте свій час...

Сообщение отредактировал Sharzem - 06.08.19, 14:40


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 06.08.19, 16:00
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Sharzem @ Сегодня, 15:34 * ,
Я людина нова, тільки вчусь, тому не можу бути впевненим, що саме має відношення до розфарбування рядків, а що ні.
Що ж до версії, то в моїй функція кольору також працюватиме? Я не скачав новішу версію, бо так і не знайшов її в інтернеті...

volodya1122 Подменю пользователя
сообщение 07.08.19, 13:30
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 336
Из: Тернопіль
Спасибо сказали: 133 раз
Рейтинг: 135.7

Версія 7.70.003 це версія платформи 1С чи конфігурації (торговля+склад) ?

ZUBR Подменю пользователя
сообщение 21.08.19, 20:48
Сообщение #9

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

volodya1122 @ 07.08.19, 14:30 * , це конфігурація. А платформа 7.70.027

ZUBR Подменю пользователя
сообщение 31.08.19, 21:13
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

Документ, таблицу которого я хочу закрасить цветом, называется отчет. Я создал в отчете ТаблицуЗначений виртуальную, в которую программно записываются значения из нескольких видов документов, а затем на основе ТаблицыЗначений создал таблицу на форме. С Шапкой, Строкой и Подвалом. Я не понимаю, можно ли с помощью компоненты FormEx раскрашивать цветом строки этой таблицы. То есть, при применении компоненты FormEx в моем случае цвет будет, или нет? Может, я зря бьюсь? Пока цвет не появился, хоть я все сделал по методике. Спасибо.

mut Подменю пользователя
сообщение 02.09.19, 10:43
Сообщение #11

Завсегдатай
****
Группа: Пользователи
Сообщений: 199
Из: Новая Каховка
Спасибо сказали: 203 раз
Рейтинг: 237.5

Цитата(ZUBR @ 31.08.19, 22:13) *
раскрашивать цветом строки этой таблицы.

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

Спасибо сказали: ZUBR,

ZUBR Подменю пользователя
сообщение 02.09.19, 18:40
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

mut @ Сегодня, 11:43 * , понятно!) Большое спасибо!!! За подсказку реального пути решения проблемы! Попробую этим методом. Правда, мне не всю строку нужно раскрашивать одним цветом. Есть варианты. Придется делать кучу секций с разными вариантами раскраски строк. Спасибо! icon_beer17.gif

nysysimara Подменю пользователя
сообщение 03.09.19, 15:22
Сообщение #13

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Если таблица "выглядит, как эксель", то это печатная форма, FormEx здесь не работает, он только для раскрашивания диалоговых таблиц.
Вам нужно работать с типовыми методами.
Если ячейка всегда одного цвета, то в макете печатной формы на нужной колонке - правой кнопкой - свойства - закладка Узор - реквизит Фон - выбирайте нужный.
Если же цвет фона ячейки должен меняться программно, то это сложнее, но выполнимо. Есть метод ".ЦветФона" для ОбластиТаблиц


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

ZUBR Подменю пользователя
сообщение 06.09.19, 19:08
Сообщение #14

Завсегдатай
****
Группа: Пользователи
Сообщений: 231
Из: Київ
Спасибо сказали: 5 раз
Рейтинг: 3

mut @ 02.09.19, 11:43 * , все получилось! Перебрал все варианты, поставил условия вывода и теперь выводится закрашенная таблица. Правда, разных условий 5, поэтому 2 в 5 степени будет 32. Поэтому вариантов секций получилось много - аж 23 (некоторые варианты невозможны). А вообще, если разных условий очень много, такой метод, наверное, будет очень громоздким. Но в моем случае - самое то! Еще раз спасибо за подсказку! icon_beer17.gif

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.03.24, 4:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!