Имя: Пароль:
1C
1С v8
СКД как сложить количество чеков возврата?
,
0 Virus32BioScan
 
09.10.18
03:30
ВЫБРАТЬ
    ВЫБОР
        КОГДА Пользователи.ФизическоеЛицо.Ссылка ЕСТЬ NULL
            ТОГДА ОтчетОРозничныхПродажахОсновной.Ответственный
        ИНАЧЕ Пользователи.ФизическоеЛицо
    КОНЕЦ КАК ФизическоеЛицо,
    ОтчетОРозничныхПродажахОсновной.Магазин КАК Магазин,
    ОтчетОРозничныхПродажахОсновной.Дата КАК Дата,
    ОтчетОРозничныхПродажахОсновной.СуммаДокумента КАК СуммаДокумента,
    ОтчетОРозничныхПродажахОсновной.СуммаВозвратов КАК СуммаВозвратов,
    ОтчетОРозничныхПродажахОсновной.СуммаОплатыНаличных КАК СуммаОплатыНаличных,
    ОтчетОРозничныхПродажахОсновной.ОплатаПлатежнымиКартами.(
        Сумма КАК Сумма
    ) КАК ОплатаПлатежнымиКартами,
    ВЫБОР
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 1
            ТОГДА "Понедельник"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 2
            ТОГДА "Вторник"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 3
            ТОГДА "Среда"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 4
            ТОГДА "Четверг"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 5
            ТОГДА "Пятница"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 6
            ТОГДА "Суббота"
        КОГДА ДЕНЬНЕДЕЛИ(ОтчетОРозничныхПродажахОсновной.Дата) = 7
            ТОГДА "Воскресенье"
    КОНЕЦ КАК Поле1,
    ВЫБОР
        КОГДА ЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат)
            ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ КАК ЭтоВозврат
ИЗ
    Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажахОсновной
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК Пользователи
        ПО ОтчетОРозничныхПродажахОсновной.Ответственный = Пользователи.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ
        ПО ОтчетОРозничныхПродажахОсновной.Ссылка = ЧекККМ.ОтчетОРозничныхПродажах.Ссылка
ГДЕ
    ОтчетОРозничныхПродажахОсновной.Дата МЕЖДУ &ДатаНач И &ДатаКонец
В Ресурсах Сумма(ЭтоВозврат)
Проблема в том что задваивает строки
1 Virus32BioScan
 
09.10.18
03:33
пример:
Кассир 02.01.2018    Вторник    1    5 606,00    5 606,00        
Кассир 02.01.2018    Вторник    1    5 606,00    5 606,00
2 seevkik
 
09.10.18
03:45
Проверь сколько возвратов было, он не суммирует эти строки
3 Virus32BioScan
 
09.10.18
03:54
Возвратов не было, но он и должен показывать что их 0
4 seevkik
 
09.10.18
04:06
Из-за соединения с чеками будет столько строк сколько чеков если не проссумировать поле ЭтоВозврат
надо прогуглить что делает ресурс в СКД
+ соединение с пользователями думаю лишнее, можно брать данные ответственного через точку от ответственного - 1с само сделает соединение, явно его указывать не обязательно
5 Virus32BioScan
 
09.10.18
04:15
seevkik это не лишнее (Нужно для корректного отображения кассира) и проблемы не касается
6 seevkik
 
09.10.18
04:19
(5) то была рекомендация,  
ВЫБОР
        КОГДА ОтчетОРозничныхПродажахОсновной.Ответственный.ФизическоеЛицо.Ссылка ЕСТЬ NULL
            ТОГДА ОтчетОРозничныхПродажахОсновной.Ответственный
        ИНАЧЕ ОтчетОРозничныхПродажахОсновной.Ответственный.ФизическоеЛицо
    КОНЕЦ КАК ФизическоеЛицо
будет работать, соединение может быть лишним

а дубли из-за соединения с чеками - будет столько строк сколько чеков, надо проссумировать поле ЭтоВозврат
7 seevkik
 
09.10.18
04:27
(5) да и работать вроде не будет, потому что "Пользователи.ФизическоеЛицо.Ссылка" не null, а пустая ссылка
8 Virus32BioScan
 
09.10.18
04:27
да я уже понял что строк будет столько сколько чеков, просуммировать в запросе не могу (нельзя группировать по полям внешних таблиц) а в самом СКД добавляю ресурс сумма, но он продолжает двоить
9 Virus32BioScan
 
09.10.18
04:28
(7) Работает
10 seevkik
 
09.10.18
04:34
(8) тогда (4) "надо прогуглить что делает ресурс в СКД"
он делает не то что вы хотите)
11 Virus32BioScan
 
09.10.18
07:11
Вопрос более не актуален (создал вложенный запрос тем самым нивелировал ошибку "нельзя группировать по полям внешних таблиц"
12 fenement
 
09.10.18
07:18
Я бы немного по-другому сделал запрос.
1)Вначале сделай отдельную временную таблицу по чекам возврата
2) А затем соединяй её в основном запросе