|
И снова о настройках СКД (ресурсы, вычисляемые поля и еще черт знает что) | ☑ | ||
---|---|---|---|---|
0
DenYuliya
21.06.19
✎
18:02
|
Уже неприличное количество времени вожусь с отчетом.
Отчет - регистр накоплений "Взаиморасчеты",Остатки и обороты, периодичность по регистратору. Сам отчет, в целом, не сложный: ВЫБРАТЬ ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор, ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Договор, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Грузополучатель, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Покупатель КАК Контрагент, ЕСТЬNULL(ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент.СуммаДокумента, 0) КАК СуммаОтгрузкиПоНакладной, ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДолгРасход + ВзаиморасчетыСПокупателямиОстаткиИОбороты.АвансРасход КАК СуммаОплатыЗаПериод, ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДолгКонечныйОстаток КАК ДолгКонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент.ОриентировочнаяДатаОплаты КАК ПлановаяДатаОплаты, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор.Дата КАК ФактическаяДатаОплаты, ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент.Дата КАК ДатаОтгрузки, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Договор.АналитикаУчета КАК АналитикаУчета, ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДолгНачальныйОстаток, -ВзаиморасчетыСПокупателямиОстаткиИОбороты.АвансНачальныйОстаток КАК АвансНачальныйОстаток, -ВзаиморасчетыСПокупателямиОстаткиИОбороты.АвансКонечныйОстаток КАК АвансКонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДолгПриход + ВзаиморасчетыСПокупателямиОстаткиИОбороты.АвансПриход КАК Приход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент.Автор, ВзаиморасчетыСПокупателямиОстаткиИОбороты.КредитныйДокумент.Контрагент.ГоловнойКонтрагент, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор.Автор ПОМЕСТИТЬ ВТ_Взаиморасчеты ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты(&НачалоПериода, КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), Регистратор, , Покупатель.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.Юрлицо)) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты ГДЕ ТИПЗНАЧЕНИЯ(ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор) <> ТИП(Документ.РасходнаяНакладная) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_Взаиморасчеты.АналитикаУчета, ВТ_Взаиморасчеты.Контрагент, ВТ_Взаиморасчеты.Грузополучатель, ВТ_Взаиморасчеты.Договор, ВТ_Взаиморасчеты.Регистратор КАК ДокументОплаты, ВТ_Взаиморасчеты.КредитныйДокумент КАК ДокументОтгрузки, ВТ_Взаиморасчеты.СуммаОтгрузкиПоНакладной, ВТ_Взаиморасчеты.ДатаОтгрузки, ВТ_Взаиморасчеты.ПлановаяДатаОплаты, ВТ_Взаиморасчеты.ФактическаяДатаОплаты КАК ФактическаяДатаОплаты, ВЫБОР КОГДА РАЗНОСТЬДАТ(ВТ_Взаиморасчеты.ПлановаяДатаОплаты, ВТ_Взаиморасчеты.ФактическаяДатаОплаты, ДЕНЬ) > 0 ТОГДА РАЗНОСТЬДАТ(ВТ_Взаиморасчеты.ПлановаяДатаОплаты, ВТ_Взаиморасчеты.ФактическаяДатаОплаты, ДЕНЬ) ИНАЧЕ 0 КОНЕЦ КАК ПросроченоДней, ВТ_Взаиморасчеты.ДолгНачальныйОстаток, ВТ_Взаиморасчеты.ДолгКонечныйОстаток КАК ДолгКонтрагентаНаКонецПериода, ВТ_Взаиморасчеты.СуммаОплатыЗаПериод, ВТ_Взаиморасчеты.КредитныйДокументАвтор КАК МенеджерДокументаОтгрузки, ВТ_Взаиморасчеты.РегистраторАвтор КАК МенеджерДокументаОплаты, ВТ_Взаиморасчеты.КредитныйДокументКонтрагентГоловнойКонтрагент КАК ГоловнойКонтрагент ИЗ ВТ_Взаиморасчеты КАК ВТ_Взаиморасчеты УПОРЯДОЧИТЬ ПО ДолгКонтрагентаНаКонецПериода УБЫВ Сложность возникла с отображением и настройками ресурсов, в разрезе регистратора. Не получается таким образом настроить отчет, чтобы "Долг контрагента на конец периода" отображался корректно. Корректно - это: 1) остаток долга по реализации (Сумма реализации - сумма всех платежек по этой реализации на конец периода) напротив каждой реализации 2) внизу в "Итоге" сумма всех задолженностей по реализациям, по контрагенту. Сейчас у меня 1) реализовано, а вот при попытке реализовать 2) все ползет. - Так реализована группировка в отчете: https://b.radikal.ru/b27/1906/e8/ffad63e66611.png - Так настроена вкладка "Ресурсы": https://c.radikal.ru/c20/1906/e0/56ff9a75719c.png Обведен проблемный ресурс, с которым не получается. - Так выглядит отчет: https://a.radikal.ru/a39/1906/a8/caff4f2a4e87.png В нем все хорошо, кроме того. что в Итогах пусто. И в итогах по группировкам тоже пусто. Подскажите, как обойти этот момент? Брать просто таблицу остатков не вариант, т.к. мне нужны регистраторы. |
|||
1
DenYuliya
21.06.19
✎
18:20
|
В продолжение...
Пробовала так и сяк играться с настройкой "Выражения" и "Рассчитать по" ресурса "ДолгКонтрагентаНаКонецПериода" на вкладке Ресурсы. Получается фигня. Например, если поставить "Рассчитать по " в значение "ДокументОтгрузки, Контрагент, Общий итог", получается так: https://c.radikal.ru/c36/1906/3d/7e216f40220c.png Откуда взялась сумма "1 878,5" - я понимаю, а вот как это обойти, не понимаю: https://b.radikal.ru/b18/1906/96/d5433fdae71f.png Цифра "1 878,5" - это МИНИМАЛЬНОЕ значение в колонке "ДолгКонтрагентаНаКонецПериода", которое как бы при этом даже не является долгом (по Реализации в между ДатойНАчала и ДатойОкончания было несколько платежек- Регистраторов (записи регистра), и после одной из них остаток долга составлял 1 878,5, но на КонецПериода долга уже нет, потому что следующая платежка его погасила). При группировке по Реализации у меня отсутствие долга (0) нормально отрабатывает, а по всему отчету почему-то берется минимальное число. Не знаю, насколько понятно объяснила... В общем, вообще тупик, совсем не знаю, что с этим делать. Все известные мне варианты проверила - не работает. |
|||
2
singlych
21.06.19
✎
18:24
|
"почему-то берется минимальное число"
дык написано ж в выражении ресурса Минимум(...), вот и берется |
|||
3
DenYuliya
21.06.19
✎
18:28
|
(2) это я понимаю. Есть другие варианты, чтобы при группировке по документу бралась не сумма всех записей по каждому из регистраторов (платежек), а
СуммаРеализации - СуммаВсехПлатежек ? |
|||
4
palsergeich
21.06.19
✎
18:29
|
(3) Вариант то есть.
Но это всякие ВычислитьВыражение |
|||
5
DenYuliya
21.06.19
✎
18:35
|
(2) это хорошо видно на примере https://radikal.ru/lfp/b.radikal.ru/b18/1906/96/d5433fdae71f.png/htm
3 записи в регистре: Реализация на сумму 20 202,84 р (измерение регистра "КредитныйДокумент") - на этот момент ресурс ДолгКонтрагента = 20 202,84 Платежка на 18 324,34 (Регистратор в регистре) - на этот момент ресурс ДолгКонтрагента = 1 878,5 Платежка на 1 878,5 (Регистратор в регистре) - последняя запись на КонецПериода, долга нет. Если я беру не Минимум, то в итоге по Реализации на КонецПериода отображается якобы долг, = сумме всех записей. Т.е. 20 202,84 + 1 878,5. А на самом деле долга нет. Я понимаю, почему косяк, но не понимаю, как его обойти грамотно. Или хотя бы не грамотно)). |
|||
6
DenYuliya
21.06.19
✎
18:38
|
(4) я в курсе, о чем и писала в посте (0) - "- Так настроена вкладка "Ресурсы": https://c.radikal.ru/c20/1906/e0/56ff9a75719c.png "
Я прямо честно, совсем не знаю, как надо-то? Про то, что существует некое "ВычислитьВыражение" - знаю, и даже пробовала его применять, одни из вариантов приведены в (0) и в (1), еще пробовала так: 1) Минимум(ВычислитьВыражениеСГруппировкойМассив("ДолгКонтрагентаНаКонецПериода", "ДокументОплаты")) 2) Сумма(ВычислитьВыражениеСГруппировкойМассив("ДолгКонтрагентаНаКонецПериода", "ДокументОплаты")) - все так же фигня. |
|||
7
DenYuliya
21.06.19
✎
18:41
|
(4) возможно, и даже скорее всего, я просто не знаю, как правильно нужно использовать данное выражение в разрезе данной задачи. Поискала примеры в отчетах используемой конфигурации (франчевая самопись) - ничего подходящего не нашла, вообще не используются в отчетах настройки Ресурсов.
Если вы мне подскажете или хотя бы намекнете, "куда копать" - буду оч.признательна. |
|||
8
singlych
21.06.19
✎
18:46
|
зачем вообще минимумы
почему бы из суммы отгрузки не вычитать сумму оплат |
|||
9
DenYuliya
21.06.19
✎
18:49
|
(8) по-идее да, но я не могу понять, как это написать в Выражение?
Пробовала использовать "Вычисляемые поля", но там получилось еще хуже(((. В "ВычисляемыхПолях" не получается получить "Сумму платежек по одной реализации", чтобы потом вычесть эту сумму из Реализации |
|||
10
DenYuliya
21.06.19
✎
18:50
|
(8) и как бы это вообще какое-то изобретание велосипеда выходит, т.к. у меня же как-бы, по-идее, уже есть остаток на конец периода...
|
|||
11
DenYuliya
21.06.19
✎
18:52
|
(8) вычитание Суммы оплаты из Суммы Отгрузки и так происходит типовыми средствами регистра, результат по каждой из строк у меня есть.
Проблема в том, что мне нужны только последние строки как бы, итоги по каждой из реализаций, понимаете? Идеально этот вопрос решает таблица Остатков без оборотов, но увы... |
|||
12
singlych
21.06.19
✎
18:57
|
(9) "как это написать в Выражение"
<выражение для ресурса СуммаОтгрузки> - <выражение для ресурса СуммаОплат> не? |
|||
13
singlych
21.06.19
✎
18:59
|
(11) таблица Остатков без оборотов, но увы...
ну можно взять и присоединить таблицу остатков к таблице оборотов |
|||
14
DenYuliya
21.06.19
✎
19:01
|
(13) пробовала, все тут же адски висит. Нормально пробовала, с нормальными соединениями).
Могу выложить пример. |
|||
15
DenYuliya
21.06.19
✎
19:02
|
(12) СуммаОтгрузкиПоНакладной - Сумма(ВычислитьВыражениеСГруппировкойМассив("ДолгКонтрагентаНаКонецПериода", "ДокументОплаты"))
Так? |
|||
16
singlych
21.06.19
✎
19:08
|
(15) начни заново
СуммаОтгрузкиПоНакладной - это что, выражение ресурса? ДолгКонтрагентаНаКонецПериода - это что, сумма оплаты? |
|||
17
DenYuliya
21.06.19
✎
19:08
|
(15) вообще ерунда какая-то вышла https://b.radikal.ru/b27/1906/db/d55f58677c83.png .
Я не понимаю, как написать вот это **: СуммаОтгрузкиПоРеализации - (ОБЩАЯ СУММА по каждой из Платежек в разрезе этой самой реализации) |
|||
18
DenYuliya
21.06.19
✎
19:10
|
(16)
нет, СуммаОтгрузкиПоНакладной - это реквизит документа Реализация. Тупо сумма документа. ДолгКонтрагентаНаКонецПериода - это СуммаОтгрузки (которая = реквизит документа Реализация "Сумма") - сумма всех оплат по документу отгрузки. Сумма документа отгрузки - сумма всех документов оплат, привязанных к этому документу реализации. |
|||
19
DenYuliya
21.06.19
✎
19:13
|
(16) хотя я несколько в заблуждение ввела в (18).
Если смотреть с точки зрения объекта Регистр накоплений Взаиморасчеты, то ДолгКонтрагентаНаКонецПериода - это последняя запись ресурса ВзаиморасчетыСПокупателямиОстаткиИОбороты.ДолгКонечныйОстаток в разрезе документа отгрузки. |
|||
20
DenYuliya
21.06.19
✎
19:14
|
Структура регистра: https://b.radikal.ru/b17/1906/35/2ccf46da49a0.png
|
|||
21
DenYuliya
21.06.19
✎
19:15
|
К (20) - измерение "КредитныйДОговор" - это и есть документ Реализация.
Платежка - это один из регистраторов движения регистра. Но Реализация - тоже регистратор (одновременно может быть и регистратором движения, и измерением). |
|||
22
singlych
21.06.19
✎
19:20
|
да пофиг на метаданные
я тебе про выражения ресурсов в СКД говорю 1. найди выражение ресурса СуммаОтгрузки 2. найди выражение ресурса СуммаОплаты вычти одно из другого |
|||
23
singlych
21.06.19
✎
19:22
|
типа там
Максимум(СуммаОтгрузки) - Сумма(СуммаОплаты), рассчитывать по ДокументОтгрузки Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(СуммаОтгрузки)", "ДокументОтгрузки")) - Сумма(СуммаОплаты), рассчитывать по Общие или что там у тебя |
|||
24
DenYuliya
21.06.19
✎
20:33
|
(23), спасибо, попробую так, примерно направление поняла!
Уже в понедельник, домой ушла... |
|||
25
Dmitry1c
22.06.19
✎
08:05
|
(20) нафига разрез регистра - дата оплаты?
|
|||
26
DenYuliya
24.06.19
✎
09:59
|
(25) да, для понимания, что уже оплачено на дату и полностью, или нет.
|
|||
27
DenYuliya
24.06.19
✎
10:12
|
(25) похоже, я не так поняла вопрос. Речь про измерение "Ориентировочная дата оплаты"? Это отсрочка по договору с момента отгрузки. Почему это сделано именно в таком виде - не могу сказать, не знаю.
|
|||
28
DenYuliya
24.06.19
✎
11:47
|
(23) спасибо большое, так взлетело.
Я просто не знала, что можно комбинировать в Выражениях таким образом. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |