Имя: Пароль:
1C
1С v8
Сверка чеков ККМ и Отчета о розничных продажах в УТ 11.1
,
0 Надюшка
 
26.11.15
10:05
Добрый день! Только познаю 1С 8..
Конфигуация УТ 11.1.  Нужен отчет, который сравнивает товары в Чеках ККМ и в Отчете о розничных продажах. Причем нужно вывести товары, которые есть в Чеках и нет в Отчете и есть в Отчете, но нет в Чеках..
Определяю Регистратор ы параметрах, как конкретный документ Отчет о розничных продажах (как по другому ограничить движения по регистру по регистратору не знаю..)
Подскажите пожалуйста, что не так в Запросе:

ВЫБРАТЬ
    ЧекККМТовары.Ссылка.Ссылка,
    ЧекККМТовары.Ссылка.Проведен,
    ЧекККМТовары.Номенклатура.Ссылка,
    ЧекККМТовары.Количество,
    ЧекККМТовары.Сумма,
    ЧекККМТовары.Ссылка.Дата,
    ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Ссылка,
    ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот,
    ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот КАК СуммаВыручкиОборот,
    ВыручкаИСебестоимостьПродажОбороты.Регистратор
ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ПО ЧекККМТовары.Номенклатура.Ссылка = ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Ссылка
ГДЕ
    ЧекККМТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
    И ВыручкаИСебестоимостьПродажОбороты.Регистратор = &Регистратор

Выводятся только те товары, которые есть и в чеках и в отчете..(((
1 Надюшка
 
26.11.15
11:05
Ну подскажите, пожалуйста!
2 mehfk
 
26.11.15
11:09
ГДЕ
    ЧекККМТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
    И ВыручкаИСебестоимостьПродажОбороты.Регистратор = &Регистратор

это сделало твое полное соединение внутренним
3 Надюшка
 
26.11.15
11:15
(2) Спасибо!
А как же правильно сделать? Как ограничить обороты по Регистратору и чтобы было Полное соединение?
4 mehfk
 
26.11.15
11:16
Ну, например, сделать две вложенные выборки, а уже потом соединять.
5 mehfk
 
26.11.15
11:17
две выборки с нужными условиями
6 mehfk
 
26.11.15
11:18
типа
выбрать чтото из (выбрать из таб1 где чтото1) полное соединение (выбрать из таб2 где чтото2) по условиясоединения
7 Надюшка
 
26.11.15
11:20
(6) Спасибо! Попробую.
8 Cyberhawk
 
26.11.15
11:26
Замени "И" на "ИЛИ"
9 Надюшка
 
26.11.15
11:32
(8)  Здесь?
И ВыручкаИСебестоимостьПродажОбороты.Регистратор = &Регистратор
10 mTema32
 
26.11.15
11:38
(0) Я бы через ВТ сделал. Сначала все данные из чеков, потом из документа ОРП, а потом соединил две таблички.
11 Надюшка
 
26.11.15
11:54
(10) Смысл понимаю, а объединить в СКД не получается...
12 Cyberhawk
 
26.11.15
12:02
(9) Изначально думал, что да. Но сейчас подумал, что (2) неправ, да и мой совет не поможет.
Объясни, как ты поняла, что "Выводятся только те товары, которые есть и в чеках и в отчете", ну т.е. откуда ты это знаешь?
13 mehfk
 
26.11.15
12:04
(12) Кто неправ?
14 Cyberhawk
 
26.11.15
12:12
(13) О как напрягся :) Я подумал еще раз, проверил и пришел к выводу, что ты все-таки в (2) прав
(11) В консоли запросов сначала добейся вывода нужного тебе результата, потом уже в СКД перенесешь
15 Надюшка
 
26.11.15
12:16
(14) Хорошо! Спасибо!
16 Cyberhawk
 
26.11.15
12:17
Придумал, как изменить запрос:

ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ПО (ЧекККМТовары.Номенклатура.Ссылка = ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Ссылка И ВыручкаИСебестоимостьПродажОбороты.Регистратор = &Регистратор
ГДЕ
    ЧекККМТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
17 Cyberhawk
 
26.11.15
12:17
Закрывающую скобочку забыл в условии соединения
18 Cyberhawk
 
26.11.15
12:21
А чтобы вывел только те, которые не совпадают, добавить в условие ГДЕ:
И (ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура.Ссылка is null or ЧекККМТовары.Номенклатура.Ссылка is null)
19 Cyberhawk
 
26.11.15
12:49
А не, неправильно. Теперь вот так будет правильно (проверил):

ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ПО (ВыручкаИСебестоимостьПродажОбороты.Регистратор В (&Регистратор))
            И ЧекККМТовары.Номенклатура.Ссылка = ВыручкаИСебестоимостьПродажОбороты.Номенклатура.Ссылка
ГДЕ
    ВЫБОР
            КОГДА НЕ ЧекККМТовары.Номенклатура.Ссылка ЕСТЬ NULL
                ТОГДА ЧекККМТовары.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
            ИНАЧЕ ВыручкаИСебестоимостьПродажОбороты.Регистратор В (&Регистратор)
        КОНЕЦ
    И (ВыручкаИСебестоимостьПродажОбороты.Номенклатура.Ссылка ЕСТЬ NULL
            ИЛИ ЧекККМТовары.Номенклатура.Ссылка ЕСТЬ NULL )