Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 07:03

Отчет на СКД с начальным остатком если не попадает в период

Автор kosalex, 16 апр 2015, 11:27

0 Пользователей и 1 гость просматривают эту тему.

kosalex

Доброго времени суток! Помогите с отчетом, есть РН:


Нужно получить отчет вида:


В отчете возможны две ситуации:
а) Это когда документ отгрузки не попадает в период отчета, тогда нужно взять НачальныйОстаток на начало периода отчета и вывести ссылку на документ и НачальныйОстаток в группировку.
б) Когда документ отгрузки попадает в период отчета, тогда просто берем его движения.

Вот что имею:


ВЫБРАТЬ РАЗЛИЧНЫЕ
    *_ДанныеДляПереоценкиПоФьючерсам.Период,
    *_ДанныеДляПереоценкиПоФьючерсам.Регистратор КАК Регистратор,
    *_ДанныеДляПереоценкиПоФьючерсам.Документ,
    *_ДанныеДляПереоценкиПоФьючерсам.Контрагент,
    ВЫБОР
        КОГДА *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов
        ИНАЧЕ *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов * -1
    КОНЕЦ КАК СуммаВзаиморасчетов,
    ВЫБОР
        КОГДА *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА *_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр
        ИНАЧЕ *_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр * -1
    КОНЕЦ КАК СуммаУпр,
    ВЫБОР
        КОГДА *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА *_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр
        ИНАЧЕ *_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр * -1
    КОНЕЦ КАК СуммаПереоценкиУпр
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам
ГДЕ
    НЕ *_ДанныеДляПереоценкиПоФьючерсам.Регистратор ССЫЛКА Документ.ПереоценкаВалютныхСредств
    И *_ДанныеДляПереоценкиПоФьючерсам.Период МЕЖДУ &НачалоПериода И &КонецПериода
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    *_ДанныеДляПереоценкиПоФьючерсамОстаткиИОбороты.Документ КАК Документ1,
    *_ДанныеДляПереоценкиПоФьючерсамОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
ПОМЕСТИТЬ ВТ_2
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Период, , НЕ Документ ССЫЛКА Документ.ПереоценкаВалютныхСредств) КАК *_ДанныеДляПереоценкиПоФьючерсамОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Период,
    ВТ.Регистратор,
    ВТ.Документ,
    ВТ.Контрагент,
    ВТ.СуммаВзаиморасчетов КАК СуммаВзаиморасчетов,
    ВТ.СуммаУпр,
    ВТ.СуммаПереоценкиУпр,
    ВТ_2.Документ1,
    ВТ_2.СуммаВзаиморасчетовНачальныйОстаток КАК СуммаВзаиморасчетовНачальныйОстаток
ИЗ
    ВТ КАК ВТ
        ПОЛНОЕ СОЕДИНЕНИЕ ВТ_2 КАК ВТ_2
        ПО ВТ.Документ = ВТ_2.Документ1


Настройки отчета:



Запросы разные делал, все не буду писать.

Документ отгрузки(он делает приход)(группировка), раскрываем группировку, в ней, документы которые сделали оплату этой отгрузки(делают расход). Документы которые делают оплату пишут в свое измерение "Документ" ссылку на документ который они оплачивают, на картинке видно.

ПОЖАЛУЙСТА, ПОМОГИТЕ!


kosalex

Вроде получилось, вот запрос:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ВЫБОР
КОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.Регистратор = NULL
ТОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.Документ
ИНАЧЕ Ниракс_ДанныеДляПереоценкиПоФьючерсам.Регистратор
КОНЕЦ КАК Регистратор,
Ниракс_ДанныеДляПереоценкиПоФьючерсам.Документ КАК Документ,
Ниракс_ДанныеДляПереоценкиПоФьючерсам.Контрагент,
ВЫБОР
КОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов
ИНАЧЕ Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов * -1
КОНЕЦ КАК СуммаВзаиморасчетов,
ВЫБОР
КОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр
ИНАЧЕ Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр * -1
КОНЕЦ КАК СуммаУпр,
ВЫБОР
КОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр
ИНАЧЕ Ниракс_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр * -1
КОНЕЦ КАК СуммаПереоценкиУпр
ИЗ
РегистрНакопления.Ниракс_ДанныеДляПереоценкиПоФьючерсам КАК Ниракс_ДанныеДляПереоценкиПоФьючерсам
ГДЕ
НЕ Ниракс_ДанныеДляПереоценкиПоФьючерсам.Регистратор ССЫЛКА Документ.ПереоценкаВалютныхСредств
И Ниракс_ДанныеДляПереоценкиПоФьючерсам.Период МЕЖДУ &НачалоПериода И &КонецПериода

ОБЪЕДИНИТЬ ВСЕ

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

УПОРЯДОЧИТЬ ПО
Документ

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск