Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с отчетом на СКД
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
Страницы: 1, 2
kosalex
Есть регистр РН:


Описание как туда попадают записи:
Приход делают документы когда отгрудается товар, т.е. накапливаются суммы долга, а приход документы которые гасят этот долг.
Измерение "Документ" - содержит ссылку на докумет который сделал отгрузку


Хочется сделать такой отчет



Т.е мне нужно выбрать обороты по документы который совершил отгрузку поместить с оборотами в группировку, когда группировка открывается в ней должны отображаться все документы которые сделали оплату отгрузки. В конце таблицы ИТОГО = ОБОРОТЫ по документу отгрузки(Приход) + обороты которые сделали документы оплаты(Расход)


Подскажите с запросом, и как в группировке вывести обороты ?
sava1
Цитата(kosalex @ 15.04.15, 10:11) необходимо зарегистрироваться для просмотра ссылки
как в группировке вывести обороты ?

Я не ошибся - в теме написано СКД?
Vofka
kosalex, я уже много раз перемещаю ваши темы с отчетами в раздел СКД. Разве не заметно и непонятно, что вопросы по СКД следует публиковать в соответствующем разделе? Переезжаем последний раз.
kosalex
Цитата(sava1 @ 15.04.15, 10:58) необходимо зарегистрироваться для просмотра ссылки
Я не ошибся - в теме написано СКД?


Да, отчет делаю на СКД

Цитата(Vofka @ 15.04.15, 11:13) необходимо зарегистрироваться для просмотра ссылки
kosalex, я уже много раз перемещаю ваши темы с отчетами в раздел СКД. Разве не заметно и непонятно, что вопросы по СКД следует публиковать в соответствующем разделе? Переезжаем последний раз.

ОК
sava1
Одна из прелестей СКД в том, что она рассчитывает агрегаты ресурсов без лишнего вмешательства.
По запросу: берем реальную таблицу регистра, выбираем нужные поля
Настройка: Сумма в Ресурсы, группировки Контрагент,Документ,Регистратор
kosalex
Цитата(sava1 @ 15.04.15, 11:30) необходимо зарегистрироваться для просмотра ссылки
Одна из прелестей СКД в том, что она рассчитывает агрегаты ресурсов без лишнего вмешательства.
По запросу: берем реальную таблицу регистра, выбираем нужные поля
Настройка: Сумма в Ресурсы, группировки Контрагент,Документ,Регистратор

Вот что получилось,


А как еще вывести обороты которые сделали документы которые оплачивают отгрузку? Выбрать из виртуальной таблицы ОСТАТКИиОБОРОТЫ и связать с тем что получилось?
sava1
Насколько я понял описание -
вторая группировка по Документу, а не регистратору;
и я бы разделил ве-таки отгрузку и оплату в разные поля (Отгрузка/Оплата) и сунул их в ресурсы - на уровне группировок будут суммы отгруза и оплаты
kosalex
Цитата(sava1 @ 15.04.15, 12:00) необходимо зарегистрироваться для просмотра ссылки
Насколько я понял описание -
вторая группировка по Документу, а не регистратору;
и я бы разделил ве-таки отгрузку и оплату в разные поля (Отгрузка/Оплата) и сунул их в ресурсы - на уровне группировок будут суммы отгруза и оплаты


Нужно получить:

(Группировка)Документ поставки1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты2 | Оборот1 | Оборот2 | Оборот3

(Группировка)Документ поставки2 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты2 | Оборот1 | Оборот2 | Оборот3


В СКД в группировку обороты наверное не вставяться ?

(Группировка)Документ поставки1
|Документ поставки1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты2 | Оборот1 | Оборот2 | Оборот3

(Группировка)Документ поставки1
|Документ поставки1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты1 | Оборот1 | Оборот2 | Оборот3
|Документ оплаты2 | Оборот1 | Оборот2 | Оборот3

Если нет, то как сделать так?
sava1
запрос засветите
Petre
Цитата(kosalex @ 15.04.15, 12:06) необходимо зарегистрироваться для просмотра ссылки
Если нет, то как сделать так?

Вам же пояснили: поменять местами группировки "Документ" и "Регистратор". У вас - в обратном порядке.
kosalex
Мой запрос:
ВЫБРАТЬ
    *_ДанныеДляПереоценкиПоФьючерсам.Период,
    *_ДанныеДляПереоценкиПоФьючерсам.Регистратор,
    *_ДанныеДляПереоценкиПоФьючерсам.НомерСтроки,
    *_ДанныеДляПереоценкиПоФьючерсам.Активность,
    *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения,
    *_ДанныеДляПереоценкиПоФьючерсам.Организация,
    *_ДанныеДляПереоценкиПоФьючерсам.ДоговорКонтрагента,
    *_ДанныеДляПереоценкиПоФьючерсам.Документ,
    *_ДанныеДляПереоценкиПоФьючерсам.Контрагент,
    *_ДанныеДляПереоценкиПоФьючерсам.Сделка,
    *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов,
    *_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр,
    *_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр
ПОМЕСТИТЬ ВТ_ДокументыОтгрузки
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ДокументыОтгрузки.Регистратор,
    ВТ_ОплатаОтгрузки.Контрагент,
    ВЫБОР
        КОГДА ВТ_ОплатаОтгрузки.СуммаВзаиморасчетовОборот = 0
            ТОГДА ВТ_ОплатаОтгрузки.СуммаВзаиморасчетовНачальныйОстаток
        ИНАЧЕ ВТ_ОплатаОтгрузки.СуммаВзаиморасчетовОборот
    КОНЕЦ КАК СуммаВзаиморасчеты,
    ВЫБОР
        КОГДА ВТ_ОплатаОтгрузки.СуммаУпрОборот = 0
            ТОГДА ВТ_ОплатаОтгрузки.СуммаПереоценкиУпрНачальныйОстаток
        ИНАЧЕ ВТ_ОплатаОтгрузки.СуммаУпрОборот
    КОНЕЦ КАК СуммаУпр,
    ВЫБОР
        КОГДА ВТ_ОплатаОтгрузки.СуммаПереоценкиУпрОборот = 0
            ТОГДА ВТ_ОплатаОтгрузки.СуммаПереоценкиУпрНачальныйОстаток
        ИНАЧЕ ВТ_ОплатаОтгрузки.СуммаПереоценкиУпрОборот
    КОНЕЦ КАК СуммаПереоценки,
    ВЫБОР
        КОГДА ВТ_ДокументыОтгрузки.Регистратор <> ВТ_ОплатаОтгрузки.Регистратор
            ТОГДА ВТ_ОплатаОтгрузки.Регистратор
    КОНЕЦ КАК ОплатаОтгрузки
ИЗ
    ВТ_ДокументыОтгрузки КАК ВТ_ДокументыОтгрузки
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ОплатаОтгрузки КАК ВТ_ОплатаОтгрузки
        ПО ВТ_ДокументыОтгрузки.Регистратор = ВТ_ОплатаОтгрузки.Документ
ГДЕ
    ВЫБОР
            КОГДА ВТ_ДокументыОтгрузки.Регистратор <> ВТ_ОплатаОтгрузки.Регистратор
                ТОГДА ВТ_ОплатаОтгрузки.СуммаВзаиморасчетовОборот
        КОНЕЦ <> НЕОПРЕДЕЛЕНО

Настройки СКД:


Полученный отчет:


Не получается засунуть оборот который делает документ по отгрузки товара, приход.

Цитата(Petre @ 15.04.15, 12:17) необходимо зарегистрироваться для просмотра ссылки
Вам же пояснили: поменять местами группировки "Документ" и "Регистратор". У вас - в обратном порядке.

Поменял, вот результат:
Petre
Вот вместо группировки "Регистратор" сделайте группировку "Документ".
sava1
Схема запроса:

Выбрать
// поля региста
Выбор ВидДвижения Когда *Приход Тогда
Рег.Сумма Иначе 0 Конец как Отгрузка
Когда *Расход
//тут Ваши Выбор-Конец по оплате
Конец

из Регистр..... Рег

и скормить СКД - поимеем 4 ресурса (Отгрузка + 3 поля из Вашего запроса)

и не надо там кучи временных таблиц
kosalex
Цитата(sava1 @ 15.04.15, 12:34) необходимо зарегистрироваться для просмотра ссылки
Схема запроса:

Выбрать
// поля региста
Выбор ВидДвижения Когда *Приход Тогда
Рег.Сумма Иначе 0 Конец как Отгрузка
Когда *Расход
//тут Ваши Выбор-Конец по оплате
Конец

из Регистр..... Рег

и скормить СКД - поимеем 4 ресурса (Отгрузка + 3 поля из Вашего запроса)

и не надо там кучи временных таблиц


Можно для тех у кого мозг поплавился разжевать, потому что не получается sad.gif


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



sava1, Можете в этом запросе показать?

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

?????????????????
ТУТ ВАШИ ВЫБОР КОНЕЦ ПО ОПЛАТЕ, ЭТО ТУТ ПИСАТЬ? И как выбрать оплату
?????????????????


ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам
ГДЕ
    НЕ *_ДанныеДляПереоценкиПоФьючерсам.Регистратор ССЫЛКА Документ.ПереоценкаВалютныхСредств
    И *_ДанныеДляПереоценкиПоФьючерсам.Период >= &НачалоПериода
    И *_ДанныеДляПереоценкиПоФьючерсам.Период <= &КонецПериода


09000000.gif
sava1
ВЫБРАТЬ
    *_ДанныеДляПереоценкиПоФьючерсам.Регистратор,
    *_ДанныеДляПереоценкиПоФьючерсам.Документ,
    *_ДанныеДляПереоценкиПоФьючерсам.Контрагент,
    *_ДанныеДляПереоценкиПоФьючерсам.Сделка,

    ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = &Приход Тогда
         *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0 Конец КАК Отгрузка,    
    ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = &Расход Тогда
         *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0 Конец КАК Оплата            

  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов КАК Отгрузка,
  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр,
  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам
ГДЕ
    НЕ *_ДанныеДляПереоценкиПоФьючерсам.Регистратор ССЫЛКА Документ.ПереоценкаВалютныхСредств
    И *_ДанныеДляПереоценкиПоФьючерсам.Период >= &НачалоПериода
    И *_ДанныеДляПереоценкиПоФьючерсам.Период <= &КонецПериода


Приход/Расход можно вписать через Значение
Для полного кайфа сразу можно и сгруппировать

Период в условии через МЕЖДУ
kosalex
Цитата(sava1 @ 15.04.15, 13:52) необходимо зарегистрироваться для просмотра ссылки
ВЫБРАТЬ
    *_ДанныеДляПереоценкиПоФьючерсам.Регистратор,
    *_ДанныеДляПереоценкиПоФьючерсам.Документ,
    *_ДанныеДляПереоценкиПоФьючерсам.Контрагент,
    *_ДанныеДляПереоценкиПоФьючерсам.Сделка,

    ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = &Приход Тогда
         *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0 Конец КАК Отгрузка,    
    ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = &Расход Тогда
         *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0 Конец КАК Оплата            

  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов КАК Отгрузка,
  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаУпр,
  //  *_ДанныеДляПереоценкиПоФьючерсам.СуммаПереоценкиУпр
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам
ГДЕ
    НЕ *_ДанныеДляПереоценкиПоФьючерсам.Регистратор ССЫЛКА Документ.ПереоценкаВалютныхСредств
    И *_ДанныеДляПереоценкиПоФьючерсам.Период >= &НачалоПериода
    И *_ДанныеДляПереоценкиПоФьючерсам.Период <= &КонецПериода


Приход/Расход можно вписать через Значение
Для полного кайфа сразу можно и сгруппировать

Период в условии через МЕЖДУ



Клацаю на поле "СуммаВзаиморасчетов", там пишу
ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) Тогда
         *_ДанныеДляПереоценкиПоФьючерсам_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0
  Конец КАК Отгрузка,
            
   ВЫбор Когда *_ДанныеДляПереоценкиПоФьючерсам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) Тогда
         *_ДанныеДляПереоценкиПоФьючерсам_ДанныеДляПереоценкиПоФьючерсам.СуммаВзаиморасчетов Иначе 0
        
   Конец КАК Оплата



ОШИБКА
Vofka
Цитата
ИЗ
    РегистрНакопления.*_ДанныеДляПереоценкиПоФьючерсам КАК *_ДанныеДляПереоценкиПоФьючерсам

*_ДанныеДляПереоценкиПоФьючерсам - это имя вы от фонаря написали? Или что это такое?
kosalex
Цитата(Vofka @ 15.04.15, 14:05) необходимо зарегистрироваться для просмотра ссылки
*_ДанныеДляПереоценкиПоФьючерсам - это имя вы от фонаря написали? Или что это такое?


Так называется РН, только вместо "*", там другое - не суть. не хочет работать sad.gif

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



Если отчет делается за период в который не входит документ отгрузки, то нужно взять начальный остаток, как?
sava1
Из ОстаткиОбороты Но дополнение Период (или Регистратор ?)
kosalex
Цитата(sava1 @ 15.04.15, 14:19) необходимо зарегистрироваться для просмотра ссылки
Из ОстаткиОбороты Но дополнение Период (или Регистратор ?)



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



Посмотрите пожалуйста, правильно?
Так у меня не получаться начальные остатки?
sava1
Остаток на когда должен быть? На НачалоПериода или на Регистратор?
kosalex
Цитата(sava1 @ 15.04.15, 14:25) необходимо зарегистрироваться для просмотра ссылки
Остаток на когда должен быть? На НачалоПериода или на Регистратор?



На начало периода
sava1
тогда здеся
Цитата(kosalex @ 15.04.15, 14:23) необходимо зарегистрироваться для просмотра ссылки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Ниракс_ДанныеДляПереоценкиПоФьючерсам.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , )

вместо регистратор пишем период
kosalex
Цитата(sava1 @ 15.04.15, 14:34) необходимо зарегистрироваться для просмотра ссылки
тогда здеся

вместо регистратор пишем период


РН:



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


Результат:


а 31.07.14 был приход, вот как мне отобразить этот приход если период отчета его не подхватывает, это же будет НачальныйОстаток на 01.08.14?
sava1
Цитата(kosalex @ 15.04.15, 14:44) необходимо зарегистрироваться для просмотра ссылки
это же будет НачальныйОстаток на 01.08.14?

Да
Цитата(kosalex @ 15.04.15, 14:44) необходимо зарегистрироваться для просмотра ссылки
31.07.14 был приход

Где это видно?
kosalex
Цитата(sava1 @ 15.04.15, 14:58) необходимо зарегистрироваться для просмотра ссылки
Да

Где это видно?

sava1
Но там другой документ.
kosalex
Цитата(sava1 @ 15.04.15, 15:07) необходимо зарегистрироваться для просмотра ссылки
Но там другой документ.


В смысле другой? Он делает приход. я к типу документа нигде не привязываюсь

sava1
Так может лучше вынести этот остаток в свою колонку, чтобы было понятно.
И по формулировке задачи - что Вы вообще хотите видеть в отчете ?

А то мы что-то далеко отошли от первоначальных:
Цитата(kosalex @ 15.04.15, 10:11) необходимо зарегистрироваться для просмотра ссылки
мне нужно выбрать обороты по документы который совершил отгрузку поместить с оборотами в группировку, когда группировка открывается в ней должны отображаться все документы которые сделали оплату отгрузки. В конце таблицы ИТОГО = ОБОРОТЫ по документу отгрузки(Приход) + обороты которые сделали документы оплаты(Расход)


kosalex
Цитата(sava1 @ 15.04.15, 15:28) необходимо зарегистрироваться для просмотра ссылки
Так может лучше вынести этот остаток в свою колонку, чтобы было понятно.
И по формулировке задачи - что Вы вообще хотите видеть в отчете ?

А то мы что-то далеко отошли от первоначальных:



Хочется видеть, документы отгрузкок и доки которые оплачивают эту отгрузку. А если в период отчета не входит документ отгрузки, то взять начальный остаток по документу который отгружает

Вот вроде бы работает на этом скрине видно


, но Период отчета с 01.08.14 по 31.08.14, а документ который отгружал "Ввод начальных остатков по взаиморасчетам 2-000000007 от 31.07.14" не попадает в этот период, нужно взять НачальныйОстаток это и будет та сумма пихода которой не видно. Вот где его словить, не пойму ....
sava1
А если по доку отгрузки в неподхватываемом периоде были и проплаты?
kosalex
Цитата(sava1 @ 15.04.15, 15:36) необходимо зарегистрироваться для просмотра ссылки
А если по доку отгрузки в неподхватываемом периоде были и проплаты?



Не думал об этом, как решить остаток на начало? smile.gif
sava1
Или был отгруз в предыдущем периоде, проплат в текущем не было, а будут в следующем?

Какой критерий выборки ?
1. Все документы, по которым есть остатки на начало/конец периода
2. Документы проплат в текущем периоде?

По остаткам - или отдельная колонка, или вводить искусственно какой либо признак в выборку (остатокНач,Отгруз, проплата,остатокКон) по которому надо будет сортировать (порядок вывода)
kosalex
Цитата(sava1 @ 15.04.15, 15:41) необходимо зарегистрироваться для просмотра ссылки
Или был отгруз в предыдущем периоде, проплат в текущем не было, а будут в следующем?



как я понимаю, у меня возможны два варианта
а) это когда отгрузка не попадает в отчет, нужно взять начальный остаток
б) когда попадает, значит берем движение этой отгрузки

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

УПОРЯДОЧИТЬ ПО
    Регистратор
kosalex
Это ппц... 64000000.gif

09000000.gif 09000000.gif 09000000.gif
kosalex
Начну с начала.
Есть РН:


Отчет должен выглядеть так:


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

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

ПОМОГИТЕ
kosalex
Как сделать чтобы не в отдельную колонку выводить начальный остаток, а чтобы добавилась строка в группировку?
Т.е. если период документа не попадает в период отчета, то получаем остаток на период и выводим в группировку документ который делает начальный остаток, а дальше как на картинке


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

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

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


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

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

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

УПОРЯДОЧИТЬ ПО
    Документ
kosalex
И опять нужен совет )))




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

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

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

УПОРЯДОЧИТЬ ПО
    Документ
sava1
Так нулевой или начальный?
kosalex
Цитата(sava1 @ 17.04.15, 13:31) необходимо зарегистрироваться для просмотра ссылки
Так нулевой или начальный?


Начальный, в данном случае он равен нулю, его нужно показать. т.е. расскрываем группировку, там записи:
РУТ 2-05031 от 29.09.14 18:47:50 0 0 0
РУТ 2-05031 от 29.09.14 18:47:50 104990 0 2094,44
sava1
А каков физический смысл этой строки?
kosalex
Цитата(sava1 @ 17.04.15, 13:42) необходимо зарегистрироваться для просмотра ссылки
А каков физический смысл этой строки?



Пользователю будет видно, что начальный остаток был ноль, оно как бы и так понятно, что он ноль, но это понятно Вам и мне smile.gif
sava1
Ситуация - пользователь меняет сортировку - и это строка оказывается после строки отгрузки - он не охренеет?
kosalex
Цитата(sava1 @ 17.04.15, 13:49) необходимо зарегистрироваться для просмотра ссылки
Ситуация - пользователь меняет сортировку - и это строка оказывается после строки отгрузки - он не охренеет?

Ничего он не поменяет. Настройки отчета задаються мною, пользователь может указать только периоды, и все! Таков отчет smile.gif
sava1
Тогда еще одно объединение с выборкой документ различные и нулевыми цифирами
kosalex
Цитата(sava1 @ 17.04.15, 13:53) необходимо зарегистрироваться для просмотра ссылки
выборкой документ различные



как это?
sava1
типа так
Цитата(kosalex @ 17.04.15, 13:11) необходимо зарегистрироваться для просмотра ссылки
ОБЪЕДИНИТЬ ВСЕ

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


Параметры ВТ надо уточнить (я копипастил)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.