8.х Запрос по остаткам, расхождение со встроенным.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем rakhaev, 28 сен 2013.

  1. TopicStarter Overlay
    rakhaev
    Offline

    rakhaev Опытный в 1С

    Регистрация:
    18 мар 2010
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Привет. Подскажите почему делаю запрос из РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты. Но у меня расхождения со стандартным отчетам "Ведомость по товарам на складах" по всем полям. Запрос прилагаю
    Код:
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    ЦеныНоменклатурыСрезПоследних.Цена,
    ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЦеныНоменклатурыСрезПоследних.Цена КАК ЧИСЛО(15, 2)) КАК Сумма,
    ТоварыНаСкладахОстаткиИОбороты.Склад
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаН, &ДатаК, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаК, ) КАК ЦеныНоменклатурыСрезПоследних
    ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
    ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
    УПОРЯДОЧИТЬ ПО
    Номенклатура
    ИТОГИ
    СУММА(Приход),
    СУММА(Расход),
    СУММА(КонечныйОстаток),
    СУММА(Сумма)
    ПО
    ОБЩИЕ
    АВТОУПОРЯДОЧИВАНИЕ
  2. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Код:
    // эту строчку:
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаН, &ДатаК, , , ) КАК
    // заменить на:
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаН, &ДатаК, , , Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
    // эту убрать:
    И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
    не проверял
  3. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Две проблемы :
    1. - е периодичность регистра Остатков и оборотов
    2. - е Левое соединение с регистром сведений
    и здесь появляется засада с начальным и конечным остатком, которые начинают суммироваться.
    И возникает вопрос, запрос вы используете в построителе ? (универсальный отчет,) или СКД ?
  4. TopicStarter Overlay
    rakhaev
    Offline

    rakhaev Опытный в 1С

    Регистрация:
    18 мар 2010
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Универсальный отчет. Посоветуйте выход?
  5. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Впринципе, вашу задачу решает отчет "Ведомость по партиям товаров на складах", но только в том случае если вы ведете партионый учет.
    Там же можно подсмотреть как реализовать свое решение
  6. TopicStarter Overlay
    rakhaev
    Offline

    rakhaev Опытный в 1С

    Регистрация:
    18 мар 2010
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    Это вариант не подходит. Нужно самому сделать запрос.
  7. vartanet
    Offline

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

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    ..

    итоги зачем делаете в запросе?
  8. TopicStarter Overlay
    rakhaev
    Offline

    rakhaev Опытный в 1С

    Регистрация:
    18 мар 2010
    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    26
    что бы понимать сколько товару на складе в количестве и руб.
  9. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Вообщем, включи в итоги поля которые получаешь, из регистра по ценам, с агрегатором "МАКСИМУМ"
    а далее чистое творчество (настройки отчета)
  10. vartanet
    Offline

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

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    вот так все работает:


    Код:
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЦеныНоменклатурыСрезПоследних.Цена КАК ЧИСЛО(15, 2)) КАК Сумма,
    ТоварыНаСкладахОстаткиИОбороты.Склад
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаН, &ДатаК, , , Склад = &Склад) КАК ТоварыНаСкладахОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаК, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    
    УПОРЯДОЧИТЬ ПО
    Номенклатура
    ИТОГИ
    СУММА(НачальныйОстаток),
    СУММА(Приход),
    СУММА(Расход),
    СУММА(КонечныйОстаток),
    СУММА(Цена),
    СУММА(Сумма)
    ПО
    ОБЩИЕ
    результат запроса и общие итоги совпадают с ведомостью по товарам на складах.
  11. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Сумма цены по узлам смысла не имеет, нужно брать или минимум или максимум
  12. vartanet
    Offline

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

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    я итоги смотрел ;)

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