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

Хранилище

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

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



> Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом , не СКД          
repo1219 Подменю пользователя
сообщение 12.05.20, 12:25
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день ,подскажите пож-ста как можно сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом(Обычные формы,Отчет не СКД)


 ! 

Правила: 4
 


Сообщение отредактировал Vofka - 12.05.20, 17:02

sava1 Подменю пользователя
сообщение 12.05.20, 12:47
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

типо так
Если Кво=КвоМакс Тогда
обл.ЦветФона = вебЦвета.Красный;
Конецесли;

repo1219 Подменю пользователя
сообщение 12.05.20, 13:13
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 13:47 * ,
А как найти максимальное и минимальное значение элемента?))

sava1 Подменю пользователя
сообщение 12.05.20, 14:18
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

отсортировать - взять первое/последнее

repo1219 Подменю пользователя
сообщение 12.05.20, 14:46
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 15:18 * ,
А пример можно какой то?)

sava1 Подменю пользователя
сообщение 12.05.20, 15:01
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

пример чего? выложите запрос или код формирования отчета - подскажем.
кто догадается как Вы получаете данные для отчета ?

repo1219 Подменю пользователя
сообщение 12.05.20, 19:45
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 16:01 * ,
Процедура РасшифровкаПоМенеджерамПриПолученииДанных(Элемент, ОформленияСтрок)
    
    Для Каждого ТекОформление Из ОформленияСтрок Цикл        
        
        Для Сч = 1 По ТекОформление.Ячейки.Количество()-1 Цикл
            
            Если ТекОформление.ДанныеСтроки[Сч] = МинимальныйПоказательПоСотруднику Тогда
                ТекОформление.Ячейки[Сч].ЦветФона = WebЦвета.Лосось;
            КонецЕсли;
            
            Если ТекОформление.ДанныеСтроки[Сч] = МаксимальныйПоказательПоСотруднику Тогда
                ТекОформление.Ячейки[Сч].ЦветФона = WebЦвета.ЗеленаяЛужайка;
            КонецЕсли;
            
            
        КонецЦикла;
                
    КонецЦикла;
    
КонецПроцедуры


ИмяНастройкиСпискаСотрудников = "НастройкаСпискаСотрудниковВОтчетОбАктивностиМенеджеров" ;


МинимальныйПоказательПоСотруднику = 99999999 ;
МаксимальныйПоказательПоСотруднику = 0 ;


Вот часть кода который оформляет только 2 ячейки для всех колонок ,а мне нужно чтобы для каждой колонки выделялось, извините если побеспокоил))


 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 13.05.20, 8:18

repo1219 Подменю пользователя
сообщение 12.05.20, 21:39
Сообщение #8

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

repo1219 @ Сегодня, 20:45 * ,
Вот как я формирую данные

ДанныеСотрудниковЗапериод = Новый Структура;
    
    СписокСотрудников = Новый Массив;
    Для Каждого Стр Из Сотрудники Цикл
        Если Стр.Выбран Тогда
            СписокСотрудников.Добавить(Стр.Сотрудник);
        КонецЕсли;
    КонецЦикла;
    
    СоотПоказателейКИменамВЗапросе = Новый Соответствие;
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.ОбщиеВремяЗвонка,            "ВремяЗвонков");
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.КоличествоВходящихЗвонков,    "Входящее");
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.КоличествоИсходящихЗвонков,    "Исходящее");
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.КоличествоЗаказов,            "КоличествоЗаказов");
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.ОбщаяСуммаЗаказа,            "СуммаЗаказов");
    СоотПоказателейКИменамВЗапросе.Вставить(Перечисления.ПоказателиСотрудников.НизкаяАктивность,            "СлабаяАктивность");
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Пользователи.Ссылка КАК Пользователь,
        |    ЕСТЬNULL(Званки.ВремяЗвонков, 0) КАК ВремяЗвонков,
        |    ЕСТЬNULL(Званки.Входящее, 0) КАК Входящее,
        |    ЕСТЬNULL(Званки.Исходящее, 0) КАК Исходящее,
        |    ЕСТЬNULL(Заказы.КоличествоЗаказов, 0) КАК КоличествоЗаказов,
        |    ЕСТЬNULL(Заказы.СуммаЗаказов, 0) КАК СуммаЗаказов,
        |    ЕСТЬNULL(Активность.СлабаяАктивность, 0) КАК СлабаяАктивность
        |ИЗ
        |    Справочник.Пользователи КАК Пользователи
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            Событие.Ответственный КАК Пользователь,
        |            СУММА(РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, СЕКУНДА)) КАК ВремяЗвонков,
        |            СУММА(ВЫБОР
        |                    КОГДА Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ВходящееИсходящееСобытие.Входящее)
        |                        ТОГДА 1
        |                    ИНАЧЕ 0
        |                КОНЕЦ) КАК Входящее,
        |            СУММА(ВЫБОР
        |                    КОГДА Событие.ТипСобытия = ЗНАЧЕНИЕ(Перечисление.ВходящееИсходящееСобытие.Исходящее)
        |                        ТОГДА 1
        |                    ИНАЧЕ 0
        |                КОНЕЦ) КАК Исходящее
        |        ИЗ
        |            Документ.Событие КАК Событие
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияЗвонков КАК ИсторияЗвонков
        |                ПО Событие.ИдЗвонка = ИсторияЗвонков.ИДЗвонка
        |                    И (ИсторияЗвонков.ВидНеобработаногоЗвонка = ЗНАЧЕНИЕ(Перечисление.ВидыНеобработаныхЗвонков.Недозвон))
        |                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИзбранныеКонтрагентыДляКнигиТелефонии КАК ИзбранныеКонтрагентыДляКнигиТелефонии
        |                ПО Событие.Контрагент = ИзбранныеКонтрагентыДляКнигиТелефонии.Контрагент
        |        ГДЕ
        |            Событие.Дата МЕЖДУ &НачалоПериода И &КонецПериода
        |            И Событие.Ответственный В(&Сотрудник)
        |            И РАЗНОСТЬДАТ(Событие.НачалоСобытия, Событие.ОкончаниеСобытия, МИНУТА) <= 70
        |            И Событие.ВидСобытия = ЗНАЧЕНИЕ(Перечисление.ВидыСобытий.ТелефонныйЗвонок)
        |            И НЕ Событие.НачалоСобытия = ДАТАВРЕМЯ(1, 1, 1)
        |            И НЕ Событие.ОкончаниеСобытия = ДАТАВРЕМЯ(1, 1, 1)
        |            И Событие.НачалоСобытия < Событие.ОкончаниеСобытия
        |            И ИсторияЗвонков.ВидНеобработаногоЗвонка ЕСТЬ NULL
        |            И ИзбранныеКонтрагентыДляКнигиТелефонии.Контрагент ЕСТЬ NULL
        |        
        |        СГРУППИРОВАТЬ ПО
        |            Событие.Ответственный) КАК Званки
        |        ПО (Званки.Пользователь = Пользователи.Ссылка)
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            ЗаказПокупателя.Ответственный КАК Пользователь,
        |            КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаказПокупателя.Ссылка) КАК КоличествоЗаказов,
        |            СУММА(ЗаказПокупателя.СуммаДокумента) КАК СуммаЗаказов
        |        ИЗ
        |            Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |        ГДЕ
        |            ЗаказПокупателя.Ответственный В(&Сотрудник)
        |            И ЗаказПокупателя.Дата МЕЖДУ &НачалоПериода И &КонецПериода
        |            И НЕ ЗаказПокупателя.ПометкаУдаления
        |            И НЕ ЗаказПокупателя.СтатусЗаказа.СтатусОтмена
        |        
        |        СГРУППИРОВАТЬ ПО
        |            ЗаказПокупателя.Ответственный) КАК Заказы
        |        ПО (Заказы.Пользователь = Пользователи.Ссылка)
        |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
        |            СлабаяАктивностьМенеджеров.Менеджер КАК Пользователь,
        |            КОЛИЧЕСТВО(СлабаяАктивностьМенеджеров.ВидСобытия) КАК СлабаяАктивность
        |        ИЗ
        |            РегистрСведений.СлабаяАктивностьМенеджеров КАК СлабаяАктивностьМенеджеров
        |        ГДЕ
        |            СлабаяАктивностьМенеджеров.Период МЕЖДУ &НачалоПериода И &КонецПериода
        |            И СлабаяАктивностьМенеджеров.Менеджер В(&Сотрудник)
        |        
        |        СГРУППИРОВАТЬ ПО
        |            СлабаяАктивностьМенеджеров.Менеджер) КАК Активность
        |        ПО Пользователи.Ссылка = Активность.Пользователь
        |ГДЕ
        |    Пользователи.Ссылка В(&Сотрудник)";
    
    Запрос.УстановитьПараметр("Сотрудник",        СписокСотрудников);
    Запрос.УстановитьПараметр("НачалоПериода",    НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода",    КонецПериода);    
    
    РезультатЗапроса = Запрос.Выполнить();
    Выб = РезультатЗапроса.Выбрать();
    Пока Выб.Следующий() Цикл
        
        ТекущийПоказательПользователя = 0;
        ИмяКолонкиСотрудникаВРасшифровке = НумерацияСотрудников.Получить(Выб.Пользователь);        
        
        Для Каждого Стр Из Показатели Цикл
            Если Стр.Выбран Тогда
                
                Если Стр.Показатель = Перечисления.ПоказателиСотрудников.НизкаяАктивность Тогда
                    ТекущийПоказательПользователя = ТекущийПоказательПользователя + Выб[СоотПоказателейКИменамВЗапросе.Получить(Стр.Показатель)] * Стр.Коэффициент * -1;                
                Иначе
                    ТекущийПоказательПользователя = ТекущийПоказательПользователя + Выб[СоотПоказателейКИменамВЗапросе.Получить(Стр.Показатель)] * Стр.Коэффициент;                
                КонецЕсли;
                
            КонецЕсли;
        КонецЦикла;
        
        ДанныеСотрудниковЗапериод.Вставить(ИмяКолонкиСотрудникаВРасшифровке, ТекущийПоказательПользователя);
        
        МинимальныйПоказательПоСотруднику = Мин(МинимальныйПоказательПоСотруднику, ?(ТекущийПоказательПользователя = 0, МинимальныйПоказательПоСотруднику, ТекущийПоказательПользователя));
        МаксимальныйПоказательПоСотруднику = Макс(МаксимальныйПоказательПоСотруднику, ?(ТекущийПоказательПользователя = 0, МаксимальныйПоказательПоСотруднику, ТекущийПоказательПользователя));
        
        СоотвествМин=новый Соответствие;
          
          Для каждого Значения из расшифровка.колонки.Количество()цикл
               СоотвествМин.Вставить(МинимальныйПоказательПоСотруднику,Значения);
             конеццикла;
        
    Возврат ДанныеСотрудниковЗапериод;



 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 13.05.20, 8:18

sava1 Подменю пользователя
сообщение 13.05.20, 6:52
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

добавьте в запрос еще выборку из готовой таблицы максимумов/минимумов (Максимум(), Минимум()) нужных показателей
сделайте запросы пакетом
перед оформлением из запроса пакета вытащите максимумы, минимумы
при выводе оформления - по стандартной схеме -
Если Значение = МаксимумЗначения Тогда
Оформление...ЦветФона = ......
КонецЕсли;

repo1219 Подменю пользователя
сообщение 13.05.20, 7:14
Сообщение #10

Молчаливый
*
Группа: Пользователи
Сообщений: 6
Спасибо сказали: 0 раз
Рейтинг: 0

sava1 @ Сегодня, 7:52 * ,
Из готовой таблицы,это вы имеете ввиду РасшифровкаПомМнеджерам?В запросах не силен извините

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


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

 

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