Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 09:38

Вывести в отчет Продажи количество со скидкой и без

Автор Ксения Замятина, 15 мар 2019, 10:11

0 Пользователей и 1 гость просматривают эту тему.

Ксения Замятина

Добрый день! Помогите, пожалуйста добавить в УПП в отчет Продажи добавить колонку Кол-во в базовых единицах со скидкой и без.

Сейчас это выглядит так и считается все общее количество.:
УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБезСкидки", "ВЫБОР КОГДА СтоимостьБезСкидокОборот - СтоимостьОборот = 0 ТОГДА 0 ИНАЧЕ КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КОНЕЦ", "КоличествоБезСкидки",
      "ВЫБОР КОГДА Сумма(СтоимостьБезСкидокОборот) - Сумма( СтоимостьОборот) = 0 ТОГДА 0 ИНАЧЕ Сумма(КоличествоОборот) * сумма(НоменклатураЕдиницаХраненияОстатковКоэффициент) КОНЕЦ");
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ИсточникДанных.Номенклатура КАК Номенклатура,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура) КАК НоменклатураПредставление,
ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
ИсточникДанных.ЗаказПокупателя КАК ЗаказПокупателя,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ЗаказПокупателя) КАК ЗаказПокупателяПредставление,
ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление,
ИсточникДанных.ДокументПродажи КАК ДокументПродажи,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументПродажи) КАК ДокументПродажиПредставление,
ИсточникДанных.Подразделение КАК Подразделение,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Подразделение) КАК ПодразделениеПредставление,
ИсточникДанных.Проект КАК Проект,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Проект) КАК ПроектПредставление,
ИсточникДанных.Организация КАК Организация,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Организация) КАК ОрганизацияПредставление,
ИсточникДанных.Контрагент КАК Контрагент,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Контрагент) КАК КонтрагентПредставление,
ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения КАК НоменклатураБазоваяЕдиницаИзмерения,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура.БазоваяЕдиницаИзмерения) КАК НоменклатураБазоваяЕдиницаИзмеренияПредставление,
ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот,
ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ИсточникДанных.НДСОборот КАК НДСОборот,
КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов,
КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд,
ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки,
СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки,
ВЫБОР КОГДА СтоимостьБезСкидокОборот - СтоимостьОборот = 0 ТОГДА 0 ИНАЧЕ КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КОНЕЦ КАК КоличествоБезСкидки,
СтоимостьОборот - НДСОборот КАК СтоимостьОборотБезНДС,
ИсточникДанных.Регистратор КАК Регистратор,
ИсточникДанных.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК НоменклатураЕдиницаХраненияОстатковКоэффициент,
ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор) КАК РегистраторПредставление,
ИсточникДанных.Период КАК Период,
НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень,
НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя,
НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада,
НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц,
НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал,
НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие,
НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод
//ПОЛЯ_СВОЙСТВА
//ПОЛЯ_КАТЕГОРИИ
{ВЫБРАТЬ
Номенклатура.*,
ХарактеристикаНоменклатуры.*,
ЗаказПокупателя.*,
ДоговорКонтрагента.*,
ДокументПродажи.*,
Подразделение.*,
Проект.*,
Организация.*,
Контрагент.*,
НоменклатураБазоваяЕдиницаИзмерения.*,
КоличествоОборот,
СтоимостьОборот,
СтоимостьБезСкидокОборот,
НДСОборот,
КоличествоЕдиницОтчетов,
КоличествоБазовыхЕд,
ПроцентСкидки,
СуммаСкидки,
КоличествоБезСкидки,
СтоимостьОборотБезНДС,
Регистратор.* КАК Регистратор,
Период КАК Период,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод
//ПСЕВДОНИМЫ_СВОЙСТВА
//ПСЕВДОНИМЫ_КАТЕГОРИИ
}
ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор {&Периодичность}, {
Номенклатура.* КАК Номенклатура,
ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры,
ЗаказПокупателя.* КАК ЗаказПокупателя,
ДоговорКонтрагента.* КАК ДоговорКонтрагента,
ДокументПродажи.* КАК ДокументПродажи,
Подразделение.* КАК Подразделение,
Проект.* КАК Проект,
Организация.* КАК Организация,
Контрагент.* КАК Контрагент,
(Номенклатура.БазоваяЕдиницаИзмерения).* КАК НоменклатураБазоваяЕдиницаИзмерения}) КАК ИсточникДанных
//СОЕДИНЕНИЯ
{ГДЕ
ИсточникДанных.КоличествоОборот КАК КоличествоОборот,
ИсточникДанных.СтоимостьОборот КАК СтоимостьОборот,
ИсточникДанных.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ИсточникДанных.НДСОборот КАК НДСОборот,
КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК КоличествоЕдиницОтчетов,
КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоБазовыхЕд,
ВЫБОР КОГДА СтоимостьБезСкидокОборот = 0 ТОГДА 0 ИНАЧЕ (СтоимостьБезСкидокОборот - СтоимостьОборот) / СтоимостьБезСкидокОборот * 100 КОНЕЦ КАК ПроцентСкидки,
СтоимостьБезСкидокОборот - СтоимостьОборот КАК СуммаСкидки,
ВЫБОР КОГДА СтоимостьБезСкидокОборот - СтоимостьОборот = 0 ТОГДА 0 ИНАЧЕ КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КОНЕЦ КАК КоличествоБезСкидки,
СтоимостьОборот - НДСОборот КАК СтоимостьОборотБезНДС,
ИсточникДанных.Регистратор.* КАК Регистратор,
ИсточникДанных.Период КАК Период,
НачалоПериода(ИсточникДанных.Период, День) КАК ПериодДень,
НачалоПериода(ИсточникДанных.Период, Неделя) КАК ПериодНеделя,
НачалоПериода(ИсточникДанных.Период, Декада) КАК ПериодДекада,
НачалоПериода(ИсточникДанных.Период, Месяц) КАК ПериодМесяц,
НачалоПериода(ИсточникДанных.Период, Квартал) КАК ПериодКвартал,
НачалоПериода(ИсточникДанных.Период, Полугодие) КАК ПериодПолугодие,
НачалоПериода(ИсточникДанных.Период, Год) КАК ПериодГод
//УСЛОВИЯ_СВОЙСТВА
//УСЛОВИЯ_КАТЕГОРИИ
}
{УПОРЯДОЧИТЬ ПО
Номенклатура.*,
ХарактеристикаНоменклатуры.*,
ЗаказПокупателя.*,
ДоговорКонтрагента.*,
ДокументПродажи.*,
Подразделение.*,
Проект.*,
Организация.*,
Контрагент.*,
НоменклатураБазоваяЕдиницаИзмерения.*,
КоличествоОборот,
СтоимостьОборот,
СтоимостьБезСкидокОборот,
НДСОборот,
КоличествоЕдиницОтчетов,
КоличествоБазовыхЕд,
ПроцентСкидки,
СуммаСкидки,
КоличествоБезСкидки,
СтоимостьОборотБезНДС,
Регистратор.*,
Период,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод
//ПСЕВДОНИМЫ_СВОЙСТВА
//ПСЕВДОНИМЫ_КАТЕГОРИИ
}
ИТОГИ
СУММА(КоличествоОборот),
СУММА(СтоимостьОборот),
СУММА(СтоимостьБезСкидокОборот),
СУММА(НДСОборот),
СУММА(КоличествоЕдиницОтчетов),
СУММА(КоличествоБазовыхЕд),
ВЫБОР КОГДА СУММА(СтоимостьБезСкидокОборот) = 0 ТОГДА 0 ИНАЧЕ (СУММА(СтоимостьБезСкидокОборот) - СУММА(СтоимостьОборот)) / СУММА(СтоимостьБезСкидокОборот) * 100 КОНЕЦ КАК ПроцентСкидки,
СУММА(СуммаСкидки),
ВЫБОР КОГДА Сумма(СтоимостьБезСкидокОборот) - Сумма( СтоимостьОборот) = 0 ТОГДА 0 ИНАЧЕ Сумма(КоличествоОборот) * сумма(НоменклатураЕдиницаХраненияОстатковКоэффициент) КОНЕЦ КАК КоличествоБезСкидки,
СУММА(СтоимостьОборотБезНДС)
//ИТОГИ_СВОЙСТВА
//ИТОГИ_КАТЕГОРИИ
ПО
ОБЩИЕ
{ИТОГИ ПО
Номенклатура.*,
ХарактеристикаНоменклатуры.*,
ЗаказПокупателя.*,
ДоговорКонтрагента.*,
ДокументПродажи.*,
Подразделение.*,
Проект.*,
Организация.*,
Контрагент.*,
НоменклатураБазоваяЕдиницаИзмерения.*,
Регистратор.*,
Период,
ПериодДень,
ПериодНеделя,
ПериодДекада,
ПериодМесяц,
ПериодКвартал,
ПериодПолугодие,
ПериодГод
//ПСЕВДОНИМЫ_СВОЙСТВА
//ПСЕВДОНИМЫ_КАТЕГОРИИ
}

LexaK

а зачем? вот же у вас в запросе идет расчет КоличествоБезСкидки
Цитировать
ВЫБОР КОГДА ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот = 0
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.КоличествоОборот
//* Номенклатура.ЕдиницаХраненияОстатков.Коэффициент - а вот это зачем? количество в регистрах уже должно быть приведено к базе
КОНЕЦ КАК КоличествоБезСкидки,
если помогло нажмите: Спасибо!

Ксения Замятина

Цитата: LexaK от 15 мар 2019, 13:18
а зачем? вот же у вас в запросе идет расчет КоличествоБезСкидки
Цитировать
ВЫБОР КОГДА ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот = 0
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.КоличествоОборот
//* Номенклатура.ЕдиницаХраненияОстатков.Коэффициент - а вот это зачем? количество в регистрах уже должно быть приведено к базе
КОНЕЦ КАК КоличествоБезСкидки,
Эту часть кода я написала и она считает все общее количество( а мне надо без скидки или со скидкой, без разницы

нужно количество в базовых единицах, поэтому умножается на коэффициент

LexaK

если считает все подряд, то у вас
ИсточникДанных.СтоимостьБезСкидокОборот = ИсточникДанных.СтоимостьОборот
-это значит нет продаж со скидкой! такое тоже бывает.

или как-то по другому считать/определять что была скидка
если помогло нажмите: Спасибо!

Ксения Замятина

Цитата: LexaK от 15 мар 2019, 13:58
если считает все подряд, то у вас
ИсточникДанных.СтоимостьБезСкидокОборот = ИсточникДанных.СтоимостьОборот
-это значит нет продаж со скидкой! такое тоже бывает.

или как-то по другому считать/определять что была скидка

вот на картинке видно, что скидка есть
https://transfiles.ru/qja8m

LexaK

эээ, так это у вас расчет от итогов по группам, вам надо перенести определение количества без скидки на уровень детальных записей,
вот как в запросе, по регистратору (при этом считаем что в одном документе нет товар одновременно со скидкой и без),
если помогло нажмите: Спасибо!

Ксения Замятина

Цитата: LexaK от 15 мар 2019, 15:23
эээ, так это у вас расчет от итогов по группам, вам надо перенести определение количества без скидки на уровень детальных записей,
вот как в запросе, по регистратору (при этом считаем что в одном документе нет товар одновременно со скидкой и без),

:lol::lol:
А можно поподробнее))

LexaK

а вот это - вы используете?
Цитировать
УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБезСкидки", "ВЫБОР КОГДА СтоимостьБезСкидокОборот - СтоимостьОборот = 0 ТОГДА 0 ИНАЧЕ КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КОНЕЦ", "КоличествоБезСкидки",
      "ВЫБОР КОГДА Сумма(СтоимостьБезСкидокОборот) - Сумма( СтоимостьОборот) = 0 ТОГДА 0 ИНАЧЕ Сумма(КоличествоОборот) * сумма(НоменклатураЕдиницаХраненияОстатковКоэффициент) КОНЕЦ");
если да, уберите

и возьмите поля из запроса что в СКД

...
ВЫБОР КОГДА ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот = 0
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.КоличествоОборот
КОНЕЦ КАК КоличествоБезСкидки,
...

поле КоличествоБезСкидки, должно у вас появиться в доступных полях СКД в ресурсах и тд, его и используйте в отчете

если помогло нажмите: Спасибо!

Ксения Замятина

Цитата: LexaK от 15 мар 2019, 17:29
а вот это - вы используете?
Цитировать
УниверсальныйОтчет.ДобавитьПолеРесурс("КоличествоБезСкидки", "ВЫБОР КОГДА СтоимостьБезСкидокОборот - СтоимостьОборот = 0 ТОГДА 0 ИНАЧЕ КоличествоОборот * Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КОНЕЦ", "КоличествоБезСкидки",
      "ВЫБОР КОГДА Сумма(СтоимостьБезСкидокОборот) - Сумма( СтоимостьОборот) = 0 ТОГДА 0 ИНАЧЕ Сумма(КоличествоОборот) * сумма(НоменклатураЕдиницаХраненияОстатковКоэффициент) КОНЕЦ");
если да, уберите

и возьмите поля из запроса что в СКД

...
ВЫБОР КОГДА ИсточникДанных.СтоимостьБезСкидокОборот - ИсточникДанных.СтоимостьОборот = 0
    ТОГДА 0
    ИНАЧЕ ИсточникДанных.КоличествоОборот
КОНЕЦ КАК КоличествоБезСкидки,
...

поле КоличествоБезСкидки, должно у вас появиться в доступных полях СКД в ресурсах и тд, его и используйте в отчете




Так отчет не на СКД. Это типовой Продажи в УПП. Через универсальный отчет строится...
или я чего-то не понимаю:dfbsdfbsdf:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск