Имя: Пароль:
1C
1С v8
Отчет на СКД
0 ONE1
 
19.05.22
16:50
Памагииите, делал отчет взаиморасчеты с поставщиками с рашифровкой по документам движения. Сначала сделал с помощью 2 отчетов, расшифровка была 2 отчетом. Рук. сказал, что все делается в одном отчете (расшифровка по регистратору). Сделал, но т.к. стоит переодичность Авто, то расчитывается начальный остаток даже если не указан период (за все время). По заданию, если период не указан, то начальный остаток должен оставаться пустым. Пробовал объединением/ соединением, отчет формируется неправильно. Уже все перетыкал, не соображаю :с Может запрос неправильно формирую:

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

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

ВЫБРАТЬ
    NULL,
    NULL,
    0,
    0,
    0,
    0,
    0,
    0,
    РасчетыСПоставщикамиОстаткиИОбороты.Регистратор,
    РасчетыСПоставщикамиОстаткиИОбороты.АналитикаУчетаПоПартнерам.Договор.ГруппаФинансовогоУчета
ИЗ
    РегистрНакопления.РасчетыСПоставщиками.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСПоставщикамиОстаткиИОбороты
ГДЕ
    НЕ РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Взаиморасчеты.Организация КАК Организация,
    Взаиморасчеты.Контрагент КАК Контрагент,
    Взаиморасчеты.Расход КАК Расход,
    Взаиморасчеты.Приход КАК Приход,
    Взаиморасчеты.НашДолгКон КАК НашДолгКон,
    Взаиморасчеты.ДолгКонтрагентаКон КАК ДолгКонтрагентаКон,
    Взаиморасчеты.НашДолгНач КАК НашДолгНач,
    Взаиморасчеты.ДолгКонтрагентаНач КАК ДолгКонтрагентаНач,
    Взаиморасчеты.Регистратор КАК Регистратор,
    Взаиморасчеты.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета
ИЗ
    Взаиморасчеты КАК Взаиморасчеты

Настройки:
   Отчет
      Организация
           ГруппаФинансовогоУчета
                Контрагент
1 vicof
 
19.05.22
17:12
Нахрена объединение?
И у периодов в скд нужно задавать свои роли, что это период.
2 ONE1
 
19.05.22
17:20
(1) с какой то статьи сдирал, стоят роли: Регистратор: Период, 1, Null И ПериодСекунда: Период, 2. Объединение делал, чтобы начальный остаток отделить, а то он заполнялся автоматически, даже если период не выбирал. Я плохо понимаю, что делаю мб вообще как-то иначе надо было x_x
3 ONE1
 
19.05.22
17:21
Но что это за роли проставленные не очень понимаю, просто повторил((
4 vicof
 
19.05.22
17:25
5 ONE1
 
19.05.22
17:27
(4) О, очень полезный файл. Спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший