|
СКД нужно вывести список дат в одной ячейке | ☑ | ||
---|---|---|---|---|
0
AlexKZT
25.03.21
✎
10:29
|
Здравствуйте!
Есть отчет по проблемной задолженности, никак не получается вывести "дату пролонгации" в одну ячейку. Примерно отчет выглядит так: Проблемная задолженность | Контрагент | Дата образования (по договору) | Дата окончания (первоначально по договору) | Дата пролонгации Да | ТОО АЯК | 01.01.21 | 31.01.21 | 28.02.21 Да | ТОО АЯК | 01.01.21 | 31.01.21 | 31.03.21 Да | ТОО АЯК | 01.01.21 | 31.01.21 | 15.04.21 а нужно: Проблемная задолженность | Контрагент | Дата образования (по договору) | Дата окончания (первоначально по договору) | Дата пролонгации Да | ТОО АЯК | 01.01.21 | 31.01.21 | 28.02.21 | | | | 31.03.21 | | | | 15.04.21 т.е. чтобы строки не дублировались и данные "даты пролонгации" собирались в одну ячейку. |
|||
1
AlexKZT
25.03.21
✎
10:30
|
Текст запроса:
ВЫБРАТЬ ТиповойОстатки.Счет, ТиповойОстатки.Субконто1 КАК Контрагент, ТиповойОстатки.Субконто2 КАК Договор, ТиповойОстатки.Субконто3 КАК ТипОперации, ТиповойОстатки.СуммаОстаток, ТиповойОстатки.СуммаОстатокДт КАК СуммаОстатокДт_СуммаДолгаПоУчетнойЦене, ТиповойОстатки.Субконто2.НомерДоговора КАК НомерДоговора, ТиповойОстатки.Субконто2.ДатаНачалаДействияДоговора КАК ДатаНачалаДействияДоговора, ТиповойОстатки.Субконто2.ДатаОкончанияДействияДоговора КАК ДатаОкончанияДействияДоговора ПОМЕСТИТЬ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене ИЗ РегистрБухгалтерии.Типовой.Остатки(&ДатаОтчета, Счет = &Счет1711, , Субконто3 В ИЕРАРХИИ (&ТипОперацииФорвард)) КАК ТиповойОстатки СГРУППИРОВАТЬ ПО ТиповойОстатки.Субконто2, ТиповойОстатки.Счет, ТиповойОстатки.Субконто1, ТиповойОстатки.Субконто3, ТиповойОстатки.СуммаОстаток, ТиповойОстатки.СуммаОстатокДт, ТиповойОстатки.Субконто2.НомерДоговора, ТиповойОстатки.Субконто2.ДатаНачалаДействияДоговора, ТиповойОстатки.Субконто2.ДатаОкончанияДействияДоговора ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ дог_ДоговорыИДополнительныеСоглашения.Организация, дог_ДоговорыИДополнительныеСоглашения.Договор, дог_ДоговорыИДополнительныеСоглашения.ДатаОкончания КАК ДатаПролонгации, дог_ДоговорыИДополнительныеСоглашения.Регистратор, дог_ДоговорыИДополнительныеСоглашения.ДопСоглашение, дог_ДоговорыИДополнительныеСоглашения.Договор.Владелец КАК Контрагент ПОМЕСТИТЬ ВТ_ВсеДатыПролонгации ИЗ РегистрСведений.дог_ДоговорыИДополнительныеСоглашения КАК дог_ДоговорыИДополнительныеСоглашения ГДЕ дог_ДоговорыИДополнительныеСоглашения.Договор В (ВЫБРАТЬ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор ИЗ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене КАК ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене) И дог_ДоговорыИДополнительныеСоглашения.ДопСоглашение = ИСТИНА СГРУППИРОВАТЬ ПО дог_ДоговорыИДополнительныеСоглашения.Договор.Владелец, дог_ДоговорыИДополнительныеСоглашения.Организация, дог_ДоговорыИДополнительныеСоглашения.Договор, дог_ДоговорыИДополнительныеСоглашения.ДатаОкончания, дог_ДоговорыИДополнительныеСоглашения.Регистратор, дог_ДоговорыИДополнительныеСоглашения.ДопСоглашение ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ бит_ПараметрыРасчетаПоДоговорам.Период, бит_ПараметрыРасчетаПоДоговорам.СтавкаВознаграждения, бит_ПараметрыРасчетаПоДоговорам.СтавкаШтрафа, бит_ПараметрыРасчетаПоДоговорам.СтавкаПени ПОМЕСТИТЬ ВТ_ВсеПараметрыРасчетаПоДоговорам ИЗ РегистрСведений.бит_ПараметрыРасчетаПоДоговорам КАК бит_ПараметрыРасчетаПоДоговорам ГДЕ бит_ПараметрыРасчетаПоДоговорам.ТипДоговора = &ТипДоговора_ТоварныйКредит ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ дог_ДополнительныеПараметрыДоговоров.Период, дог_ДополнительныеПараметрыДоговоров.Регистратор, дог_ДополнительныеПараметрыДоговоров.Договор, дог_ДополнительныеПараметрыДоговоров.ДополнительныйПараметр КАК Объем, дог_ДополнительныеПараметрыДоговоров.ЗначениеДополнительногоПараметра КАК ЗначениеОбъема ПОМЕСТИТЬ ВТ_ДанныеПоТоварнымКредитам_Объем ИЗ РегистрСведений.дог_ДополнительныеПараметрыДоговоров КАК дог_ДополнительныеПараметрыДоговоров ГДЕ дог_ДополнительныеПараметрыДоговоров.ДополнительныйПараметр = &Объем И дог_ДополнительныеПараметрыДоговоров.Договор В (ВЫБРАТЬ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор ИЗ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене КАК ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ дог_ДополнительныеПараметрыДоговоров.Период, дог_ДополнительныеПараметрыДоговоров.Регистратор, дог_ДополнительныеПараметрыДоговоров.Договор, дог_ДополнительныеПараметрыДоговоров.ДополнительныйПараметр КАК Цена, дог_ДополнительныеПараметрыДоговоров.ЗначениеДополнительногоПараметра КАК ЗначениеЦены ПОМЕСТИТЬ ВТ_ДанныеПоТоварнымКредитам_Цена ИЗ РегистрСведений.дог_ДополнительныеПараметрыДоговоров КАК дог_ДополнительныеПараметрыДоговоров ГДЕ дог_ДополнительныеПараметрыДоговоров.ДополнительныйПараметр = &Цена И дог_ДополнительныеПараметрыДоговоров.Договор В (ВЫБРАТЬ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор ИЗ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене КАК ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.СуммаОстатокДт_СуммаДолгаПоУчетнойЦене, ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Контрагент, ВТ_ВсеПараметрыРасчетаПоДоговорам.СтавкаШтрафа, ВТ_ВсеПараметрыРасчетаПоДоговорам.СтавкаПени, ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.ТипОперации, ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.НомерДоговора, ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.ДатаНачалаДействияДоговора, ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.ДатаОкончанияДействияДоговора, ВЫРАЗИТЬ(ВТ_ДанныеПоТоварнымКредитам_Объем.ЗначениеОбъема КАК ЧИСЛО(15, 2)) КАК Объем, РАЗНОСТЬДАТ(ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.ДатаОкончанияДействияДоговора, &ДатаОтчета, ДЕНЬ) КАК КоличествоДнейПросрочки, ВЫРАЗИТЬ(ВТ_ДанныеПоТоварнымКредитам_Цена.ЗначениеЦены КАК ЧИСЛО(15, 2)) КАК Цена, ВТ_ВсеДатыПролонгации.ДатаПролонгации ПОМЕСТИТЬ СоединенныеТаблицы ИЗ ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене КАК ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеПоТоварнымКредитам_Объем КАК ВТ_ДанныеПоТоварнымКредитам_Объем ПО ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор = ВТ_ДанныеПоТоварнымКредитам_Объем.Договор ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДанныеПоТоварнымКредитам_Цена КАК ВТ_ДанныеПоТоварнымКредитам_Цена ПО ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор = ВТ_ДанныеПоТоварнымКредитам_Цена.Договор ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ВсеДатыПролонгации КАК ВТ_ВсеДатыПролонгации ПО ВТ_ОстатокНа1273_СуммаДолгаПоУчетнойЦене.Договор = ВТ_ВсеДатыПролонгации.Договор, ВТ_ВсеПараметрыРасчетаПоДоговорам КАК ВТ_ВсеПараметрыРасчетаПоДоговорам ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СоединенныеТаблицы.СуммаОстатокДт_СуммаДолгаПоУчетнойЦене, СоединенныеТаблицы.Контрагент, СоединенныеТаблицы.ТипОперации КАК ПричинаОбразованияЗадолженности, СоединенныеТаблицы.НомерДоговора, СоединенныеТаблицы.ДатаНачалаДействияДоговора, СоединенныеТаблицы.ДатаОкончанияДействияДоговора, СоединенныеТаблицы.Объем, СоединенныеТаблицы.КоличествоДнейПросрочки, ВЫБОР КОГДА СоединенныеТаблицы.КоличествоДнейПросрочки >= 90 ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ПроблемнаяЗадолженность, СоединенныеТаблицы.СтавкаШтрафа, СоединенныеТаблицы.Цена, ВЫБОР КОГДА СоединенныеТаблицы.КоличествоДнейПросрочки > 30 ТОГДА СоединенныеТаблицы.Объем * СоединенныеТаблицы.Цена * СоединенныеТаблицы.СтавкаШтрафа ИНАЧЕ 0 КОНЕЦ КАК ШтрафНаОсновнойДолг, ВЫБОР КОГДА СоединенныеТаблицы.КоличествоДнейПросрочки <= 30 ТОГДА СоединенныеТаблицы.КоличествоДнейПросрочки * СоединенныеТаблицы.Объем * СоединенныеТаблицы.Цена * СоединенныеТаблицы.СтавкаПени КОГДА СоединенныеТаблицы.КоличествоДнейПросрочки > 30 ТОГДА 30 * СоединенныеТаблицы.Объем * СоединенныеТаблицы.Цена * СоединенныеТаблицы.СтавкаПени ИНАЧЕ 0 КОНЕЦ КАК ПеняНаОсновнойДолг, СоединенныеТаблицы.ДатаПролонгации ИЗ СоединенныеТаблицы КАК СоединенныеТаблицы |
|||
2
AlexKZT
25.03.21
✎
10:34
|
Перепробовал все возможные варианты, создал ресурс,
пробовал через СоединитьСтроки и Массив Подскажите куда копать.. |
|||
3
Chameleon1980
25.03.21
✎
10:37
|
настрой правильно схему, зачем тебе в одной ячейке?
посмотри в ВычислитьЗначениеСГруппировкойВМассив у тех, кто хотел получить правильный итог по группировкам при неправильном использовании этой функции именно в одну колонку выводились ресурсы по группировке |
|||
4
Chameleon1980
25.03.21
✎
10:37
|
колонку=ячейку
|
|||
5
toypaul
гуру
25.03.21
✎
10:51
|
ДатаПролонгации = Массив(ДатаПролонгации) на закладке ресурсы
|
|||
6
toypaul
гуру
25.03.21
✎
10:52
|
"Подскажите куда копать.." научиться правильно задавать вопросы https://wiki.programstore.ru/kak-pravilno-zadavat-vopros-svyazannyj-s-podsistemoj-skd-v-1s/
в картинках а не этот ужас из начального сообщения |
|||
7
AlexKZT
25.03.21
✎
10:53
|
т.к. договор может пролонгироваться несколько раз должны выводиться все даты в одной ячейке.
Мне не нужно выводить никаких итогов, только в детальных записях, т.е. сейчас отчет выводит так: Контрагент Дата пролонгации ТОО 1 01.01.21 ТОО 1 10.01.21 ТОО 2 01.01.21 ТОО 2 10.01.21 ТОО 2 31.01.21 а нужно: Контрагент Дата пролонгации ТОО 1 01.01.21, 10.01.21 ТОО 2 01.01.21, 10.01.21, 31.01.21 |
|||
8
AlexKZT
25.03.21
✎
11:12
|
toypaul "ДатаПролонгации = Массив(ДатаПролонгации) на закладке ресурсы"
пробовал, так же пробовал СоединитьСтроки(ДатаПролонгации, ",") получается вот такая белиберда: https://disk.yandex.ru/i/2QN0UvwfCsjlhQ |
|||
9
toypaul
гуру
25.03.21
✎
11:15
|
не буду давать советов. а то как обычно начнется, а у меня не так, а мне не подходит :)
Массив(ДатаПролонгации) или СоединитьСтроки единственное (почти) нормальное решение. к нему надо приложить руки и мозги по картинке из (7) надо добавить группировку по контрагенту. картинка из (8) "говорит" что такой группировки нет |
|||
10
AlexKZT
25.03.21
✎
11:45
|
Вот что получилось после того как я сделал группировку по контрагенту:
https://disk.yandex.ru/i/SB8j6nxqJN_SSw даты собрались в группировке, а нужно в разрезе в детальных записей. вот все скрины настроек: https://disk.yandex.ru/i/pIcrF1jGHr2zkA https://disk.yandex.ru/i/j6OCEiQ5jPoWGA |
|||
11
polosov
25.03.21
✎
11:51
|
||||
12
toypaul
гуру
25.03.21
✎
11:52
|
(10) один шаг до правильного результата :)
|
|||
13
AlexKZT
25.03.21
✎
17:10
|
Всем большое спасибо за советы...
А есть еще идеи? Вопрос еще открыт.. |
|||
14
dka80
25.03.21
✎
17:21
|
В группировке Контрагент у тебя должны быть указаны все поля, кроме МассивДат
|
|||
15
Chameleon1980
25.03.21
✎
17:27
|
все поля выбери в корне схемы
|
|||
16
Chameleon1980
25.03.21
✎
17:27
|
+ убери детальные
оставь группировку контрагент |
|||
17
Chameleon1980
25.03.21
✎
17:28
|
+ включи голову просто
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |