Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД_ Задвоенная строка данных

СКД_ Задвоенная строка данных
Я
   Pchelinka
 
26.04.19 - 14:32
Добрый день.

Помогите, пожалуйста победить отчет)

Попросили в отчете по реализации вывести Причину скидки в отчет и отбор. Причина скидки есть только в Чеке, в ТЧ Товары напротив номенклатуры.

Отчет у меня строится по регистру накопления Продажи, в котором отображаются продажи по документу Отчет о розничных продажах. Этот Отчет о розничных продажах, является документом закрытия смены за день,в него перетекают все чеки магазина,  с ссылкой в ТЧ Товаров на конкретный чек построчно напротив каждой номенклатуры, только вот информация о Причине скидки из чека не перелетает(. Для решения поставленной задачи, я в СКД дописываю вложенный запрос по чекам и связываю по ссылке на Чек, номенклатуре, характеристике. Все бы хорошо, Причина скидки выводится, только есть еще непобедимый мной момент.

Если в документе Отчет о розничных продажах, есть возврат и продажа по одинаковой номенклатуре она сворачивается. Есть случаи когда в текущем дне идет возврат от продажи в другом дне с другой ценой, номенклатура сворачивается на разницу и тут возникает моя загвоздка для вывода. В Регистр попадает только свернутая сумма, только одна запись с ссылкой на данный Отчет, а у меня в одном чеке есть Причина скидки а в другом чеке, на продажу например, Причины скидки нет!(( Два чека с причиной и без, у меня ссылаются на один документ и одну запись в регистре, соответственно когда я соединяю по чекам, у меня в отчете дважды выводится запись с Причиной и без.

Что порекомендуете, как поступить в данном случае, чтобы у меня выводилась только одна строка и не было задвоения суммы реализации в описанных выше случаях.
 
 
   1Сергей
 
1 - 26.04.19 - 14:37
нужно связи настроить так, чтобы была однозначная привязка
   Pchelinka
 
2 - 26.04.19 - 14:54
трабыл в моем случае в том,что я пытаюсь у одной записи получить ссылку на мои разные чеки с причиной и без причины( если бы запись в регистр шла без сворачивания все было бы хорошо. Как ее по другому настроить связь в такой вот нестандартной ситуации. Может можно на выходе СКД пробегать удалять лишнюю строку? Или в связи условие можно ли написать, что если обращается к одной записи два чека, брать первый попавшийся..?
   Йохохо
 
3 - 26.04.19 - 15:18
рег внутреннее соединение отчет по рег.чек = отчет.чек и отчет.причина <> ЗНАЧЕНИЕ(справочник.причиныскидок.пустаяссылка)
так? не зна что там причины скидок
   Pchelinka
 
4 - 26.04.19 - 16:21
Йохохо, спасибо)) да, там справочник причин)) провожу анализ, что получилось))
   Pchelinka
 
5 - 26.04.19 - 16:34
ушел вариант когда в одном чеке было пусто в причине а в другом заполненно, спасибо))  но есть вариант, когда в двух чеках указана причина.. тогда задвоение остается(
   Йохохо
 
6 - 26.04.19 - 16:36
сформулируйте что с такими чеками делать с постановщиком задачи, они могут быть и нужны и не нужны. если не нужны оборачивайте запрос по отчет в вложенный или в вт
   Pchelinka
 
7 - 26.04.19 - 17:44
нужна запись регитсра точно, что продалось, чтобы итог продаж был корректным, а насчет причины из чека чтоб прописалась можно одну из двух тут не критично
   runoff_runoff
 
8 - 26.04.19 - 17:52
отдельный набор данных - запрос.. скгруппировать по Номенклатура
   Pchelinka
 
9 - 26.04.19 - 20:36
если в отдельном запросе связать док  Отчет о розничных продажах с Чеком, подставить к Отчету значение из чека о Причине скидки, а потом по номенклатуре, характеристике и документу  Отчет о розничных продажах сгруппировать..мне все равно не понятно как оставить в этом случае одно из двух значений в причине скидки..?(( Например, получился результат: Куртка_50, SS-19_причина_Персонал=2000грн и вторая строка  Куртка_50, SS-19_причина_Подарок=-1500 Должна остаться тогда  Куртка_50, SS-19_причина_Персонал=500грн
   runoff_runoff
 
10 - 26.04.19 - 22:17
временная таблица поможет
   Pchelinka
 
11 - 30.04.19 - 14:42
Что-то у меня не выходит добиться положительного результата..(((
В одной ВТ я отобрала док Отчет о розничных продажах, в документе есть данные о продаже Товара Х с двух чеков один на продажу сегодня за 2000грн с причиной Персонал и второй чек возврата вчерашняя (те другой продажи)за -1500грн с причиной Подарок. Мне нужно данные этого дока свернуть до номенклатуры, чтобы вышла одна строка Товар Х=500грн и одна причина, но так не получается.. тк я не могу указать что мне нужна причина, у которой например хвост суммы идет в остаток, те 500 грн- причина Персонал.
Номенклатура сворачивается до суммы если я не вывожу детализацию по причине, иначе выводит две строки с 2000 грн и 1500грн

пока мучаю вот такой запрос:
 ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЕСТЬNULL(Розница.Ссылка, НЕОПРЕДЕЛЕНО) КАК ДокОтчет,
    ЕСТЬNULL(Розница.Номенклатура, НЕОПРЕДЕЛЕНО) КАК Номенклатура,
    ЕСТЬNULL(Розница.ХарактеристикаНоменклатуры, НЕОПРЕДЕЛЕНО) КАК ХарактеристикаНоменклатуры,
    СУММА(Розница.Количество) КАК Количество,
    СУММА(Розница.Сумма) КАК Сумма,
    Розница.Ссылка.Склад КАК Склад,
    Розница.Чек,
    ДокЧек.ПричинаРучнойСкидки
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ОтчетОРозничныхПродажахТовары.Ссылка КАК Ссылка,
        ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
        ОтчетОРозничныхПродажахТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
        СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма,
        ОтчетОРозничныхПродажахТовары.Чек КАК Чек,
        ОтчетОРозничныхПродажахТовары.ПричинаРучнойСкидки КАК ПричинаРучнойСкидки
    ИЗ
        Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
    ГДЕ
        ОтчетОРозничныхПродажахТовары.Ссылка.Проведен
        И ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    
    СГРУППИРОВАТЬ ПО
        ОтчетОРозничныхПродажахТовары.Ссылка,
        ОтчетОРозничныхПродажахТовары.Номенклатура,
        ОтчетОРозничныхПродажахТовары.ХарактеристикаНоменклатуры,
        ОтчетОРозничныхПродажахТовары.Чек,
        ОтчетОРозничныхПродажахТовары.ПричинаРучнойСкидки) КАК Розница
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            ЧекККМТовары.Ссылка КАК Ссылка,
            ЧекККМТовары.Номенклатура КАК Номенклатура,
            ЧекККМТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ЧекККМТовары.ПричинаРучнойСкидки КАК ПричинаРучнойСкидки
        ИЗ
            Документ.ЧекККМ.Товары КАК ЧекККМТовары
        ГДЕ
            ЧекККМТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
            И ЧекККМТовары.Ссылка.Проведен) КАК ДокЧек
        ПО Розница.Чек = ДокЧек.Ссылка
            И Розница.Номенклатура = ДокЧек.Номенклатура
            И Розница.ХарактеристикаНоменклатуры = ДокЧек.ХарактеристикаНоменклатуры
{ГДЕ
    Розница.Номенклатура.*,
    Розница.ХарактеристикаНоменклатуры.*}

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(Розница.Ссылка, НЕОПРЕДЕЛЕНО),
    ЕСТЬNULL(Розница.Номенклатура, НЕОПРЕДЕЛЕНО),
    ЕСТЬNULL(Розница.ХарактеристикаНоменклатуры, НЕОПРЕДЕЛЕНО),
    Розница.Ссылка.Склад,
    Розница.Чек,
    ДокЧек.ПричинаРучнойСкидки

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.