Вопрос по запросу

Тема в разделе "1C и всё что с ней связано", создана пользователем konst, 20 май 2009.

Статус темы:
Закрыта.
  1. konst

    konst Гость

    Делаю запрос (необходимо получить выборку содержащую номенклатуру и все типы цен для нее, если тип цен не установлен цена =0)
    ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Наименование,
    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
    ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
    ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры
    ПО ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка
    ИТОГИ ПО
    Наименование ИЕРАРХИЯ

    Затем вывожу результат в ДеревоЗначений
    Получаю примерно следующее
    Группа
    Номенклатура1
    Номенклатура1 Опт1
    Номенклатура2
    Номенклатура2 Опт2

    Для Номенклатура1 тип цен Опт2 не определен (отсутствует в регистре движение)
    Для Номенклатура2 тип цен Опт1 не определен

    Никак не могу добиться того чтоб было

    Группа
    Номенклатура1
    Номенклатура1 Опт1
    Номенклатура1 Опт2
    Номенклатура2
    Номенклатура2 Опт1
    Номенклатура2 Опт2

    Дело в том что для номенклатуры, если не установлен тип цен, то она не попадает в результат выборки, а мне необходимо чтоб если для номенклатуры не установлен тип цен она попадала в выборку

    Подскажите плиз
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Предлагаю сделать вложенный запрос, в котором будет создаваться декартово произведение элементов номенклатуры с элементами справочника типы цен, а затем к этому запросу левым соединением подсоединять значения цен.

    <!--shcode--><pre><code class=','>ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ТипЦен,
    ЦеныНоменклатурыСрезПоследних.Цена
    ИЗ
    (ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    ТипыЦенНоменклатуры.Ссылка КАК ТипЦен
    ИЗ
    Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры,
    Справочник.Номенклатура КАК Номенклатура) КАК ВложенныйЗапрос
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
    ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    И ВложенныйЗапрос.ТипЦен = ЦеныНоменклатурыСрезПоследних.ТипЦен[/CODE]
    Без слова РАЗЛИЧНЫЕ почему-то задваиваются строки, где есть тип цен. Почему - так и не понял.
     
  3. tanat

    tanat Well-Known Member

    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    1) Думаю, ЦеныНоменклатурыСрезПоследних.Цена - лишнее, 2 раза к одной таблице обращаемся, проще доставать из вложенного запроса.
    2)Задваиваются, потому что вы используете вкачестве источника таблицу, в которую включены парные записи. если наложить на вложенный запрос "различные" то результат должен быть тотже). Или попробовать ВНУТРЕННЕЕ соединение. А по поводу
    то тут нужно использовать вычисляемое поле, которое примерно будет выглядеть так:
    одно поле - ЕСТЬNULL(ВложенныйЗапрос.ТипЦен,0) как типЦен, //вместо ВложенныйЗапрос.ТипЦен,
    второе - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) как Цена // соответствено вместо Цены

    Вобщем, почитайте в синтаксис-помошнике, там все есть). Вытягивайте через "Содержание", так будет проще
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Где два раза?
    Если выполнить отдельно сложенный запрос - парных записей в нем нет.
     
  5. tanat

    tanat Well-Known Member

    Регистрация:
    2 мар 2007
    Сообщения:
    265
    Симпатии:
    0
    Вы правы, не внимателен был).

    Но по поводу вычисляемых полей - все в силе пока остается).
     
Загрузка...
Похожие Темы - Вопрос по запросу
  1. ApplePen
    Ответов:
    0
    Просмотров:
    57
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    91
  3. kartaman
    Ответов:
    0
    Просмотров:
    127
  4. Peter
    Ответов:
    4
    Просмотров:
    519
  5. di0d_
    Ответов:
    1
    Просмотров:
    435
Статус темы:
Закрыта.

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