Нужно в запросе заменить Кассира на Продавца, вот только проблема в том что Продавец это табличные данные в Чеке.
Пробовал в последнем запросе сделать так:
Но в отчете выводит одинаковые суммы для всех продавцов.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекиИПозицииПродажиВозврата.Чек КАК ЧекККМ,
ЧекиИПозицииПродажиВозврата.Позиция КАК КоличествоПозиций,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекиИПозицииПродажиВозврата.Чек.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА ЧекиИПозицииПродажиВозврата.Позиция
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПозицийПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекиИПозицииПродажиВозврата.Чек.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА ЧекиИПозицииПродажиВозврата.Позиция
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПозицийВозврата
ПОМЕСТИТЬ ЧекиИКоличествоПозиций
ИЗ
(ВЫБРАТЬ
ЧекиИПозиции.Чек КАК Чек,
СУММА(ЧекиИПозиции.Позиция) КАК Позиция
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМТовары.Ссылка КАК Чек,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМТовары.Характеристика КАК Характеристика,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ГДЕ
ЧекККМТовары.Ссылка.Архивный
И ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозвратТовары.Ссылка,
ЧекККМВозвратТовары.Номенклатура,
ЧекККМВозвратТовары.Характеристика,
1
ИЗ
Документ.ЧекККМВозврат.Товары КАК ЧекККМВозвратТовары
ГДЕ
ЧекККМВозвратТовары.Ссылка.Архивный
И ЧекККМВозвратТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода) КАК ЧекиИПозиции
СГРУППИРОВАТЬ ПО
ЧекиИПозиции.Чек) КАК ЧекиИПозицииПродажиВозврата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекККМ.Ссылка КАК ЧекККМ,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА ЧекККМ.СуммаДокумента
ИНАЧЕ 0
КОНЕЦ КАК СуммаПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА ЧекККМ.СуммаДокумента
ИНАЧЕ 0
КОНЕЦ КАК СуммаВозврата,
1 КАК КоличчествоЧеков,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК КоличествоЧековПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК КоличествоЧековВозврата
ПОМЕСТИТЬ ЧекиИСумма
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМПродажи.Ссылка КАК Ссылка,
ЧекККМПродажи.СуммаДокумента КАК СуммаДокумента
ИЗ
Документ.ЧекККМ КАК ЧекККМПродажи
ГДЕ
ЧекККМПродажи.Ссылка.Архивный
И ЧекККМПродажи.Дата >= &НачалоПериода
И (ЧекККМПродажи.Дата <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозврат.Ссылка,
ЧекККМВозврат.СуммаДокумента
ИЗ
Документ.ЧекККМВозврат КАК ЧекККМВозврат
ГДЕ
ЧекККМВозврат.Ссылка.Архивный
И ЧекККМВозврат.Дата >= &НачалоПериода
И (ЧекККМВозврат.Дата <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))) КАК ЧекККМ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекиИСумма.ЧекККМ.КассаККМ КАК КассаККМ,
ЧекиИСумма.ЧекККМ.Кассир КАК Кассир,
ЧекиИСумма.ЧекККМ.Склад КАК Магазин,
ЧекиИСумма.ЧекККМ,
ЧекиИСумма.СуммаПродажи,
ЧекиИСумма.СуммаВозврата,
ЧекиИСумма.КоличчествоЧеков,
ЧекиИСумма.КоличествоЧековПродажи,
ЧекиИСумма.КоличествоЧековВозврата,
ЧекиИКоличествоПозиций.КоличествоПозиций,
ЧекиИКоличествоПозиций.КоличествоПозицийПродажи,
ЧекиИКоличествоПозиций.КоличествоПозицийВозврата
ИЗ
ЧекиИСумма КАК ЧекиИСумма
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИКоличествоПозиций КАК ЧекиИКоличествоПозиций
ПО ЧекиИСумма.ЧекККМ = ЧекиИКоличествоПозиций.ЧекККМ
ПоказатьПробовал в последнем запросе сделать так:
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекиИСумма.ЧекККМ.КассаККМ КАК КассаККМ,
ЧекККМТовары.Продавец КАК Продавец,
ЧекиИСумма.ЧекККМ.Склад КАК Магазин,
ЧекиИСумма.ЧекККМ,
ЧекиИСумма.СуммаПродажи,
ЧекиИСумма.СуммаВозврата,
ЧекиИСумма.КоличчествоЧеков,
ЧекиИСумма.КоличествоЧековПродажи,
ЧекиИСумма.КоличествоЧековВозврата,
ЧекиИКоличествоПозиций.КоличествоПозиций,
ЧекиИКоличествоПозиций.КоличествоПозицийПродажи,
ЧекиИКоличествоПозиций.КоличествоПозицийВозврата
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары,
ЧекиИСумма КАК ЧекиИСумма
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИКоличествоПозиций КАК ЧекиИКоличествоПозиций
ПО ЧекиИСумма.ЧекККМ = ЧекиИКоличествоПозиций.ЧекККМ
ПоказатьНо в отчете выводит одинаковые суммы для всех продавцов.
Прикрепленные файлы:
ОтчетПоЧекамККМ УТ 11.erf
Найденные решения
(19) Если твердая уверенность есть, то можно попробовать вот так:
ВЫБРАТЬ
ЧекККМТовары.Ссылка.Склад КАК Магазин,
ЧекККМТовары.Ссылка.КассаККМ КАК КассаККМ,
ЧекККМТовары.Продавец КАК Продавец,
1 КАК ПозицияЧека,
1 КАК ПозицияПродажи,
0 КАК ПозицияВозврата,
ЧекККМТовары.Сумма КАК СуммаПродажи,
0 КАК СуммаВозврата,
ЧекККМТовары.Ссылка КАК ЧекПродажи,
NULL КАК ЧекВозврата
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ГДЕ
ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозвратТовары.Ссылка.Склад,
ЧекККМВозвратТовары.Ссылка.КассаККМ,
ЧекККМВозвратТовары.Продавец,
1,
0,
1,
0,
ЧекККМВозвратТовары.Сумма,
NULL,
ЧекККМВозвратТовары.Ссылка
ИЗ
Документ.ЧекККМВозврат.Товары КАК ЧекККМВозвратТовары
ГДЕ
ЧекККМВозвратТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец,
ЧекПродажи,
ЧекВозврата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекПродажи) КАК ЧекПродажи,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекВозврата) КАК ЧекВозврата,
ИсходныеДанные.Продавец КАК Продавец
ПОМЕСТИТЬ КоличествоЧековПродавцов
ИЗ
ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Продавец
ИНДЕКСИРОВАТЬ ПО
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ИсходныеДанные.Магазин КАК Магазин,
ИсходныеДанные.КассаККМ КАК КассаККМ,
ИсходныеДанные.Продавец КАК Продавец,
СУММА(ИсходныеДанные.ПозицияЧека) КАК ПозицияЧека,
СУММА(ИсходныеДанные.ПозицияПродажи) КАК ПозицияПродажи,
СУММА(ИсходныеДанные.ПозицияВозврата) КАК ПозицияВозврата,
СУММА(ИсходныеДанные.СуммаПродажи) КАК СуммаПродажи,
СУММА(ИсходныеДанные.СуммаВозврата) КАК СуммаВозврата
ПОМЕСТИТЬ СводныеДанные
ИЗ
ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Магазин,
ИсходныеДанные.КассаККМ,
ИсходныеДанные.Продавец
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ИсходныеДанные
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СводныеДанные.Магазин КАК Магазин,
СводныеДанные.КассаККМ КАК КассаККМ,
СводныеДанные.Продавец КАК Продавец,
СводныеДанные.ПозицияЧека КАК КоличествоПозицийВЧеке,
СводныеДанные.ПозицияПродажи КАК КоличествоПозицийВЧекеПродажи,
СводныеДанные.ПозицияВозврата КАК КоличествоПозицийВЧекеВозврата,
СводныеДанные.СуммаПродажи КАК СуммаПродажи,
СводныеДанные.СуммаВозврата КАК СуммаВозврата,
КоличествоЧековПродавцов.ЧекПродажи + КоличествоЧековПродавцов.ЧекВозврата КАК КоличествоЧеков,
КоличествоЧековПродавцов.ЧекПродажи КАК КоличествоЧековПродажи,
КоличествоЧековПродавцов.ЧекВозврата КАК КоличествоЧековВозврата
ИЗ
СводныеДанные КАК СводныеДанные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличествоЧековПродавцов КАК КоличествоЧековПродавцов
ПО СводныеДанные.Продавец = КоличествоЧековПродавцов.Продавец
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМТовары.Ссылка КАК Чек,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМТовары.Характеристика КАК Характеристика,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
Можно писать просто
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМТовары.Ссылка КАК Чек,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
Какой смысл дергать лишние данные?
Одинаковые суммы выводит - это логично. Он же сумму берет из той таблицы, где нет разбиения на продавцов.
Нужно в таблицах ЧекиИКоличествоПозиций, ЧекиИСумма собирать данные в разрезе продавцов.
ЧекККМТовары.Ссылка КАК Чек,
ЧекККМТовары.Номенклатура КАК Номенклатура,
ЧекККМТовары.Характеристика КАК Характеристика,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
Можно писать просто
ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМТовары.Ссылка КАК Чек,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
Какой смысл дергать лишние данные?
Одинаковые суммы выводит - это логично. Он же сумму берет из той таблицы, где нет разбиения на продавцов.
Нужно в таблицах ЧекиИКоличествоПозиций, ЧекиИСумма собирать данные в разрезе продавцов.
(5) Исправил. А как собирать данные в таблицах ЧекиИКоличествоПозиций и ЧекиИСумма в разрезе продавцов не покажете?
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекиИПозицииПродажиВозврата.Чек КАК ЧекККМ,
ЧекиИПозицииПродажиВозврата.Позиция КАК КоличествоПозиций,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекиИПозицииПродажиВозврата.Чек.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА ЧекиИПозицииПродажиВозврата.Позиция
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПозицийПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекиИПозицииПродажиВозврата.Чек.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА ЧекиИПозицииПродажиВозврата.Позиция
ИНАЧЕ 0
КОНЕЦ КАК КоличествоПозицийВозврата
ПОМЕСТИТЬ ЧекиИКоличествоПозиций
ИЗ
(ВЫБРАТЬ
ЧекиИПозиции.Чек КАК Чек,
СУММА(ЧекиИПозиции.Позиция) КАК Позиция
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМТовары.Ссылка КАК Чек,
1 КАК Позиция
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ГДЕ
ЧекККМТовары.Ссылка.Архивный
И ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозвратТовары.Ссылка,
1
ИЗ
Документ.ЧекККМВозврат.Товары КАК ЧекККМВозвратТовары
ГДЕ
ЧекККМВозвратТовары.Ссылка.Архивный
И ЧекККМВозвратТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода) КАК ЧекиИПозиции
СГРУППИРОВАТЬ ПО
ЧекиИПозиции.Чек) КАК ЧекиИПозицииПродажиВозврата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекККМ.Ссылка КАК ЧекККМ,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА ЧекККМ.СуммаДокумента
ИНАЧЕ 0
КОНЕЦ КАК СуммаПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА ЧекККМ.СуммаДокумента
ИНАЧЕ 0
КОНЕЦ КАК СуммаВозврата,
1 КАК КоличчествоЧеков,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМ)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК КоличествоЧековПродажи,
ВЫБОР
КОГДА ТИПЗНАЧЕНИЯ(ЧекККМ.Ссылка) = ТИП(Документ.ЧекККМВозврат)
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК КоличествоЧековВозврата
ПОМЕСТИТЬ ЧекиИСумма
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
ЧекККМПродажи.Ссылка КАК Ссылка,
ЧекККМПродажи.СуммаДокумента КАК СуммаДокумента
ИЗ
Документ.ЧекККМ КАК ЧекККМПродажи
ГДЕ
ЧекККМПродажи.Ссылка.Архивный
И ЧекККМПродажи.Дата >= &НачалоПериода
И (ЧекККМПродажи.Дата <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозврат.Ссылка,
ЧекККМВозврат.СуммаДокумента
ИЗ
Документ.ЧекККМВозврат КАК ЧекККМВозврат
ГДЕ
ЧекККМВозврат.Ссылка.Архивный
И ЧекККМВозврат.Дата >= &НачалоПериода
И (ЧекККМВозврат.Дата <= &КонецПериода
ИЛИ &КонецПериода = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))) КАК ЧекККМ
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ЧекиИСумма.ЧекККМ.КассаККМ КАК КассаККМ,
ЧекиИСумма.ЧекККМ.Кассир КАК Кассир,
ЧекиИСумма.ЧекККМ.Склад КАК Магазин,
ЧекиИСумма.ЧекККМ,
ЧекиИСумма.СуммаПродажи,
ЧекиИСумма.СуммаВозврата,
ЧекиИСумма.КоличчествоЧеков,
ЧекиИСумма.КоличествоЧековПродажи,
ЧекиИСумма.КоличествоЧековВозврата,
ЧекиИКоличествоПозиций.КоличествоПозиций,
ЧекиИКоличествоПозиций.КоличествоПозицийПродажи,
ЧекиИКоличествоПозиций.КоличествоПозицийВозврата
ИЗ
ЧекиИСумма КАК ЧекиИСумма
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИКоличествоПозиций КАК ЧекиИКоличествоПозиций
ПО ЧекиИСумма.ЧекККМ = ЧекиИКоличествоПозиций.ЧекККМ
Показать
(12) А там действительно "-1" и "-2" не нужны совсем)))
Но результатом такого запроса, как в (7), будет количество чеков подсчитано для каждого продавца.
Вполне возможно, что по условиям задачи это не правильно.
Если на (14) ответом будет 1, то подсчет количества чеков нужно вынести в отдельный пакет.
Но результатом такого запроса, как в (7), будет количество чеков подсчитано для каждого продавца.
Вполне возможно, что по условиям задачи это не правильно.
Если на (14) ответом будет 1, то подсчет количества чеков нужно вынести в отдельный пакет.
У вас первая таблица (ниже) как связана с остальными таблицами? Где СОЕДИНЕНИЕ ?
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары,
ЧекиИСумма КАК ЧекиИСумма
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИКоличествоПозиций КАК ЧекиИКоличествоПозиций
ПО ЧекиИСумма.ЧекККМ = ЧекиИКоличествоПозиций.ЧекККМ
(3)
Не знаю, можно ли писать как вы предложили.
Я обычно пишу примерно так, ниже:
(проверьте правильность указания полей в соединениях ниже)
Не знаю, можно ли писать как вы предложили.
Я обычно пишу примерно так, ниже:
(проверьте правильность указания полей в соединениях ниже)
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИСумма КАК ЧекиИСумма
ПО ЧекККМТовары.ЧекККМ = ЧекиИСумма.ЧекККМ
ЛЕВОЕ СОЕДИНЕНИЕ ЧекиИКоличествоПозиций КАК ЧекиИКоличествоПозиций
ПО ЧекиИСумма.ЧекККМ = ЧекиИКоличествоПозиций.ЧекККМ
Предлагаю сделать примерно так:
ВЫБРАТЬ
ЧекККМТовары.Ссылка.Склад КАК Магазин,
ЧекККМТовары.Ссылка.КассаККМ КАК КассаККМ,
ЧекККМТовары.Продавец КАК Продавец,
1 КАК ПозицияЧека,
1 КАК ПозицияПродажи,
0 КАК ПозицияВозврата,
ЧекККМТовары.Сумма КАК СуммаПродажи,
0 КАК СуммаВозврата,
ЧекККМТовары.Ссылка КАК ЧекПродажи,
NULL КАК ЧекВозврата
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозвратТовары.Ссылка.Склад,
ЧекККМВозвратТовары.Ссылка.КассаККМ,
ЧекККМВозвратТовары.Продавец,
1,
0,
1,
0,
ЧекККМВозвратТовары.Сумма,
NULL,
ЧекККМВозвратТовары.Ссылка
ИЗ
Документ.ЧекККМВозврат.Товары КАК ЧекККМВозвратТовары
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ИсходныеДанные.Магазин КАК Магазин,
ИсходныеДанные.КассаККМ КАК КассаККМ,
ИсходныеДанные.Продавец КАК Продавец,
СУММА(ИсходныеДанные.ПозицияЧека) КАК ПозицияЧека,
СУММА(ИсходныеДанные.ПозицияПродажи) КАК ПозицияПродажи,
СУММА(ИсходныеДанные.ПозицияВозврата) КАК ПозицияВозврата,
СУММА(ИсходныеДанные.СуммаПродажи) КАК СуммаПродажи,
СУММА(ИсходныеДанные.СуммаВозврата) КАК СуммаВозврата,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекПродажи) КАК КоличествоЧековПродажи,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекВозврата) КАК КоличествоЧековВозврата
ПОМЕСТИТЬ СводныеДанные
ИЗ
ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Магазин,
ИсходныеДанные.КассаККМ,
ИсходныеДанные.Продавец
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ИсходныеДанные
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СводныеДанные.Магазин КАК Магазин,
СводныеДанные.КассаККМ КАК КассаККМ,
СводныеДанные.Продавец КАК Продавец,
СводныеДанные.ПозицияЧека КАК ПозицияЧека,
СводныеДанные.ПозицияПродажи КАК ПозицияПродажи,
СводныеДанные.ПозицияВозврата КАК ПозицияВозврата,
СводныеДанные.СуммаПродажи КАК СуммаПродажи,
СводныеДанные.СуммаВозврата КАК СуммаВозврата,
СводныеДанные.КоличествоЧековПродажи - 1 КАК КоличествоЧековПродажи,
СводныеДанные.КоличествоЧековВозврата - 1 КАК КоличествоЧековВозврата,
СводныеДанные.КоличествоЧековПродажи + СводныеДанные.КоличествоЧековВозврата - 2 КАК КоличествоЧеков
ИЗ
СводныеДанные КАК СводныеДанные
Показать
(7) Что-то ничего не получается, пробовал ваш код, выводит не верные данные.
Посмотрите пожалуйста исходник отчета.
Посмотрите пожалуйста исходник отчета.
Прикрепленные файлы:
ОтчетПоЧекамККМ УТ 11.erf
![](/upload/forum/upload/f93/f931f088bc26645a595afa366f13f66f.jpg)
(9) см. скриншот в (8). Я на тестовой базе смотрю. Создал два продавца "Администратор" и "Продавец". У Продавца один чек с одной позицией на 295 руб. А в отчете видим что Средние суммы вообще отсутствуют, а Среднее кол-во номенк. позиций в чеке "-1". Так же из отчета исчезли графы Сумма чеков и Количество чеков.
(19) Если твердая уверенность есть, то можно попробовать вот так:
ВЫБРАТЬ
ЧекККМТовары.Ссылка.Склад КАК Магазин,
ЧекККМТовары.Ссылка.КассаККМ КАК КассаККМ,
ЧекККМТовары.Продавец КАК Продавец,
1 КАК ПозицияЧека,
1 КАК ПозицияПродажи,
0 КАК ПозицияВозврата,
ЧекККМТовары.Сумма КАК СуммаПродажи,
0 КАК СуммаВозврата,
ЧекККМТовары.Ссылка КАК ЧекПродажи,
NULL КАК ЧекВозврата
ПОМЕСТИТЬ ИсходныеДанные
ИЗ
Документ.ЧекККМ.Товары КАК ЧекККМТовары
ГДЕ
ЧекККМТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЧекККМВозвратТовары.Ссылка.Склад,
ЧекККМВозвратТовары.Ссылка.КассаККМ,
ЧекККМВозвратТовары.Продавец,
1,
0,
1,
0,
ЧекККМВозвратТовары.Сумма,
NULL,
ЧекККМВозвратТовары.Ссылка
ИЗ
Документ.ЧекККМВозврат.Товары КАК ЧекККМВозвратТовары
ГДЕ
ЧекККМВозвратТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец,
ЧекПродажи,
ЧекВозврата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекПродажи) КАК ЧекПродажи,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ИсходныеДанные.ЧекВозврата) КАК ЧекВозврата,
ИсходныеДанные.Продавец КАК Продавец
ПОМЕСТИТЬ КоличествоЧековПродавцов
ИЗ
ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Продавец
ИНДЕКСИРОВАТЬ ПО
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ИсходныеДанные.Магазин КАК Магазин,
ИсходныеДанные.КассаККМ КАК КассаККМ,
ИсходныеДанные.Продавец КАК Продавец,
СУММА(ИсходныеДанные.ПозицияЧека) КАК ПозицияЧека,
СУММА(ИсходныеДанные.ПозицияПродажи) КАК ПозицияПродажи,
СУММА(ИсходныеДанные.ПозицияВозврата) КАК ПозицияВозврата,
СУММА(ИсходныеДанные.СуммаПродажи) КАК СуммаПродажи,
СУММА(ИсходныеДанные.СуммаВозврата) КАК СуммаВозврата
ПОМЕСТИТЬ СводныеДанные
ИЗ
ИсходныеДанные КАК ИсходныеДанные
СГРУППИРОВАТЬ ПО
ИсходныеДанные.Магазин,
ИсходныеДанные.КассаККМ,
ИсходныеДанные.Продавец
ИНДЕКСИРОВАТЬ ПО
Магазин,
КассаККМ,
Продавец
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ИсходныеДанные
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
СводныеДанные.Магазин КАК Магазин,
СводныеДанные.КассаККМ КАК КассаККМ,
СводныеДанные.Продавец КАК Продавец,
СводныеДанные.ПозицияЧека КАК КоличествоПозицийВЧеке,
СводныеДанные.ПозицияПродажи КАК КоличествоПозицийВЧекеПродажи,
СводныеДанные.ПозицияВозврата КАК КоличествоПозицийВЧекеВозврата,
СводныеДанные.СуммаПродажи КАК СуммаПродажи,
СводныеДанные.СуммаВозврата КАК СуммаВозврата,
КоличествоЧековПродавцов.ЧекПродажи + КоличествоЧековПродавцов.ЧекВозврата КАК КоличествоЧеков,
КоличествоЧековПродавцов.ЧекПродажи КАК КоличествоЧековПродажи,
КоличествоЧековПродавцов.ЧекВозврата КАК КоличествоЧековВозврата
ИЗ
СводныеДанные КАК СводныеДанные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ КоличествоЧековПродавцов КАК КоличествоЧековПродавцов
ПО СводныеДанные.Продавец = КоличествоЧековПродавцов.Продавец
Показать
(21) Сложно сказать не видя того, что в СКД...
Посмотрите файл отчета, на демо-базе он работает и все группировки видны.
Посмотрите файл отчета, на демо-базе он работает и все группировки видны.
Прикрепленные файлы:
ОтчетПоЧекамККМ УТ 11.erf
(22) Нашлась ошибка, если Продавец продавал в двух магазинах (один день в одном, а другой день в другом), то количество чеков отображается общее и в одном и в другом магазине, это не верно, отсюда и неправильный расчет средних показателей.
Прикрепленные файлы:
![](/upload/forum/upload/ad0/ad08d5323c7c2cbd3a618b525261a7d3.jpg)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот