8.х СКД и консоль

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

  1. TopicStarter Overlay
    qwertyu
    Offline

    qwertyu Опытный в 1С

    Регистрация:
    11 ноя 2011
    Сообщения:
    609
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, подскажите пожалуйста, почему СКД в данном запросе выводит одну запись, а консоль несколько?
    Параметры при консольном выводе изменил.
    Код:
    ВЫБРАТЬ
    ОбщепитПроизводствоОбороты.Блюдо,
    МАКСИМУМ(ОбщепитПроизводствоОбороты.Период) КАК Период
    ПОМЕСТИТЬ ВТ
    ИЗ
    РегистрНакопления.ОбщепитПроизводство.Обороты(, , Регистратор, ) КАК ОбщепитПроизводствоОбороты
    СГРУППИРОВАТЬ ПО
    ОбщепитПроизводствоОбороты.Блюдо
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ОбщепитПроизводствоОбороты.Блюдо,
    ОбщепитПроизводствоОбороты.Ингредиент,
    ОбщепитПроизводствоОбороты.Склад,
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК ПериодЦены,
    ОбщепитПроизводствоОбороты.Регистратор,
    ОбщепитПроизводствоОбороты.Период КАК ПериодРегистратор
    ПОМЕСТИТЬ ВТМаксПериодСебестоимость
    ИЗ
    РегистрНакопления.ОбщепитПроизводство.Обороты(, , Регистратор, ) КАК ОбщепитПроизводствоОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ОбщепитПроизводствоОбороты.Период >= ЦеныНоменклатуры.Период
    И ОбщепитПроизводствоОбороты.Ингредиент = ЦеныНоменклатуры.Номенклатура
    СГРУППИРОВАТЬ ПО
    ОбщепитПроизводствоОбороты.Блюдо,
    ОбщепитПроизводствоОбороты.Склад,
    ОбщепитПроизводствоОбороты.Ингредиент,
    ОбщепитПроизводствоОбороты.Регистратор,
    ОбщепитПроизводствоОбороты.Период
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТМаксЦены.Блюдо,
    ВТМаксЦены.Склад,
    ВТМаксЦены.Регистратор,
    СУММА(ЦеныНоменклатуры.Цена) КАК Цена,
    ВТМаксЦены.ПериодРегистратор,
    ВТМаксЦены.Ингредиент
    ПОМЕСТИТЬ ВТСебестоимость
    ИЗ
    ВТМаксПериодСебестоимость КАК ВТМаксЦены
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ВТМаксЦены.Ингредиент = ЦеныНоменклатуры.Номенклатура
    И ВТМаксЦены.ПериодЦены = ЦеныНоменклатуры.Период
    СГРУППИРОВАТЬ ПО
    ВТМаксЦены.Регистратор,
    ВТМаксЦены.Склад,
    ВТМаксЦены.Блюдо,
    ВТМаксЦены.ПериодРегистратор,
    ВТМаксЦены.Ингредиент
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТСебестоимость.Блюдо,
    ВТСебестоимость.Склад,
    ВТСебестоимость.Регистратор,
    ВТСебестоимость.Цена,
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период,
    ВТСебестоимость.Ингредиент,
    ВТСебестоимость.ПериодРегистратор
    ПОМЕСТИТЬ ВТСеьестоимостьПоИнг
    ИЗ
    ВТСебестоимость КАК ВТСебестоимость
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ВТСебестоимость.Блюдо = ЦеныНоменклатуры.Номенклатура
    И ВТСебестоимость.ПериодРегистратор >= ЦеныНоменклатуры.Период
    ГДЕ
    (ВТСебестоимость.Блюдо, ВТСебестоимость.Регистратор.Дата) В
    (ВЫБРАТЬ
    ВТ.Блюдо,
    ВТ.Период
    ИЗ
    ВТ КАК ВТ)
    И ЦеныНоменклатуры.ТипЦен = &ТипЦен
    СГРУППИРОВАТЬ ПО
    ВТСебестоимость.Блюдо,
    ВТСебестоимость.Склад,
    ВТСебестоимость.Регистратор,
    ВТСебестоимость.Цена,
    ВТСебестоимость.Ингредиент,
    ВТСебестоимость.ПериодРегистратор
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТСеьестоимостьПоИнг.Блюдо,
    ВТСеьестоимостьПоИнг.Склад,
    ВТСеьестоимостьПоИнг.Регистратор,
    МАКСИМУМ(ОбщепитРецептураТовары.Ссылка.Дата) КАК Дата
    ПОМЕСТИТЬ ВТРецептурыМакс
    ИЗ
    ВТСеьестоимостьПоИнг КАК ВТСеьестоимостьПоИнг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОбщепитРецептура.Товары КАК ОбщепитРецептураТовары
    ПО ВТСеьестоимостьПоИнг.Блюдо = ОбщепитРецептураТовары.Ссылка.Номенклатура
    И ВТСеьестоимостьПоИнг.Ингредиент = ОбщепитРецептураТовары.Номенклатура
    И ВТСеьестоимостьПоИнг.ПериодРегистратор >= ОбщепитРецептураТовары.Ссылка.Дата
    СГРУППИРОВАТЬ ПО
    ВТСеьестоимостьПоИнг.Блюдо,
    ВТСеьестоимостьПоИнг.Склад,
    ВТСеьестоимостьПоИнг.Регистратор
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТСеьестоимостьПоИнг.Блюдо,
    ВТСеьестоимостьПоИнг.Склад,
    ВТСеьестоимостьПоИнг.Регистратор,
    СУММА(ВТСеьестоимостьПоИнг.Цена * ОбщепитРецептураТовары.Количество) КАК Цена,
    ВТСеьестоимостьПоИнг.Период,
    ВТСеьестоимостьПоИнг.ПериодРегистратор
    ПОМЕСТИТЬ ВТСеьестоимостьПоИнгЦена
    ИЗ
    ВТСеьестоимостьПоИнг КАК ВТСеьестоимостьПоИнг
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОбщепитРецептура.Товары КАК ОбщепитРецептураТовары
    ПО ВТСеьестоимостьПоИнг.Блюдо = ОбщепитРецептураТовары.Ссылка.Номенклатура
    И ВТСеьестоимостьПоИнг.Ингредиент = ОбщепитРецептураТовары.Номенклатура
    ГДЕ
    ОбщепитРецептураТовары.Ссылка.Дата В
    (ВЫБРАТЬ
    ВТРецептурыМакс.Дата
    ИЗ
    ВТРецептурыМакс КАК ВТРецептурыМакс)
    СГРУППИРОВАТЬ ПО
    ВТСеьестоимостьПоИнг.Период,
    ВТСеьестоимостьПоИнг.Склад,
    ВТСеьестоимостьПоИнг.Регистратор,
    ВТСеьестоимостьПоИнг.Блюдо,
    ВТСеьестоимостьПоИнг.ПериодРегистратор
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТСеьестоимостьПоИнгЦена.Блюдо,
    ВТСеьестоимостьПоИнгЦена.Склад,
    ВТСеьестоимостьПоИнгЦена.Регистратор,
    ВТСеьестоимостьПоИнгЦена.Цена,
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период
    ПОМЕСТИТЬ ВТМаксПериодСтоимость
    ИЗ
    ВТСеьестоимостьПоИнгЦена КАК ВТСеьестоимостьПоИнгЦена
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ВТСеьестоимостьПоИнгЦена.Блюдо = ЦеныНоменклатуры.Номенклатура
    И ВТСеьестоимостьПоИнгЦена.ПериодРегистратор >= ЦеныНоменклатуры.Период
    ГДЕ
    (ВТСеьестоимостьПоИнгЦена.Блюдо, ВТСеьестоимостьПоИнгЦена.Регистратор.Дата) В
    (ВЫБРАТЬ
    ВТ.Блюдо,
    ВТ.Период
    ИЗ
    ВТ КАК ВТ)
    {ГДЕ
    ЦеныНоменклатуры.ТипЦен = &ТипЦен}
    СГРУППИРОВАТЬ ПО
    ВТСеьестоимостьПоИнгЦена.Блюдо,
    ВТСеьестоимостьПоИнгЦена.Склад,
    ВТСеьестоимостьПоИнгЦена.Регистратор,
    ВТСеьестоимостьПоИнгЦена.Цена
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ВТМаксПериодСтоимость.Блюдо,
    ВТМаксПериодСтоимость.Регистратор,
    ВТМаксПериодСтоимость.Цена КАК Себестоимость,
    ЦеныНоменклатуры.Цена КАК Цена
    ИЗ
    ВТМаксПериодСтоимость КАК ВТМаксПериодСтоимость
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
    ПО ВТМаксПериодСтоимость.Блюдо = ЦеныНоменклатуры.Номенклатура
    И ВТМаксПериодСтоимость.Период = ЦеныНоменклатуры.Период
    {ГДЕ
    ЦеныНоменклатуры.ТипЦен = &ТипЦен}

    Если убрать эту конструкцию, то все ОК. Но это не правильно.

    Код:
    ГДЕ
    ОбщепитРецептураТовары.Ссылка.Дата В
    (ВЫБРАТЬ
    ВТРецептурыМакс.Дата
    ИЗ
    ВТРецептурыМакс КАК ВТРецептурыМакс)
  2. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    1. Возможно параметры СКД и те, которые задаете в консоли не совпадают (в частности я имею ввиду время даты).
    2. Надо смотреть настройки СКД, в частности проанализировать какой запрос в итоге получается и какие параметры передаются. В этом поможет консоль СКД.
Похожие темы
  1. planfin
    Ответов:
    3
    Просмотров:
    611
Загрузка...

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