Имя: Пароль:
1C
1С v8
Вместо пустого значения "0"?
0 DenSpb
 
04.08.14
16:56
Делаю отчет в СКД. В ней есть вычисляемое поле. Для него на вкладке вычисляемые поля в столбце оформление указываю представление нуля - 0, или "0". Все равно выводится пустое значение. Как сделать, чтобы выводился 0?
1 acsent
 
04.08.14
16:57
там null
2 DenSpb
 
04.08.14
16:59
(1) поле вычисляемое, там не null
3 acsent
 
04.08.14
17:00
(2) чем докажешь?
4 DenSpb
 
04.08.14
17:02
(2)ВЫБОР
        КОГДА ВыручкаТотПериод = 0
                И ВыручкаЭтотПериод = 0
            ТОГДА 0
        КОГДА ВыручкаТотПериод = 0
            ТОГДА 100
        ИНАЧЕ ВыручкаЭтотПериод / ВыручкаТотПериод * 100
    КОНЕЦ
5 Wobland
 
04.08.14
17:04
КОГДА ВыручкаТотПериод = 0 будет 0 или 100?
6 DenSpb
 
04.08.14
17:05
(5) 100
7 Maxus43
 
04.08.14
17:06
в режиме предприятия сделай условное оформление, а не в конфигураторе
8 Ndochp
 
04.08.14
17:07
(4) А обе выручки точно не NULL?
А то NULL <> 0
и NULL / NULL * 100 = NULL
9 DenSpb
 
04.08.14
17:09
(8) точно не равны 0, ибо выводятся показатели. И есть равные 100, когда ВыручкаТотПериод = 0 и не равные 100
10 DenSpb
 
04.08.14
17:10
(7) пробовал - то же самое. Выводится пустые значения
11 hhhh
 
04.08.14
17:12
(9) а если не на вкладке вычисляемые поля оформление, а просто где все поля сделать оформление поля?
12 ssh2QQ6
 
04.08.14
17:13
(9) > выводятся показатели

в детальных записях выводятся?
13 DenSpb
 
04.08.14
17:20
(12) скорее всего нет. там несколько группировок получается. Я отключил итоги и вывод группировок, чтобы где <> 0 не выводилось дважды.
14 Maxus43
 
04.08.14
17:21
Сделай обычное условное оформление, а не в вычисляемом поле оформление
15 DenSpb
 
04.08.14
17:21
Получается, что там скорее всего null, только как вместо него поставить 0?
16 ssh2QQ6
 
04.08.14
17:22
(13) я к тому, что если в группировке выводится поле, то что в выражении ресурса написано?
17 DenSpb
 
04.08.14
17:23
(14) как его сделать?
18 Andry888
 
04.08.14
17:23
ВЫБОР
        КОГДА ВыручкаТотПериод = 0
                И ВыручкаЭтотПериод = 0
            ТОГДА 0
        КОГДА ВыручкаТотПериод = 0
            ТОГДА 100
        ИНАЧЕ isnull(ВыручкаЭтотПериод,0) / ВыручкаТотПериод * 100
    КОНЕЦ
19 Maxus43
 
04.08.14
17:24
(17) дак просто, на закладке Условное оформление, а не на закладке вычисляемые поля
20 Maxus43
 
04.08.14
17:24
запрос бы в студию ещё конечно
21 Maxus43
 
04.08.14
17:25
или

ЕстьNull(ВЫБОР
        КОГДА ВыручкаТотПериод = 0
                И ВыручкаЭтотПериод = 0
            ТОГДА 0
        КОГДА ВыручкаТотПериод = 0
            ТОГДА 100
        ИНАЧЕ ВыручкаЭтотПериод / ВыручкаТотПериод * 100
    КОНЕЦ, 0)
22 DenSpb
 
04.08.14
17:25
ЗАпрос:
ВЫБРАТЬ
    СУММА(ЕСТЬNULL(ХозрасчетныйОбороты.СуммаОборотКт, 0)) КАК ВыручкаЭтотПериод,
    СУММА(ЕСТЬNULL(ХозрасчетныйОбороты1.СуммаОборотКт, 0)) КАК ВыручкаТотПериод,
    ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, ХозрасчетныйОбороты1.КорСубконто1) КАК Контрагент,
    ЕСТЬNULL(ХозрасчетныйОбороты.ПериодМесяц, ДОБАВИТЬКДАТЕ(ХозрасчетныйОбороты1.ПериодМесяц, ГОД, 1)) КАК Период
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &ДатаОкончания, Авто, Счет.Ссылка В ИЕРАРХИИ (&СчетВыручки), , , , ) КАК ХозрасчетныйОбороты
        ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала1, &ДатаОкончания1, Авто, Счет.Ссылка В ИЕРАРХИИ (&СчетВыручки), , , , ) КАК ХозрасчетныйОбороты1
        ПО (ХозрасчетныйОбороты.ПериодМесяц = ДОБАВИТЬКДАТЕ(ХозрасчетныйОбороты1.ПериодМесяц, ГОД, 1))
            И ХозрасчетныйОбороты.КорСубконто1 = ХозрасчетныйОбороты1.КорСубконто1

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(ХозрасчетныйОбороты.ПериодМесяц, ДОБАВИТЬКДАТЕ(ХозрасчетныйОбороты1.ПериодМесяц, ГОД, 1)),
    ЕСТЬNULL(ХозрасчетныйОбороты.КорСубконто1, ХозрасчетныйОбороты1.КорСубконто1)
23 Maxus43
 
04.08.14
17:26
(22) тогда см (21), везде предусмотрел Null, а в Выбор Когда - нет
24 acsent
 
04.08.14
17:26
(22) такие запросы лучше делать через объединение - так значительно читабельнее
25 DenSpb
 
04.08.14
17:27
(23) когда ВыручкаЭтотПериод - она уже через ЕСТЬNULL, следовательно у она уже не NULL
26 Maxus43
 
04.08.14
17:29
хотя да, наверно не нулл... сделай нормальное условное оформление короче сначала
27 DenSpb
 
04.08.14
17:30
(21) (26) - пробовал и то и то - не работает
28 Andry888
 
04.08.14
17:33
А поле типизировано?
29 Pro-tone
 
04.08.14
17:34
(0) выведи результат запроса и посмотри что там
30 DenSpb
 
04.08.14
17:39
(29) нет данных, но строчка все равно выводится, так как период дополнения указан месяц. Остается понять, как поставить 0, если нет записей
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший