8.х Запрос- отобрать записи по условию

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем desintegrer, 17 июл 2011.

  1. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте !

    Подскажите пожалуйста - ситуация следующая .

    В обработки для заполнения табличной части используется запрос .

    Для того чтобы получать информацию о скидках пришлось его переделать .


    Раньше был запрос по регисттру .

    Теперь запроос по регистру + левое соединение с документом (где указаны скидки).

    НО раньше в результате выводилось например 3 записи (товар продан 3 раза за месяц)
    Теперь вывождится 6ть записей в 3х из которых данные из документа не попадают.(возможно это группировки а может и нет)


    Как сделать чтобы не выводились эти ненужные записи без данных ???

    http://saveimg.ru/show-image.php?id=d08de4...040129f972a199c

    http://saveimg.ru/show-image.php?id=50011f...b7871bf857b119a
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Выкладывайте запрос, гадание по кофейной гуще на данном форуме не практикуется.
  3. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Текст запроса :

    Код:
    "ВЫБРАТЬ
    |	ПродажиОбороты.ДокументПродажи.Дата КАК Дата,
    |	ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |	ПродажиОбороты.Контрагент КАК Контрагент,
    |	ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
    |	ПродажиОбороты.ДокументПродажи.ТипЦен КАК ТипЦен,
    |	ПродажиОбороты.ХарактеристикаНоменклатуры,
    |	ПродажиОбороты.КоличествоОборот КАК Количество,
    |	ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
    |	ОтчетОРозничныхПродажах.ПроцентСкидкиНаценки КАК РучнаяСкидка,
    |	ОтчетОРозничныхПродажах.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
    |   ОтчетОРозничныхПродажах.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
    |   ОтчетОРозничныхПродажах.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
    |	ВЫБОР
    |		КОГДА СУММА(ПродажиОбороты.КоличествоОборот) > 0
    |			ТОГДА СУММА(ПродажиОбороты.СтоимостьОборот) / СУММА(ПродажиОбороты.КоличествоОборот)
    |		ИНАЧЕ 0
    |	КОНЕЦ КАК ЦенаПродажи
    |ИЗ
    |	РегистрНакопления.Продажи.Обороты(, &ДатаКон, , Номенклатура = &ТекНоменклатура) КАК ПродажиОбороты
    |    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажах
    |    ПО ПродажиОбороты.Номенклатура.Ссылка = ОтчетОРозничныхПродажах.Номенклатура.Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |	ПродажиОбороты.ДокументПродажи.Дата,
    |	ПродажиОбороты.ДоговорКонтрагента,
    |	ПродажиОбороты.Контрагент,
    |	ПродажиОбороты.ДокументПродажи,
    |	ПродажиОбороты.ДокументПродажи.ТипЦен,
    |	ПродажиОбороты.ХарактеристикаНоменклатуры,
    |	ПродажиОбороты.КоличествоОборот,
    |	ПродажиОбороты.СтоимостьОборот,   
    |   ОтчетОРозничныхПродажах.ПроцентСкидкиНаценки,
    |	ОтчетОРозничныхПродажах.ПроцентАвтоматическихСкидок, 
    |   ОтчетОРозничныхПродажах.УсловиеАвтоматическойСкидки,
    |   ОтчетОРозничныхПродажах.ЗначениеУсловияАвтоматическойСкидки
    |
    |УПОРЯДОЧИТЬ ПО
    |	Дата УБЫВ";
    
    
    Может нужно запрос изменить или после сделать отбор из результата запроса ???
  4. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Может кто подскажет как все-таки - сделать выборку из выборки ??? (ну или как изменить саму выборку)
  5. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    выборку из выборки...

    Выбрать
    Поле1,
    СУММА(Поле2),
    СУММА(Поле3)
    ИЗ
    (Выбрать
    тут твой запрос)
    СГРУППИРОВАТЬ ПО Поле1
  6. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    :angry: Спасибо Дмитрий Сейчас попробую . Отпишусь о результатах .
  7. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Если так то пишет , что синтаксическая ошибка ИЗ

    Код:
    Выбрать
    Дата,
    ДоговорКонтрагента,
    Контрагент,
    ДокументПродажи,
    ТипЦен,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    Количество,
    СтоимостьОборот,
    РучнаяСкидка,
    АвтоматическаяСкидка,
    УсловиеАвтоматическойСкидки,
    ЗначениеУсловияАвтоматическойСкидки,
    ИЗ  
    (ВЫБРАТЬ
    ПродажиОбороты.ДокументПродажи.Дата КАК Дата,
    ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.ДокументПродажи КАК ДокументПродажи,
    ПродажиОбороты.ДокументПродажи.ТипЦен КАК ТипЦен,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    ПродажиОбороты.КоличествоОборот КАК Количество,
    ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот,
    ОтчетОРозничныхПродажах.ПроцентСкидкиНаценки КАК РучнаяСкидка,
    ОтчетОРозничныхПродажах.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
    ОтчетОРозничныхПродажах.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
    ОтчетОРозничныхПродажах.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
    ВЫБОР
    КОГДА СУММА(ПродажиОбороты.КоличествоОборот) > 0
    ТОГДА СУММА(ПродажиОбороты.СтоимостьОборот) / СУММА(ПродажиОбороты.КоличествоОборот)
    ИНАЧЕ 0
    КОНЕЦ КАК ЦенаПродажи
    ИЗ
    РегистрНакопления.Продажи.Обороты(, &ДатаКон, , Номенклатура = &ТекНоменклатура) КАК ПродажиОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажах
    ПО ПродажиОбороты.Номенклатура.Ссылка = ОтчетОРозничныхПродажах.Номенклатура.Ссылка
    
    СГРУППИРОВАТЬ ПО
    ПродажиОбороты.ДокументПродажи.Дата,
    ПродажиОбороты.ДоговорКонтрагента,
    ПродажиОбороты.Контрагент,
    ПродажиОбороты.ДокументПродажи,
    ПродажиОбороты.ДокументПродажи.ТипЦен,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.СтоимостьОборот,   
    ОтчетОРозничныхПродажах.ПроцентСкидкиНаценки,
    ОтчетОРозничныхПродажах.ПроцентАвтоматическихСкидок, 
    ОтчетОРозничныхПродажах.УсловиеАвтоматическойСкидки,
    ОтчетОРозничныхПродажах.ЗначениеУсловияАвтоматическойСкидки
    
    УПОРЯДОЧИТЬ ПО
    Дата УБЫВ)
    СГРУППИРОВАТЬ ПО Дата 
    
    
    
    И где тут вставить условие где ? перед сгруппировать ?
  8. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Как бы задать такое условие :

    Если есть 2 записи с одинаковым документом регистратором то оставить ту запись у которой поле Ручная или автоматическая скидка больше 0 ????????????
  9. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте решил проблему через когда .

    Но возник следующий вопрос :

    Ситуация товар продан 3 раза :
    1 с ручной скидкой
    2 дубль
    3 с автоскидкой
    4 дубль
    5 без скидки (визуально похож на дубль)


    Допустим я делаю отбор


    1Если ручная скидка больше 0 то

    2Иначе если автоскидка больше 0 то

    3ИначеЕсли Автоскидка= 0 и ручнаяскидка =0 и (здесь условие как выбрать только продажи без скидки а не дубли)

    конецесли

    Вопрос в том как задать условие чтобы выбирались продажи без скидки а не дубли .

    а отличие у них какое я только заметил Повторяющиеся ДоекументРегистратор т.е. если Документ регистратор в выборке не повторяется и у него скидки нулевые - значит это продажа без скидки .

    Как задать такое условие выборки НЕ ПОВТОРЯЮЩИЙСЯ ДОКУМЕНТРЕГИсТРАТОР
  10. TopicStarter Overlay
    desintegrer
    Offline

    desintegrer Опытный в 1С

    Регистрация:
    11 май 2011
    Сообщения:
    377
    Симпатии:
    0
    Баллы:
    26
    Изменю вопрос если не понятно

    Допустим есть таблица значений1 и таблица значений 2

    колонка Документ-регистратор

    Как из в таблицу 1 выбрать только те значения которые отсутсвуют в таблице 2 ???
  11. shurikvz
    Online

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Не понял. Что должен получить запрос и каким должен быть результат.

    Если в документах например:
    1. Товар 1. Авт.Скидка - 10%
    2. Товар 1. Авт.Скидка - 5%
    Что должно быть в выборке?
  12. deniseek
    Offline

    deniseek

    Регистрация:
    19 сен 2006
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Надо мутить в сторону РАЗЛИЧНЫЕ

    И из гуппировки убери
    ОтчетОРозничныхПродажах.ПроцентАвтоматическихСкидок,

    ОтчетОРозничныхПродажах.УсловиеАвтоматическойСкидки,
Похожие темы
  1. Snickbw
    Ответов:
    1
    Просмотров:
    772
  2. Franc333_2008
    Ответов:
    15
    Просмотров:
    1.570
  3. shurikvz
    Ответов:
    2
    Просмотров:
    825
  4. bonifacy7
    Ответов:
    1
    Просмотров:
    316
  5. midavp
    Ответов:
    4
    Просмотров:
    907
Загрузка...

Поделиться этой страницей