Имя: Пароль:
1C
1С v8
СКД. Отчет по периодам, обороты по определенным видам документов
0 duck
 
22.01.19
16:00
Отчет по регистру РН "Партии товаров на складах б.у.",
Приход - регистратор документ "Поступление товаров и услуг"
Расход - регистратор документ "Требование накладная"
Начальный и Конечный остатки - по всему регистру.
В разрезе периодов (неделя, месяц).

Не получается никак сделать( Кто нибудь делал подобное?
1 duck
 
22.01.19
16:00
Я так понимаю тут надо Таблицу Периодов соединить с
а)ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ДЕНЬ, ДвиженияИГраницыПериода, )
для получения начальных и конечных остатков
б)ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, ДвиженияИГраницыПериода, ) - с отбороом по виду документа
Но в этом случае у меня не итоговые начальные и конечные остатки получается суммированием остатков по периодам.
Кто нибудь знает как сделать?
2 duck
 
22.01.19
16:52
Вот к примеру получаю таблицу
Организация
номенклатура
Период
Начальныйостаток
Конечныйостаток.
Но Начальный(конечный) остаток в итогах по периодам суммируется, что не должно быть, а должен быть равен остатку из первого периода.
3 duck
 
22.01.19
16:52
ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Организация,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ВЫБОР
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.День)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ДЕНЬ)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.МЕСЯЦ)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, МЕСЯЦ)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ГОД)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.КВАРТАЛ)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, КВАРТАЛ)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.НЕДЕЛЯ)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, НЕДЕЛЯ)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ДЕКАДА)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ДЕКАДА)
        КОГДА &Периодичность = ЗНАЧЕНИЕ(Перечисление.Периодичность.ПОЛУГОДИЕ)
            ТОГДА НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ПОЛУГОДИЕ)
    КОНЕЦ КАК Период3,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоНачальныйОстаток,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоКонечныйОстаток
ПОМЕСТИТЬ ВТ1
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, ДЕНЬ, ДвиженияИГраницыПериода, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    МИНИМУМ(ВТ1.Период) КАК МИН,
    МАКСИМУМ(ВТ1.Период) КАК МАКС,
    ВТ1.Период3,
    ВТ1.Организация,
    ВТ1.Номенклатура,
    ВТ1.Склад
ПОМЕСТИТЬ ВТ2
ИЗ
    ВТ1 КАК ВТ1

СГРУППИРОВАТЬ ПО
    ВТ1.Период3,
    ВТ1.Организация,
    ВТ1.Номенклатура,
    ВТ1.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ1.Период3,
    ВТ1.Организация,
    ВТ1.Номенклатура,
    ВТ1.Склад,
    ВТ2.МИН,
    ВТ2.МАКС
ПОМЕСТИТЬ ВТ4
ИЗ
    ВТ1 КАК ВТ1
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2
        ПО ВТ1.Период3 = ВТ2.Период3
            И ВТ1.Организация = ВТ2.Организация
            И ВТ1.Номенклатура = ВТ2.Номенклатура
            И ВТ1.Склад = ВТ2.Склад

СГРУППИРОВАТЬ ПО
    ВТ1.Период3,
    ВТ1.Организация,
    ВТ1.Номенклатура,
    ВТ1.Склад,
    ВТ2.МИН,
    ВТ2.МАКС
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ4.Период3,
    ВТ4.Организация,
    ВТ4.Номенклатура,
    ВТ4.Склад,
    ВТ11.КоличествоНачальныйОстаток,
    ВТ12.КоличествоКонечныйОстаток
ИЗ
    ВТ4 КАК ВТ4
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ11
        ПО ВТ4.Период3 = ВТ11.Период3
            И ВТ4.Организация = ВТ11.Организация
            И ВТ4.Номенклатура = ВТ11.Номенклатура
            И ВТ4.Склад = ВТ11.Склад
            И ВТ4.МИН = ВТ11.Период
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ12
        ПО ВТ4.Период3 = ВТ12.Период3
            И ВТ4.Организация = ВТ12.Организация
            И ВТ4.Номенклатура = ВТ12.Номенклатура
            И ВТ4.Склад = ВТ12.Склад
            И ВТ4.МАКС = ВТ12.Период
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший