|
Тупняк с запросом | ☑ | ||
---|---|---|---|---|
0
ZanZiBar
03.04.14
✎
09:55
|
Народ. Нужен хелп. Короче задача такова собрать внешний отчёт по УТ.3 на определённый день. Показать Запланированные и Фактические поступления. Это сделано. Но нужно что бы 3м столбцом выводился процент Факта от Плана. Вот тут я и прикурил. Делал и через вычисляемые поля, и в теле запроса вводил, и в модуле пробовал вбивать настройки. Не работает. Делал через СКД
Текст запроса ////////////////////// ВЫБРАТЬ ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.Контрагент, ПланируемыеПоступленияДенежныхСредствОбороты.Контрагент) КАК Контрагент, ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.Период, ПланируемыеПоступленияДенежныхСредствОбороты.Период) КАК Период, ВЫРАЗИТЬ(ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход как ЧИСЛО(17,2)) КАК План, ВЫРАЗИТЬ(ДвиженияДенежныхСредствОбороты.СуммаОборот как ЧИСЛО(17,2)) КАК Факт, ВЫБОР КОГДА ДвиженияДенежныхСредствОбороты.СуммаОборот ЕСТЬ NULL ТОГДА "Нет поступлений" ИНАЧЕ ВЫБОР КОГДА ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход ЕСТЬ NULL ТОГДА "Нет запланированных" ИНАЧЕ ВЫРАЗИТЬ(ДвиженияДенежныхСредствОбороты.СуммаОборот / ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход * 100 КАК ЧИСЛО(17, 2)) КОНЕЦ КОНЕЦ КАК Процент ИЗ РегистрНакопления.ПланируемыеПоступленияДенежныхСредств.Обороты(&ДатаНач, КОНЕЦПЕРИОДА(&ДатаНач, ДЕНЬ), День, Контрагент.Покупатель = &Покупатель) КАК ПланируемыеПоступленияДенежныхСредствОбороты ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты( &ДатаНач1, КОНЕЦПЕРИОДА(&ДатаНач1, ДЕНЬ), День, ПриходРасход = &Приход И Контрагент.Покупатель = &Покупатель) КАК ДвиженияДенежныхСредствОбороты ПО ПланируемыеПоступленияДенежныхСредствОбороты.Контрагент = ДвиженияДенежныхСредствОбороты.Контрагент И (ДвиженияДенежныхСредствОбороты.Период = ПланируемыеПоступленияДенежныхСредствОбороты.Период) УПОРЯДОЧИТЬ ПО ДвиженияДенежныхСредствОбороты.Период ////////////////////// |
|||
1
ZanZiBar
03.04.14
✎
09:57
|
УТ 10.3
|
|||
2
dk
03.04.14
✎
09:58
|
полное соединение не надо
надо объединение с группировкой |
|||
3
cw014
03.04.14
✎
09:59
|
1) А что именно не работает?
2) А как ты так рушишь прикольно процент, превращая его в составной тип |
|||
4
ZanZiBar
03.04.14
✎
10:03
|
(2) В теле запроса заменить "ПОЛНОЕ СОЕДИНЕНИЕ" на "ОБЪЕДИНЕНИЕ С ГРУППИРОВКОЙ"?
(3) 1)Не выводит процент. Максимум чего добивался это деление на ноль. Но тексты не выводились что нет плана или факта 2) Не понял каким образом? |
|||
5
cw014
03.04.14
✎
10:05
|
(3) ВЫБОР
КОГДА ДвиженияДенежныхСредствОбороты.СуммаОборот ЕСТЬ NULL ТОГДА "Нет поступлений" <--------- Строка однако ИНАЧЕ ВЫБОР КОГДА ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход ЕСТЬ NULL ТОГДА "Нет запланированных" <--------- Строка однако ИНАЧЕ ВЫРАЗИТЬ(ДвиженияДенежныхСредствОбороты.СуммаОборот / ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход * 100 КАК ЧИСЛО(17, 2)) <--------- Число внезапно КОНЕЦ КОНЕЦ КАК Процент |
|||
6
cw014
03.04.14
✎
10:06
|
(4) А зачем ты "выразить" везде нафтыкал?
|
|||
7
ZanZiBar
03.04.14
✎
10:08
|
(5) Так ведь идёт проверка на NULL. Если есть хоть в одном поле должна быть строка. Если нет должно быть число
|
|||
8
salvator
03.04.14
✎
10:09
|
(7) Кто тебе сказал, что должна быть строка?
|
|||
9
ZanZiBar
03.04.14
✎
10:10
|
(6) Когда пытался вбить выполнение в модуле выполнение. 1с ругалось что мол не может применять действия не к числу. Вот и оставил что бы гарантированно Поля План и Факт были числовыми
|
|||
10
cw014
03.04.14
✎
10:10
|
ВЫБРАТЬ
ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.Контрагент, ПланируемыеПоступленияДенежныхСредствОбороты.Контрагент) КАК Контрагент, ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.Период, ПланируемыеПоступленияДенежныхСредствОбороты.Период) КАК Период, ЕСТЬNULL(ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход,0) КАК План, ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.СуммаОборот,0) КАК Факт, ВЫБОР КОГДА ЕСТЬNULL(ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход,0) = 0 ТОГДА 0 ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ДвиженияДенежныхСредствОбороты.СуммаОборот,0) / ЕСТЬNULL(ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход,0) * 100 КАК ЧИСЛО(17, 2)) КОНЕЦ КАК Процент, ВЫБОР КОГДА ДвиженияДенежныхСредствОбороты.СуммаОборот ЕСТЬ NULL ТОГДА "Нет поступлений" КОГДА ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход ЕСТЬ NULL ТОГДА "Нет запланированных" ИНАЧЕ NULL КОНЕЦ КАК ПроцентПредставления ИЗ РегистрНакопления.ПланируемыеПоступленияДенежныхСредств.Обороты(&ДатаНач, КОНЕЦПЕРИОДА(&ДатаНач, ДЕНЬ), День, Контрагент.Покупатель = &Покупатель) КАК ПланируемыеПоступленияДенежныхСредствОбороты ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты( &ДатаНач1, КОНЕЦПЕРИОДА(&ДатаНач1, ДЕНЬ), День, ПриходРасход = &Приход И Контрагент.Покупатель = &Покупатель) КАК ДвиженияДенежныхСредствОбороты ПО ПланируемыеПоступленияДенежныхСредствОбороты.Контрагент = ДвиженияДенежныхСредствОбороты.Контрагент И (ДвиженияДенежныхСредствОбороты.Период = ПланируемыеПоступленияДенежныхСредствОбороты.Период) УПОРЯДОЧИТЬ ПО ДвиженияДенежныхСредствОбороты.Период |
|||
11
cw014
03.04.14
✎
10:12
|
Убирай доступ к полю "ПроцентПредставления"
Выводи его через условное офрпмоение |
|||
12
ZanZiBar
03.04.14
✎
10:17
|
(10)Процент всё равно не считает
(11)А можно по подробнее для ламера? |
|||
13
cw014
03.04.14
✎
10:30
|
(12) Не считает наверное потому что либо виженияДенежныхСредствОбороты.СуммаОборот = 0, либо ПланируемыеПоступленияДенежныхСредствОбороты.СуммаПриход = 0?
|
|||
14
ZanZiBar
03.04.14
✎
10:48
|
(13) Нет. Есть контрагентцы по которым есть и план и факт
|
|||
15
ZanZiBar
03.04.14
✎
11:29
|
Ну давайте же гуру. Помогите новичку
|
|||
16
dk
03.04.14
✎
12:42
|
покажи что в результате запроса сейчас
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |