Добрый вечер, Форумчане! Такой вопрос:

Можно ли в пользовательском поле вывести данные за прошлый месяц? Типа так:

Увеличение долга за прошлый месяц - Уменьшение долга за прошлый месяц

Если нельзя польз. полем - то как можно обычным полем сделать?
---
Сделал с помощью еще одного набора данных, где в параметрах виртуальной таблицы, параметр "конец периода" указал как "ДобавитьКДате(&КонецПериода, Месяц, -1)"
---
Нельзя. Переписать отчет.
---
В смысле. Имеется ввиду что есть уже обычный отчет с датой которой выставит клиент, нужно просто сделать колонку показывающую данные на 1 месяц назад от выбранного периода. Разве так невозможно?
---
В основе почти любого отчёта лежит таблица.
Есть таблица на дату.
Есть таблица на другую дату (месяц назад, например).
Это разные таблицы и увидеть колонки одной из колонок другой нельзя.
Можно переписать отчёт, чтобы он одновременно формировал обе таблицы и тогда можно добавить требуемую колонку.
---
А можно создать еще один пакет запроса, но в условиях выставить что то типа: "Таблица.Период МЕЖДУ МинусМесяц(&НачалоПериода) И МинусМесяц(&КонецПериода)" Потом запихать в вирт. таблицу и использовать это поле?

По моему немного разврат :))))
---
Можно, скорее всего. Степень извращённости не видя запроса оценить сложно.
---
Два пакет запроса. 2 Где есть период:

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

Первый, намного больше:

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    Сегменты.Партнер КАК Партнер,
    ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
    ПОМЕСТИТЬ ОтборПоСегментуПартнеров
    ИЗ
    РегистрСведений.ПартнерыСегмента КАК Сегменты
    {ГДЕ
    Сегменты.Сегмент.* КАК СегментПартнеров,
    Сегменты.Партнер.* КАК Партнер}

    ИНДЕКСИРОВАТЬ ПО
    Партнер,
    ИспользуетсяОтборПоСегментуПартнеров
    ;

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

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

    ВЫБРАТЬ
    0,
    РасчетыСКлиентами.АналитикаУчетаПоПартнерам,
    РегистрАналитикаУчетаПоПартнерам.Организация,
    РегистрАналитикаУчетаПоПартнерам.Партнер,
    РегистрАналитикаУчетаПоПартнерам.Контрагент,
    РегистрАналитикаУчетаПоПартнерам.Договор,
    РегистрАналитикаУчетаПоПартнерам.НаправлениеДеятельности,
    РасчетыСКлиентами.Валюта,
    РасчетыСКлиентами.ЗаказКлиента,
    РасчетыСКлиентами.ЗаказКлиента.Соглашение,
    РасчетыСКлиентами.ЗаказКлиента.Соглашение.ГруппаФинансовогоУчета,
    ВЫБОР
    КОГДА РасчетыСКлиентами.Регистратор = НЕОПРЕДЕЛЕНО
    ТОГДА NULL
    ИНАЧЕ РасчетыСКлиентами.Регистратор
    КОНЕЦ,
    РасчетыСКлиентами.ПериодСекунда,
    РасчетыСКлиентами.ПериодДень,
    РасчетыСКлиентами.ПериодНеделя,
    РасчетыСКлиентами.ПериодДекада,
    ВЫБОР
    КОГДА РасчетыСКлиентами.ПериодМесяц = "Июнь 2020 г."
    И РасчетыСКлиентами.ПериодМесяц = "Июль 2020 г."
    ТОГДА NULL
    ИНАЧЕ РасчетыСКлиентами.ПериодМесяц
    КОНЕЦ,
    РасчетыСКлиентами.ПериодКвартал,
    РасчетыСКлиентами.ПериодПолугодие,
    РасчетыСКлиентами.ПериодГод,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток > 0
    ТОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток > 0
    ТОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток < 0
    ТОГДА -(РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток)
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток < 0
    ТОГДА -(РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток)
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток
    ИНАЧЕ РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток
    КОНЕЦ,
    1,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА РасчетыСКлиентами.ДолгУпрРасход + РасчетыСКлиентами.ПредоплатаУпрРасход
    ИНАЧЕ РасчетыСКлиентами.ДолгРеглРасход + РасчетыСКлиентами.ПредоплатаРеглРасход
    КОНЕЦ,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток
    ИНАЧЕ РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток
    КОНЕЦ,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток > 0
    ТОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток > 0
    ТОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ,
    ВЫБОР
    КОГДА &ДанныеПоРасчетам = 2
    ТОГДА ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток < 0
    ТОГДА -(РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток)
    ИНАЧЕ 0
    КОНЕЦ
    ИНАЧЕ ВЫБОР
    КОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток < 0
    ТОГДА -(РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток)
    ИНАЧЕ 0
    КОНЕЦ
    КОНЕЦ,
    ВЫБОР
    КОГДА РасчетыСКлиентами.Регистратор = НЕОПРЕДЕЛЕНО
    ТОГДА NULL
    ИНАЧЕ РасчетыСКлиентами.Регистратор
    КОНЕЦ,
    РасчетыСКлиентами.Регистратор.СуммаДокумента,
    РасчетыСКлиентами.НомерСтроки
    ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
    {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
    ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
    ГДЕ
    РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
    И &ДанныеПоРасчетам В (2, 3)
    {ГДЕ
    (РегистрАналитикаУчетаПоПартнерам.Партнер В
    (ВЫБРАТЬ
    ОтборПоСегментуПартнеров.Партнер
    ИЗ
    ОтборПоСегментуПартнеров
    ГДЕ
    ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}
```
---
Что то никак не выходит. Кто нибудь сможет показать куда копать?
---
то то никак не выходит. Кто нибудь сможет показать куда копать?
Копать в сторону ВычислитьВыражение
---
Оо, спасибо большое :-)
---
Сделал с помощью еще одного набора данных, где в параметрах виртуальной таблицы, параметр "конец периода" указал как "ДобавитьКДате(&КонецПериода, Месяц, -1)"