Имя: Пароль:
1C
 
Отчет СКД. Взаиморасчеты с контрагентами и разделение по типу.
0 jamilone
 
05.01.26
22:22
Здравствуйте.

Хочу создать отчет СКД.

Пример.

Контрагент Нач Остаток / Продажи / Оплаты Контрагента / Оплаты / Возврат от контрагента / Оплата Контрганету/ Конечный остаток

Я как бы в параметрах вирутальной таблицы периодичность ставлю Авто и по типу регистратора разделяю суммы по колонкам (Пример: Если регистратор Реализация это продажи и т.д)

В таком случае у меня Начальный остаток и Конечный остаток становится не Корректным. Получается несколько кратно реального остатка (Зависит от количества регистраторов между периодами).


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

Вот мой запрос в СКД.
1 PR
 
05.01.26
22:41
(0) Хорошо, делай
2 PR
 
05.01.26
22:43
Вообще, дети, не слушайте дяденьку из (0), он вам какую-то херню советует
3 jamilone
 
06.01.26
00:26
(2) Так у меня не получается же. Я хотел бы узнать с каким подходом нужно решить эту задачу. Я же понимаю что делаю не правильно.
4 PR
 
06.01.26
01:00
(3) Ты неправильно не используешь знаки вопроса в (0)
5 PR
 
06.01.26
01:02
А вообще уже давно известно, что перед регистратором нужно использовать поле период с детализацией до секунды
Но все это, если напрячься и не спрашивать себя, нахрена тебе такая дичь
6 jamilone
 
07.01.26
01:13
(5) Можете по подробнее объяснить пожалуйста. Я просто не понял что именно нужно сделать для детализации до секунды.
7 PR
 
07.01.26
01:52
(6) Я же говорю, вместе с регистратором выбирать еще поле "Период, секунда"
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший