Интернет-магазин Avon-Москва
Поиск    
 Главная | Прайс-лист |  | Помощь    
 
Главная : Косметика ANEW : Clinical : s : 2.10 колл-центр :

2.10 Документ ДанныеОЗвонках КОД МОДУЛЯ ОБЪЕКТА

2.10 Документ ДанныеОЗвонках КОД МОДУЛЯ ОБЪЕКТА


 


Наличие на складе: да


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


Процедура СоздатьВТСотрудники(МенеджерВТ)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = 
"ВЫБРАТЬ
| НАЧАЛОПЕРИОДА(ДанныеОЗвонкахЗвонки.НачалоЗвонка, ДЕНЬ) КАК Дата,
| ДанныеОЗвонкахЗвонки.КодОператора КАК КодОператора,
| РАЗНОСТЬДАТ(ДанныеОЗвонкахЗвонки.НачалоЗвонка, ДанныеОЗвонкахЗвонки.ОкончаниеЗвонка, МИНУТА) / 60 КАК Часов,
| ДанныеОЗвонкахЗвонки.ОценкаКлиента КАК ОценкаКлиента
|ПОМЕСТИТЬ ВТЧасовЗвонков
|ИЗ
| Документ.ДанныеОЗвонках.Звонки КАК ДанныеОЗвонкахЗвонки
|ГДЕ
| ДанныеОЗвонкахЗвонки.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТЧасовЗвонков.Дата КАК Дата,
| ЕСТЬNULL(КодыОператоров.Сотрудник, ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка)) КАК Сотрудник,
| ВТЧасовЗвонков.КодОператора КАК КодОператора,
| СУММА(ВТЧасовЗвонков.Часов) КАК Часов,
| &ВидВремениОбработкаЗвонка КАК ВидВремени,
| &Организация КАК Организация,
| СРЕДНЕЕ(ВТЧасовЗвонков.ОценкаКлиента) КАК ОценкаКлиента
|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
| ВТЧасовЗвонков КАК ВТЧасовЗвонков
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КодыОператоров КАК КодыОператоров
| ПО ВТЧасовЗвонков.КодОператора = КодыОператоров.КодОператора
|
|СГРУППИРОВАТЬ ПО
| ЕСТЬNULL(КодыОператоров.Сотрудник, ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка)),
| ВТЧасовЗвонков.КодОператора,
| ВТЧасовЗвонков.Дата";
Запрос.УстановитьПараметр("ВидВремениОбработкаЗвонка", ВидВремениОбработкаЗвонка);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.Выполнить();
КонецПроцедуры

Функция ДанныеОВремени(Отказ, МенеджерВТ)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = 
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТСотрудники.Сотрудник КАК Сотрудник,
| &ПериодРегистрации КАК Месяц,
| &ПериодРегистрации КАК ДатаНачала,
| &КонецПериодаРегистрации КАК ДатаАктуальности,
| &КонецПериодаРегистрации КАК ДатаОкончания
|ПОМЕСТИТЬ ВТСотрудникиДляУчетаВремени
|ИЗ
| ВТСотрудники КАК ВТСотрудники
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТСотрудники.КодОператора КАК КодОператора
|ИЗ
| ВТСотрудники КАК ВТСотрудники
|ГДЕ
| ВТСотрудники.Сотрудник = ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка)";
Запрос.УстановитьПараметр("ПериодРегистрации", ПериодРегистрации);
Запрос.УстановитьПараметр("КонецПериодаРегистрации", КонецМесяца(ПериодРегистрации));
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не найден сотрудник с кодом " + Выборка.КодОператора;
Сообщение.Сообщить();
КонецЦикла;
КонецЕсли;

ПараметрыДВ = УчетРабочегоВремениРасширенный.ПараметрыДляСоздатьВТДанныеУчетаРабочегоВремениСотрудников();
ПараметрыДВ.ИмяВТСотрудники = "ВТСотрудникиДляУчетаВремени";
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(МенеджерВТ, Истина, ПараметрыДВ);
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = 
"ВЫБРАТЬ
| ВТСотрудники.Дата КАК Дата,
| ВТСотрудники.Сотрудник КАК Сотрудник,
| ВТСотрудники.Часов КАК Часов,
| ВТСотрудники.ВидВремени КАК ВидВремени,
| ВТСотрудники.Организация КАК Организация
|ИЗ
| ВТСотрудники КАК ВТСотрудники
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВТДанныеУчетаРабочегоВремениСотрудников.Дата,
| ВТДанныеУчетаРабочегоВремениСотрудников.Сотрудник,
| ВТДанныеУчетаРабочегоВремениСотрудников.Часов - ВТСотрудники.Часов,
| ВТДанныеУчетаРабочегоВремениСотрудников.ВидУчетаВремени,
| ВТСотрудники.Организация
|ИЗ
| ВТСотрудники КАК ВТСотрудники
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДанныеУчетаРабочегоВремениСотрудников КАК ВТДанныеУчетаРабочегоВремениСотрудников
| ПО ВТСотрудники.Дата = ВТДанныеУчетаРабочегоВремениСотрудников.Дата
| И ВТСотрудники.Сотрудник = ВТДанныеУчетаРабочегоВремениСотрудников.Сотрудник
| И (ВТДанныеУчетаРабочегоВремениСотрудников.ВидУчетаВремени = &ВидВремениЯвка)
|ГДЕ
| ВТДанныеУчетаРабочегоВремениСотрудников.Часов - ВТСотрудники.Часов > 0";
Запрос.УстановитьПараметр("ВидВремениЯвка", ВидВремениЯвка);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции

Функция РазовыеПоказатели(МенеджерВТ)

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = 
"ВЫБРАТЬ
| ВТСотрудники.Сотрудник КАК Сотрудник,
| ВТСотрудники.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
| СРЕДНЕЕ(ВТСотрудники.ОценкаКлиента) КАК ОценкаКлиента
|ПОМЕСТИТЬ ВТОценкиКлиентов
|ИЗ
| ВТСотрудники КАК ВТСотрудники
|
|СГРУППИРОВАТЬ ПО
| ВТСотрудники.Сотрудник,
| ВТСотрудники.Сотрудник.ФизическоеЛицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| &ПериодРегистрации КАК ПериодДействия,
| ВТОценкиКлиентов.Сотрудник КАК Сотрудник,
| ВТОценкиКлиентов.ФизическоеЛицо КАК ФизическоеЛицо,
| &ПоказательСредняяОценкаКлиентовЗаМесяц КАК Показатель,
| ВТОценкиКлиентов.ОценкаКлиента КАК Значение
|ИЗ
| ВТОценкиКлиентов КАК ВТОценкиКлиентов";
Запрос.УстановитьПараметр("ПериодРегистрации", ПериодРегистрации);
Запрос.УстановитьПараметр("ПоказательСредняяОценкаКлиентовЗаМесяц", ПоказательСредняяОценкаКлиентовЗаМесяц);
Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Оцените товар!
Отлично!
Хорошо
Средне
Плохо
Очень плохо



Наш e-mail: avon@avon-moskva.ru

 Copyright AVON-MOSKVA.ru 2006-2024