Вопрос по обработке(дополнительный отчет)
Есть обработка которая показывает сколько продал данный контрагент по определенному товару и выдает ему бонус за это. Вопрос в том как добавить дополнительное условие. Проблема в том чтобы обработка не показывала товары которые стоят с пометкой (06- Возврат товара и 07- Уикенд, Брак, Пересорт). То есть надо сделать отбор по этому значению как указано на картинке
Вот сам код
Вот сам код
Процедура КоманднаяПанель1Сформировать(Кнопка)
ТабДок = ЭлементыФормы.ТабДок;
ТабДок.АвтоМасштаб = Истина;
ТабДок.Очистить();
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
Макет.Защита = Истина;
Запрос = Новый Запрос;
Запрос.Текст ="
|ВЫБРАТЬ
| Контрагенты.Ссылка КАК Сотрудник
|ПОМЕСТИТЬ Сотрудники
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка В(&Сотрудники)
|;
//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| Сотрудники.Сотрудник КАК Сотрудник,
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПродажиОбороты.СтоимостьОборот КАК Стоимость
|ПОМЕСТИТЬ Продажи
|ИЗ
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, , ) КАК ПродажиОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Сотрудники КАК Сотрудники
| ПО ПродажиОбороты.Контрагент = Сотрудники.Сотрудник
|ГДЕ
| ПродажиОбороты.Номенклатура В ИЕРАРХИИ(&Элит, &Кофе)
|;
|
//////////////////////////////////////////////////////////// ////////////////////
//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| Продажи.Сотрудник,
| СУММА(ВЫБОР
| КОГДА (НЕ Продажи.Номенклатура.Наименование ПОДОБНО ""фильтр%"") и (НЕ Продажи.Номенклатура.Наименование ПОДОБНО ""камер%"")
| ТОГДА Продажи.Стоимость
| ИНАЧЕ 0
| КОНЕЦ) КАК Напитки,
| СУММА(ВЫБОР
| КОГДА (НЕ Продажи.Номенклатура.Наименование ПОДОБНО ""фильтр%"") и (НЕ Продажи.Номенклатура.Наименование ПОДОБНО ""камер%"")
| ТОГДА Продажи.Стоимость * 0.1
| ИНАЧЕ 0
| КОНЕЦ) КАК Процент10,
| СУММА(ВЫБОР
| КОГДА (Продажи.Номенклатура.Наименование ПОДОБНО ""фильтр%"")
| ТОГДА Продажи.Стоимость
| ИНАЧЕ 0
| КОНЕЦ) КАК Ненапитки,
| СУММА(ВЫБОР
| КОГДА (Продажи.Номенклатура.Наименование ПОДОБНО ""фильтр%"")
| ТОГДА Продажи.Стоимость * 0.05
| ИНАЧЕ 0
| КОНЕЦ) КАК Процент5,
| СУММА(ВЫБОР
| КОГДА (Продажи.Номенклатура.Наименование ПОДОБНО ""камер%"")
| ТОГДА Продажи.Стоимость
| ИНАЧЕ 0
| КОНЕЦ) КАК Кофе,
| СУММА(ВЫБОР
| КОГДА (Продажи.Номенклатура.Наименование ПОДОБНО ""камер%"")
| ТОГДА Продажи.Стоимость * 0.1
| ИНАЧЕ 0
| КОНЕЦ) КАК ПроцентКофе
|ПОМЕСТИТЬ Результат
|ИЗ
| Продажи КАК Продажи
|
|СГРУППИРОВАТЬ ПО
| Продажи.Сотрудник
|;
|
//////////////////////////////////////////////////////////// ////////////////////
//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| Результат.Сотрудник КАК Сотрудник,
| Результат.Напитки КАК Напитки,
| Результат.Процент10 КАК Процент10,
| Результат.Ненапитки КАК Сигареты,
| Результат.Процент5 КАК Процент5,
| Результат.Процент10 + Результат.Процент5 + Результат.ПроцентКофе КАК Бонус,
| Результат.Кофе Как Кофе,
| Результат.ПроцентКофе Как ПроцентКофе
|ИЗ
| Результат КАК Результат ";
Запрос.УстановитьПараметр("Карт1", карты);
Запрос.УстановитьПараметр("Нач", НачалоДня(Нач));
Запрос.УстановитьПараметр("Кон", КонецДня(Кон));
Запрос.УстановитьПараметр("Сотрудники", Сотрудники);
Запрос.УстановитьПараметр("Элит", Справочники.Номенклатура.НайтиПоКоду("01000012612" ));
Запрос.УстановитьПараметр("Кофе", Справочники.Номенклатура.НайтиПоКоду("01000023504" ));
Результат = Запрос.Выполнить().Выбрать();
Голова = Макет.ПолучитьОбласть("Голова");
Голова.Параметры.Дата = ТекущаяДата();
Голова.Параметры.Нач = Формат(Нач, "ДЛФ=Д");
Голова.Параметры.Кон = Формат(Кон, "ДЛФ=Д");
ТабДок.Вывести(Голова);
Шапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Шапка);
ИтогНапитки = 0;
ИтогПроцент5 = 0;
ИтогСигареты = 0;
ИтогПроцент10 = 0;
ИтогКофе = 0;
ИтогПроцентКофе = 0;
ИтогБонус = 0;
Таблица = Макет.ПолучитьОбласть("Таблица");
Пока Результат.Следующий() Цикл
Таблица.Параметры.Заполнить(Результат);
ТабДок.Вывести(Таблица);
ИтогНапитки = ИтогНапитки + Результат.Напитки;
ИтогПроцент5 = ИтогПроцент5 + Результат.Процент5;
ИтогСигареты = ИтогСигареты + Результат.Сигареты;
ИтогПроцент10 = ИтогПроцент10 + Результат.Процент10;
ИтогКофе = ИтогКофе + Результат.Кофе;
ИтогПроцентКофе = ИтогПроцентКофе + Результат.ПроцентКофе;
ИтогБонус = ИтогБонус + Результат.Бонус;
КонецЦикла;
Итоги = Макет.ПолучитьОбласть("Итоги");
Итоги.Параметры.ИтогНапитки
= ИтогНапитки ;
Итоги.Параметры.ИтогПроцент10 = ИтогПроцент10;
Итоги.Параметры.ИтогСигареты = ИтогСигареты;
Итоги.Параметры.ИтогПроцент5 = ИтогПроцент5;
Итоги.Параметры.ИтогКофе = ИтогКофе;
Итоги.Параметры.ИтогПроцентКофе = ИтогПроцентКофе;
Итоги.Параметры.ИтогБонус = ИтогБонус;
ТабДок.Вывести(Итоги);
КонецПроцедуры
Процедура ПриОткрытии()
Нач = НачалоМесяца(ТекущаяДата());
Кон = КонецМесяца(ТекущаяДата());
спр = Справочники.Контрагенты.Выбрать(Справочники.Контрагенты.НайтиПоКоду("000000042"),,,);
Пока (спр.Следующий()) Цикл
Если спр.ЭтоГруппа = ложь Тогда
Сотрудники.Добавить(спр.Ссылка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
ПоказатьПрикрепленные файлы:
По теме из базы знаний
- Внешняя обработка обновления дополнительных отчетов и обработок с FTP
- Разбираемся с механизмом Дополнительные отчеты и обработки в БСП
- Обработки заполнения табличных частей документов учета спецодежды и инвентаря (БП 3.0)
- Обработка по настройке прав доступа пользователей в 1С 8 (ЗУП, КА, УТ, ЕРП, ERP, УНФ, Розница, Управление холдингом)
- Devops-кухня. Рецепты приготовления дополнительных отчетов и обработок
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(8) Смотрю ваш скриншот, там видно Возврат с "Меткой" = 6 Возврат товара, вижу накладную по которой был отпущен товар, там "Метка" = 2 Доставка поставщику
Что нужно в итоге: Получить сколько менеджер продал - возврат/брак или получить просто сколько менеджер продал?
Что нужно в итоге: Получить сколько менеджер продал - возврат/брак или получить просто сколько менеджер продал?
(11) Т.е. Продал - возврат/брак?
Тогда ваш запрос должен возвращать вам именно это! Обороты по продажам: Например 3 продали из них 1 вернули на выходе будет 2 (у вас в запросе тоже 2)
Если Вообще не учитывать возврат/брак, то обороты вам не подойдут, нужно брать просто продажи устанавливать что регистратор ссылка Документы.РТУ (если у вас только реализацией отпускается товар и потом группировать, тогда при том примере 3 продали из них 1 вернули у вас на выходе всё равно будет 3!
Тогда ваш запрос должен возвращать вам именно это! Обороты по продажам: Например 3 продали из них 1 вернули на выходе будет 2 (у вас в запросе тоже 2)
Если Вообще не учитывать возврат/брак, то обороты вам не подойдут, нужно брать просто продажи устанавливать что регистратор ссылка Документы.РТУ (если у вас только реализацией отпускается товар и потом группировать, тогда при том примере 3 продали из них 1 вернули у вас на выходе всё равно будет 3!
Можно в эту строчку:
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, , ) КАК ПродажиОбороты
добавить что-то типа того
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, , Номенклатура.Метка В ("МассивМеток") ) КАК ПродажиОбороты
Это условие можно туда же пихнуть:
ПродажиОбороты.Номенклатура В ИЕРАРХИИ(&Элит, &Кофе)
Это если метка является реквизитом номенклатуры, если нет, то понять бы как они связаны)
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, , ) КАК ПродажиОбороты
добавить что-то типа того
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, , Номенклатура.Метка В ("МассивМеток") ) КАК ПродажиОбороты
Это условие можно туда же пихнуть:
ПродажиОбороты.Номенклатура В ИЕРАРХИИ(&Элит, &Кофе)
Это если метка является реквизитом номенклатуры, если нет, то понять бы как они связаны)
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день