|
Как в схеме компоновки задать периодичность регистра параметром? | ☑ | ||
---|---|---|---|---|
0
toypaul
гуру
20.09.13
✎
16:46
|
Вот так не получается
ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = "Неделя" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодНеделя КОГДА &Периодичность = "Месяц" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодМесяц ИНАЧЕ ДенежныеСредстваОстаткиИОбороты.ПериодДень КОНЕЦ КАК Период, ДенежныеСредстваОстаткиИОбороты.ФактКонечныйОстаток КАК Деньги ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(, , Авто, Движения, ) КАК ДенежныеСредстваОстаткиИОбороты Остаток получается всреавно на каждый день, а период подставляется из условия. В результате суммы получаются неверные. Или сделать через функцию от ПериодДень ... |
|||
1
toypaul
гуру
20.09.13
✎
16:47
|
не ... через функцию та же фигня выйдет
|
|||
2
Defender aka LINN
20.09.13
✎
16:49
|
(0) Действительно, что за фигня - выбираешь период день, а СКД, ссссука, день в периодичность и сует!
|
|||
3
toypaul
гуру
20.09.13
✎
16:52
|
(2) чо? я понял эту ошибку. как сделать правильно-то? Авто и выбор группировке в настройках мне не подходить. Мне нужно именно параметром, потому что первый запрос у меня с выбранной периодичностью сначала пишет во врем таблицу.
вот так ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = "Неделя" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодНеделя КОГДА &Периодичность = "Месяц" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодМесяц ИНАЧЕ ДенежныеСредстваОстаткиИОбороты.ПериодДень КОНЕЦ КАК Период, ДенежныеСредстваОстаткиИОбороты.ФактКонечныйОстаток КАК Деньги ПОМЕСТИТЬ Факт ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(, , Авто, Движения, ) КАК ДенежныеСредстваОстаткиИОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Факт.Период КАК Период, Факт.Деньги КАК Деньги, ЗНАЧЕНИЕ(Перечисление.ВидыГрафика.Факт) КАК Серия ИЗ Факт КАК Факт ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = "Неделя" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодНеделя КОГДА &Периодичность = "Месяц" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодМесяц ИНАЧЕ ДенежныеСредстваОстаткиИОбороты.ПериодДень КОНЕЦ, ДенежныеСредстваОстаткиИОбороты.ПланКонечныйОстаток, ЗНАЧЕНИЕ(Перечисление.ВидыГрафика.План) ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(, , Авто, , ) КАК ДенежныеСредстваОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = "Неделя" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодНеделя КОГДА &Периодичность = "Месяц" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодМесяц ИНАЧЕ ДенежныеСредстваОстаткиИОбороты.ПериодДень КОНЕЦ, ДенежныеСредстваОстаткиИОбороты.ФактКонечныйОстаток, ЗНАЧЕНИЕ(Перечисление.ВидыГрафика.ПланФакт) ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(, &КонецФакт, Авто, Движения, ) КАК ДенежныеСредстваОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ВЫБОР КОГДА &Периодичность = "Неделя" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодНеделя КОГДА &Периодичность = "Месяц" ТОГДА ДенежныеСредстваОстаткиИОбороты.ПериодМесяц ИНАЧЕ ДенежныеСредстваОстаткиИОбороты.ПериодДень КОНЕЦ, ДенежныеСредстваОстаткиИОбороты.ПланКонечныйОстаток, ЗНАЧЕНИЕ(Перечисление.ВидыГрафика.ПланФакт) ИЗ РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(&НачалоПериода, , Авто, , ) КАК ДенежныеСредстваОстаткиИОбороты |
|||
4
Vovan1975
20.09.13
✎
16:52
|
может выбирать все периодичности во вложенном запросе а затем через выбор в итоговый запрос подставляй нужные поля итогов?
|
|||
5
Defender aka LINN
20.09.13
✎
16:55
|
(3) Ты вообще в курсе, как СКД работает, не?
И не делай никому моск |
|||
6
toypaul
гуру
20.09.13
✎
17:00
|
(5) Зачем мне все периоды, когда мне нужен один конкретный? я не могу в настройке выбрать ПериодМесяц или ПериодНеделя. Мне что при формировании временной таблицы тоже все периоды писать?
Запрос-то посмотри для начала. |
|||
7
toypaul
гуру
20.09.13
✎
17:16
|
сделал через замену в тексте запроса.
кстати в 12 году эту же тему Маня поднимал уже. и неподходящие советы по типу (5) ему там тоже давали. |
|||
8
Сторно абсурда
20.09.13
✎
17:18
|
(6) Решение:
1) в запросе параметр Периодичность ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ВидыДвиженийПриходРасход.Приход) КАК ВидДвижения, ДвиженияДенежныхСредствОбороты.Период КАК Период, ДвиженияДенежныхСредствОбороты.СуммаУпрОборот КАК Сумма ПОМЕСТИТЬ ПриходДС ИЗ РегистрНакопления.ДвиженияДенежныхСредств.Обороты( &НачалоПериода, &КонецПериода, Месяц {(&Периодичность)}, 2) Для поля период в выражении представления написать: ВЫБОР КОГДА &Периодичность = 6 ИЛИ &Периодичность = 7 ТОГДА Формат(Период, "ДФ=dd.MM.yy") КОГДА &Периодичность = 9 ТОГДА Формат(Период, "ДФ = 'MMM yy'") КОГДА &Периодичность = 10 ТОГДА ВЫБОР КОГДА Квартал(Период) = 1 ТОГДА Формат(Период, "ДФ = '""1 кв."" yy'") КОГДА Квартал(Период) = 2 ТОГДА Формат(Период, "ДФ = '""2 кв."" yy'") КОГДА Квартал(Период) = 3 ТОГДА Формат(Период, "ДФ = '""3 кв."" yy'") КОГДА Квартал(Период) = 4 ТОГДА Формат(Период, "ДФ = '""4 кв."" yy'") КОНЕЦ КОГДА &Периодичность = 11 ТОГДА ВЫБОР КОГДА Квартал(Период) < 2 ТОГДА Формат(Период, "ДФ = '""1 полугодие"" yy'") ИНАЧЕ Формат(Период, "ДФ = '""2 полугодие"" yy'") КОНЕЦ КОГДА &Периодичность = 12 ТОГДА Формат(Период, "ДФ = 'yyyy'") КОНЕЦ 3) Для параметра периодичность задать Досупные занчения 6 По дням 7 По неделям и тд |
|||
9
Сторно абсурда
20.09.13
✎
17:19
|
В настройках будет удобный выбор периодичности из списка
|
|||
10
ИсчадиеADO
20.09.13
✎
17:23
|
(7) дык ведь СКД анализирует настройки пользователя, и исходя из этих настроек сама формирует окончательный текст запроса. Т.ч. (5) прав
|
|||
11
Сторно абсурда
20.09.13
✎
17:27
|
(10) в запросе достаточно выбрать только одно поле периода:
"Период" , а дальше СКД исходя из параметра {(&Периодичность)} сама подставит в запрос нужную периодичность |
|||
12
toypaul
гуру
20.09.13
✎
17:29
|
(8) вот про это Месяц {(&Периодичность)}, не знал. надо попробовать. спасибо.
(10) прежде чем писать разберись в потребностях задачи. толку от того что СКД сама формирует запрос? |
|||
13
Сторно абсурда
20.09.13
✎
17:31
|
(12) Фишка в том, что этот параметр Периодичность задается целыми числами:
6 - По дням 7 - По неделям и тд |
|||
14
toypaul
гуру
20.09.13
✎
17:35
|
(13) интересная фигня. в доке это написано где-то?
|
|||
15
Сторно абсурда
20.09.13
✎
17:35
|
(14) ссылки не могу дать. Такая реализация есть в отчетах в УТ 11
|
|||
16
toypaul
гуру
20.09.13
✎
17:36
|
(15) понял. спасибо еще раз
|
|||
17
ИсчадиеADO
20.09.13
✎
17:36
|
(12) чет я не понял, нафига это, чтобы не давать пользователю поля типа "ПериодДень", а только одно поле "Период"?
|
|||
18
ИсчадиеADO
20.09.13
✎
17:37
|
(12) как аргумент (3) не приводить :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |