Всем привет!
Задача следующая:
Необходимо за период по контрагенту вывести общее количество адресов доставки( различных ) из РН "Продажи".
К примеру если за период было два разных адреса доставки, то необходимо вывести 2.
3 разных - 3 и т.д.
Как это сделать ? направьте на мысль хотя бы.
Пытался функцией Количество(ДокументПродажи.АдресДоставки).
Задача следующая:
Необходимо за период по контрагенту вывести общее количество адресов доставки( различных ) из РН "Продажи".
К примеру если за период было два разных адреса доставки, то необходимо вывести 2.
3 разных - 3 и т.д.
Как это сделать ? направьте на мысль хотя бы.
Пытался функцией Количество(ДокументПродажи.АдресДоставки).
По теме из базы знаний
- Запрос+Пример отчета: Количество дней с остатком товара. Доработанный запрос
- Универсальный диалог выбора периода, даты, времени в заданных границах, для любого стандарта даты и на любом языке. Управляемые формы.
- Динамика количества и стоимости продажи номенклатуры по периодам по сравнению с прошлыми указываемыми периодами с количеством остатков
- Количество документов за период (Управляемые + Обычные формы, все конфигурации)
- [v8] Несколько решений для работы с периодами и датами
Найденные решения
(4) Ну группируете вы не по контрагенту, а по нескольким полям, которые, очевидно, разные в рамках одного и того же адреса доставки. Попробуйте так:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.СерияНоменклатуры КАК СерияНоменклатуры,
ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
ПродажиОбороты.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ПродажиОбороты.ДокументПродажи.АдресДоставки КАК АдресДоставки
ПОМЕСТИТЬ ВТ
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНачало, &ДатаКонца, , ) КАК ПродажиОбороты
ГДЕ
ПродажиОбороты.Контрагент = &Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ.АдресДоставки) КАК КоличествоАдресовДоставки
ПОМЕСТИТЬ КоличестваАдресов
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Номенклатура КАК Номенклатура,
ВТ.СерияНоменклатуры КАК СерияНоменклатуры,
ВТ.ДокументПродажи КАК ДокументПродажи,
ВТ.Контрагент КАК Контрагент,
ВТ.КоличествоОборот КАК КоличествоОборот,
ВТ.СтоимостьОборот КАК СтоимостьОборот,
ВТ.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ВТ.АдресДоставки КАК АдресДоставки,
КоличестваАдресов.КоличествоАдресовДоставки КАК КоличествоАдресовДоставки
ИЗ
ВТ КАК ВТ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличестваАдресов КАК КоличестваАдресов
ПО ВТ.Контрагент = КоличестваАдресов.Контрагент
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
Делаю так, выводит 1. Хотя по факту их 2 разных
ВЫБРАТЬ
ПродажиОбороты.Номенклатура,
ПродажиОбороты.СерияНоменклатуры,
ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
ПродажиОбороты.Контрагент,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СтоимостьОборот,
ПродажиОбороты.СтоимостьБезСкидокОборот,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.ДокументПродажи.АдресДоставки) КАК КоличетсовАДерсов
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНачало, &ДатаКонца, , ) КАК ПродажиОбороты
ГДЕ
ПродажиОбороты.Контрагент = &Контрагент
СГРУППИРОВАТЬ ПО
ПродажиОбороты.Номенклатура,
ПродажиОбороты.СерияНоменклатуры,
ПродажиОбороты.ДокументПродажи,
ПродажиОбороты.Контрагент,
ПродажиОбороты.КоличествоОборот,
ПродажиОбороты.СтоимостьОборот,
ПродажиОбороты.СтоимостьБезСкидокОборот
ПоказатьДелаю так, выводит 1. Хотя по факту их 2 разных
(4) Ну группируете вы не по контрагенту, а по нескольким полям, которые, очевидно, разные в рамках одного и того же адреса доставки. Попробуйте так:
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.СерияНоменклатуры КАК СерияНоменклатуры,
ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
ПродажиОбороты.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ПродажиОбороты.ДокументПродажи.АдресДоставки КАК АдресДоставки
ПОМЕСТИТЬ ВТ
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНачало, &ДатаКонца, , ) КАК ПродажиОбороты
ГДЕ
ПродажиОбороты.Контрагент = &Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Контрагент КАК Контрагент,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВТ.АдресДоставки) КАК КоличествоАдресовДоставки
ПОМЕСТИТЬ КоличестваАдресов
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Номенклатура КАК Номенклатура,
ВТ.СерияНоменклатуры КАК СерияНоменклатуры,
ВТ.ДокументПродажи КАК ДокументПродажи,
ВТ.Контрагент КАК Контрагент,
ВТ.КоличествоОборот КАК КоличествоОборот,
ВТ.СтоимостьОборот КАК СтоимостьОборот,
ВТ.СтоимостьБезСкидокОборот КАК СтоимостьБезСкидокОборот,
ВТ.АдресДоставки КАК АдресДоставки,
КоличестваАдресов.КоличествоАдресовДоставки КАК КоличествоАдресовДоставки
ИЗ
ВТ КАК ВТ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличестваАдресов КАК КоличестваАдресов
ПО ВТ.Контрагент = КоличестваАдресов.Контрагент
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот