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

Хранилище

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

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




>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 13.05.20, 7:14


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


sava1 @ Сегодня, 7:52 * ,
Из готовой таблицы,это вы имеете ввиду РасшифровкаПомМнеджерам?В запросах не силен извините
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162954 · Ответов: 9 · Просмотров: 2624
 

>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 12.05.20, 21:39


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


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
 
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162933 · Ответов: 9 · Просмотров: 2624
 

>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 12.05.20, 19:45


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


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


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


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


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


 ! 

Правила: 9
 
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162932 · Ответов: 9 · Просмотров: 2624
 

>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 12.05.20, 14:46


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


sava1 @ Сегодня, 15:18 * ,
А пример можно какой то?)
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162929 · Ответов: 9 · Просмотров: 2624
 

>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 12.05.20, 13:13


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


sava1 @ Сегодня, 13:47 * ,
А как найти максимальное и минимальное значение элемента?))
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162927 · Ответов: 9 · Просмотров: 2624
 

>  Как сделать в отчете, чтобы в каждой колонке выделялось максимальное и минимальное значение цветом
repo1219
Отправлено: 12.05.20, 12:25


Молчаливый
*

Группа: Пользователи
Сообщений: 6
Регистрация: 12.05.20
Пользователь №: 69357


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


 ! 

Правила: 4
 
  Форум: Программирование обычных форм 1С 8.2 и не интер... · Просмотр сообщения: #162925 · Ответов: 9 · Просмотров: 2624
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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