Для работы данного отчета необходимо добавить в конфигурацию следующие объекты:
Справочники:
- ПлановыеПоказатели
Документы:
- ПланПродажПоПоказателям
Регистры сведений:
- ПоказателиПланаПродаж
Справочник ПлановыеПоказатели имеет следующие реквизиты:
- Наименование - длина 100
- Код - длина 12
- ПоказательПланаПродаж - Булево
Документ ПланПродажПоПоказателям имеет следующие реквизиты:
- Дата - Дата,Время
- Номер - Длина 9, контроль уникальности, непериодический(можно пожеланию сделать периодичность в пределах года и сократить длину)
- Дополнительно: непериодический, подчинен регистратору
- Регистраторы: Документ ПланПродажПоПоказателям
Содержит табличные части:
- ГруппыПродаж - содержит следующие реквизиты:
- Менеджер - тип Справочник.Пользователи
- ПлановыйПоказатель - тип Справочник.ПлановыеПоказатели отбор по реквизиту ПоказательПланаПродаж = Истина
- План - тип Число(15,2)
- Коэффициент - тип Число(5,2)
- РасчетныеПоказатели - содержит следующие реквизиты:
- Менеджер - тип Справочник.Пользователи
- ПлановыйПоказатель - тип Справочник.ПлановыеПоказатели отбор по реквизиту ПоказательПланаПродаж = Истина
- Значение - Тип Число(15,3)
Код модуля объекта:
Процедура ПриЗаписи(Отказ)
//Проверим, что не задвоены показатели
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПланПродажПоПоказателямГруппыПродаж.Менеджер,
| ПланПродажПоПоказателямГруппыПродаж.ПлановыйПоказатель,
| ПРЕДСТАВЛЕНИЕ(ПланПродажПоПоказателямГруппыПродаж.Менеджер),
| ПРЕДСТАВЛЕНИЕ(ПланПродажПоПоказателямГруппыПродаж.ПлановыйПоказатель),
| ПланПродажПоПоказателямГруппыПродаж.НомерСтроки КАК НомерСтроки
|ИЗ
| Документ.ПланПродажПоПоказателям.ГруппыПродаж КАК ПланПродажПоПоказателямГруппыПродаж
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПланПродажПоПоказателям.ГруппыПродаж КАК ПланПродажПоПоказателямГруппыПродаж1
| ПО ПланПродажПоПоказателямГруппыПродаж.Менеджер = ПланПродажПоПоказателямГруппыПродаж1.Менеджер
| И ПланПродажПоПоказателямГруппыПродаж.ПлановыйПоказатель = ПланПродажПоПоказателямГруппыПродаж1.ПлановыйПоказатель
| И (ПланПродажПоПоказателямГруппыПродаж1.Ссылка = &Ссылка)
| И ПланПродажПоПоказателямГруппыПродаж.НомерСтроки > ПланПродажПоПоказателямГруппыПродаж1.НомерСтроки
|ГДЕ
| ПланПродажПоПоказателямГруппыПродаж.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",Ссылка);
РЗ = Запрос.Выполнить();
Если не РЗ.Пустой() Тогда
Отказ = Истина;
Выборка = РЗ.Выбрать();
Сообщить("При записи документа: " + Ссылка + " обнуржены ошибки: ");
Пока Выборка.Следующий() Цикл
Сообщить("В строке: " + Выборка.НомерСтроки + " задвоены значения, Менеджер: "
+ Выборка.МенеджерПредставление + " Показатель: " + Выборка.ПлановыйПоказательПредставление);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.ПоказателиПланаПродаж.Записывать = Истина;
Движения.ПоказателиПланаПродаж.Очистить();
Запрос = новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПланПродажПоПоказателямГруппыПродаж.Менеджер,
| ПланПродажПоПоказателямГруппыПродаж.ПлановыйПоказатель КАК ПлановыеПоказатели,
| &ПериодПлана,
| ПланПродажПоПоказателямГруппыПродаж.План КАК Значение,
| ПланПродажПоПоказателямГруппыПродаж.Коэффициент КАК Процент
|ИЗ
| Документ.ПланПродажПоПоказателям.ГруппыПродаж КАК ПланПродажПоПоказателямГруппыПродаж
|ГДЕ
| ПланПродажПоПоказателямГруппыПродаж.Ссылка = &Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПланПродажПоПоказателямРасчетныеПоказатели.Менеджер,
| ПланПродажПоПоказателямРасчетныеПоказатели.ПлановыйПоказатель,
| &ПериодПлана,
| ПланПродажПоПоказателямРасчетныеПоказатели.Значение,
| 0
|ИЗ
| Документ.ПланПродажПоПоказателям.РасчетныеПоказатели КАК ПланПродажПоПоказателямРасчетныеПоказатели
|ГДЕ
| ПланПродажПоПоказателямРасчетныеПоказатели.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("ПериодПлана",НачалоМесяца(Дата));
РЗ = Запрос.Выполнить();
Если не РЗ.Пустой() Тогда
Движения.ПоказателиПланаПродаж.Загрузить(РЗ.Выгрузить());
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если Дата <> НачалоМесяца(Дата) Тогда
Дата = НачалоМесяца(Дата);
КонецЕсли;
КонецПроцедуры
Регистр сведений ПоказателиПланаПродаж
- Измерения:
- ПериодПлана - Тип Дата
- ПлановыеПоказатели - Тип Справочник.ПлановыеПоказатели
- Менеджер - Тип Справочник.Пользователи
- Ресурсы:
- Значение- Тип Число(15,2)
- Процент - Тип Число(5,2)
Настройка
- В конфигураторе вносим данные изменения, в справочнике ПлановыеПоказатели заводим предопределенный элемент АКБ, реквизит ПоказательПланаПродаж = Ложь!
- Заполняем справочник ПлановыеПоказатели, для показателей обязательно взводим реквизит ПоказательПланаПродаж = Истина, для реквизитов с ложь на данный момент функционал предусмотрен тока програмно в отчете и реализован только для АКБ(Активной клиентской базы)
- Работаем со справочником номенклатуры, в него добавим реквизит - ПлановыеПоказатели - отбор выбора ПоказательПланаПродаж = Истина и распределяем номенклатуру по ним.
- Заполняем документ ПланПродажПоПоказателям
- Формируем отчет за месяц продаж каждый день, период начало месяца - текущий день.
Жду ваши комментарии.