8.х Суммы для количественного учета материального отчёта

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

  1. TopicStarter Overlay
    worf
    Offline

    worf

    Регистрация:
    21 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте. Случилось так, что пришлось отключить суммовой учёт на 10 счёте, и Материальный отчёт, который как внешний отчёт, естественно перестал показывать суммы дебета и кредита на начало и конец периода.
    Подскажите как можно апнуть старый отчёт, чтобы запилить в него суммы.
    Что я попробовал, в запрос добавил цену ЦеныНоменклатурыСрезПоследних.Цена, и ужаснулся, цена за войлок у меня была по каждой отдельной позиции от 0,75 до 1 300 000! Естественно что то я не учёл. Ну и собственно сам запрос из Материального отчёта.
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ВложенныйЗапрос.Номенклатура,
    | СУММА(ВложенныйЗапрос.СуммаПолуч) КАК СуммаПолуч,
    | СУММА(ВложенныйЗапрос.КолПолуч) КАК КолПолуч,
    | СУММА(ВложенныйЗапрос.СуммаПерем) КАК СуммаПерем,
    | СУММА(ВложенныйЗапрос.КолПерем) КАК КолПерем,
    | СУММА(ВложенныйЗапрос.СуммаСпис) КАК СуммаСпис,
    | СУММА(ВложенныйЗапрос.КолСпис) КАК КолСпис,
    | ВложенныйЗапрос.Счет,
    | СУММА(ВложенныйЗапрос.СуммаНач) КАК СуммаНач,
    | СУММА(ВложенныйЗапрос.КолНач) КАК КолНач,
    | СУММА(ВложенныйЗапрос.СуммаКонеч) КАК СуммаКонеч,
    | СУММА(ВложенныйЗапрос.КолКонеч) КАК КолКонеч,
    | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдИз,
    | ХозрасчетныйОстатки.СуммаОстаток,
    | ХозрасчетныйОстатки.КоличествоОстаток,
    | ЦеныНоменклатурыСрезПоследних.Цена,
    |   СУММА(ВложенныйЗапрос.КолНач) * ЦеныНоменклатурыСрезПоследних.Цена КАК ВычесленнаяСумма
    |ИЗ
    | (ВЫБРАТЬ
    |  ХозрасчетныйОбороты.Субконто1 КАК Номенклатура,
    |  ХозрасчетныйОбороты.Субконто2 КАК Склад,
    |  ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаПолуч,
    |  ХозрасчетныйОбороты.КоличествоОборотДт КАК КолПолуч,
    |  ВЫБОР
    |   КОГДА ХозрасчетныйОбороты.КорСчет = ХозрасчетныйОбороты.Счет
    |    ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
    |   ИНАЧЕ 0
    |  КОНЕЦ КАК СуммаПерем,
    |  ВЫБОР
    |   КОГДА ХозрасчетныйОбороты.КорСчет = ХозрасчетныйОбороты.Счет
    |    ТОГДА ХозрасчетныйОбороты.КоличествоОборотКт
    |   ИНАЧЕ 0
    |  КОНЕЦ КАК КолПерем,
    |  ВЫБОР
    |   КОГДА ХозрасчетныйОбороты.КорСчет <> ХозрасчетныйОбороты.Счет
    |    ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
    |   ИНАЧЕ 0
    |  КОНЕЦ КАК СуммаСпис,
    |  ВЫБОР
    |   КОГДА ХозрасчетныйОбороты.КорСчет <> ХозрасчетныйОбороты.Счет
    |    ТОГДА ХозрасчетныйОбороты.КоличествоОборотКт
    |   ИНАЧЕ 0
    |  КОНЕЦ КАК КолСпис,
    |  ХозрасчетныйОбороты.Счет КАК Счет,
    |  0 КАК СуммаНач,
    |  0 КАК КолНач,
    |  0 КАК СуммаКонеч,
    |  0 КАК КолКонеч
    | ИЗ
    |  РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В ИЕРАРХИИ (&Счет), , Организация = &Организация, , ) КАК ХозрасчетныйОбороты
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    |  ХозрасчетныйОстатки.Субконто1,
    |  ХозрасчетныйОстатки.Субконто2,
    |  0,
    |  0,
    |  0,
    |  0,
    |  0,
    |  0,
    |  ХозрасчетныйОстатки.Счет,
    |  ХозрасчетныйОстатки.СуммаОстаток,
    |  ХозрасчетныйОстатки.КоличествоОстаток,
    |  0,
    |  0
    | ИЗ
    |  РегистрБухгалтерии.Хозрасчетный.Остатки(&НачалоПериода, Счет В ИЕРАРХИИ (&Счет), , Организация = &Организация) КАК ХозрасчетныйОстатки
    |
    | ОБЪЕДИНИТЬ ВСЕ
    |
    | ВЫБРАТЬ
    |  ХозрасчетныйОстатки.Субконто1,
    |  ХозрасчетныйОстатки.Субконто2,
    |  0,
    |  0,
    |  0,
    |  0,
    |  0,
    |  0,
    |  ХозрасчетныйОстатки.Счет,
    |  0,
    |  0,
    |  ХозрасчетныйОстатки.СуммаОстаток,
    |  ХозрасчетныйОстатки.КоличествоОстаток
    | ИЗ
    |  РегистрБухгалтерии.Хозрасчетный.Остатки(&КонецПериода, Счет В ИЕРАРХИИ (&Счет), , Организация = &Организация) КАК ХозрасчетныйОстатки) КАК ВложенныйЗапрос,
    | РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки,
    | РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    | ВЫБОР
    |   КОГДА &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
    |    ТОГДА ИСТИНА
    |   ИНАЧЕ ВложенныйЗапрос.Склад = &Склад
    |  КОНЕЦ
    |
    |СГРУППИРОВАТЬ ПО
    | ВложенныйЗапрос.Номенклатура,
    | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения,
    | ВложенныйЗапрос.Счет,
    | ХозрасчетныйОстатки.СуммаОстаток,
    | ХозрасчетныйОстатки.КоличествоОстаток,
    | ЦеныНоменклатурыСрезПоследних.Цена";
    Запрос.УстановитьПараметр("НачалоПериода",НачалоДня(ДатаНачала));
    Запрос.УстановитьПараметр("КонецПериода",КонецДня(ДатаОкончания));
    Запрос.УстановитьПараметр("Организация",Организация);
    Запрос.УстановитьПараметр("Счет",Счет);
    Запрос.УстановитьПараметр("Склад",Склад);
    
  2. TopicStarter Overlay
    worf
    Offline

    worf

    Регистрация:
    21 июл 2011
    Сообщения:
    35
    Симпатии:
    0
    Баллы:
    1
    Делается вложенными запросами... как то так:
    Код:
      |    ВложенныйЗапрос.ДокНоменклатура КАК ДокНоменклатура,
    |    ЕСТЬNULL(ВложенныйЗапрос.ДокПартия, НЕОПРЕДЕЛЕНО) КАК ДокПартия,
    |    ВложенныйЗапрос.СчетДок КАК СчетДок,
    |    ВЫБОР
    |	    КОГДА ВложенныйЗапрос.КоличествоНачальныйОстаток + ВложенныйЗапрос.КоличествоОборотДт = 0
    |		    ТОГДА 0
    |	    ИНАЧЕ (ВложенныйЗапрос.СуммаНачальныйОстаток + ВложенныйЗапрос.СуммаОборотДт) / (ВложенныйЗапрос.КоличествоНачальныйОстаток + ВложенныйЗапрос.КоличествоОборотДт)
    |    КОНЕЦ КАК Цена,
    |    ВложенныйЗапрос.СуммаОборотДт,
    |    ВложенныйЗапрос.СуммаОборотКт
    
    и т.д.

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