Имя: Пароль:
1C
1С v8
Отображение чисел в отчете
0 ogion83
 
27.09.13
09:33
Отчет СКД, всё выдает правильно, но есть одна странность. Числа в одних колонках выдает в формате 5,0000 (как и записаны в регистр), а в других 5. Из-за этого в условном форматировании получается фигня (там ставлю условие: если значение = 0 то ширина колонки = 0, при этом там где 5,000 всё правильно, а где 5, даже если есть значения, скрывает колонку). Кто-нибудь сталкивался с таким?

ВЫБРАТЬ
    МатериалыОстаткиИОбороты.МестоХранения,
    МатериалыОстаткиИОбороты.МПЗ КАК Материал,
    МатериалыОстаткиИОбороты.КоличествоНачальныйОстаток,
    МатериалыОстаткиИОбороты.КоличествоКонечныйОстаток,
    МатериалыОстаткиИОбороты.КоличествоПриход,
    МатериалыОстаткиИОбороты.КоличествоРасход,
    МатериалыОстаткиИОбороты.СуммаНачальныйОстаток,
    МатериалыОстаткиИОбороты.СуммаКонечныйОстаток,
    МатериалыОстаткиИОбороты.СуммаПриход,
    МатериалыОстаткиИОбороты.СуммаРасход,
    Материалы.Регистратор КАК Документ,
    Материалы.КодОперации,
    Выбор
        Когда (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловСЦеной)) Или (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловБезЦены))
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
    Конец Как Закупка,
    Выбор
        Когда Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ВыдачаМатериала)
        Тогда МатериалыОстаткиИОбороты.КоличествоРасход
    Конец Как Выдача,
    Выбор
        Когда Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ВозвратНасклад)
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
    Конец Как ВозвратНаСклад,
    Выбор
        Когда (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ВводОстатков)) И (МатериалыОстаткиИОбороты.КоличествоПриход <> 0)
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
        Иначе 0
    Конец Как ВводОстатковПлюс,
    Выбор
        Когда (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ВводОстатков)) И (МатериалыОстаткиИОбороты.КоличествоРасход <> 0)
        Тогда МатериалыОстаткиИОбороты.КоличествоРасход
        Иначе 0
    Конец Как ВводОстатковМинус,
    Выбор
        Когда Материалы.КодОперации = Значение(Перечисление.КодыОпераций.СписаниеВПроизводство)
        Тогда МатериалыОстаткиИОбороты.КоличествоРасход
        Иначе 0
    Конец Как ВПроизводство,
    Выбор
        Когда Материалы.КодОперации = Значение(Перечисление.КодыОпераций.Продажа)
        Тогда МатериалыОстаткиИОбороты.КоличествоРасход
        Иначе 0
    Конец Как Продажа,
    Выбор
        Когда Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ВозвратИзПроизводства)
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
        Иначе 0
    Конец Как ВозвратИзПроизводства
ИЗ
    РегистрНакопления.Материалы КАК Материалы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Материалы.ОстаткиИОбороты(, , Авто, , ) КАК МатериалыОстаткиИОбороты
        ПО Материалы.МПЗ = МатериалыОстаткиИОбороты.МПЗ
1 ogion83
 
27.09.13
09:47
А может дело и не в формате. В наборе данных, установил формат 0,0000 не помогло.
2 ogion83
 
27.09.13
09:50
Пустые колонки тоже не хочет скрывать. Может кто знает другой способ, как по условию скрывать колонки отчета?
3 ogion83
 
27.09.13
10:13
Зеро ответов...
4 ogion83
 
27.09.13
10:19
Не, причина не в формате. Как эта хрень тогда работает? И отладчиком не посмотреть...
5 tashi_ork
 
27.09.13
10:25
Ну, отладчиком-то в принципе можно. В модуле в процедуре "При компоновке данных" вставь код для вывода в ТЗ, посмотришь хоть, что у тебя там за сырые данные. А там, глядишь, и понятнее станет.
6 ogion83
 
27.09.13
10:26
(5) Ок, попробую.
7 ogion83
 
27.09.13
10:29
Блинский, откуда загружать в ТЗ?
8 ogion83
 
27.09.13
10:36
Посмотрел в ТЗ. Всё везде одинакого по типам...
9 anaed
 
27.09.13
10:43
выразить как число в запросе или указать формат в скд не пробовал?
10 ogion83
 
27.09.13
10:59
Условное оформление вообще работает? На любые условия скрывает колонку.
11 ogion83
 
27.09.13
10:59
(9) Пробовал, один хрен
12 tashi_ork
 
27.09.13
11:20
(10) Работает. Проблемы на твоей стороне.
В запросе вот эту конструкцию
Выбор
        Когда (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловСЦеной)) Или (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловБезЦены))
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
    Конец Как Закупка
Замени на
Выбор
        Когда (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловСЦеной)) Или (Материалы.КодОперации = Значение(Перечисление.КодыОпераций.ПоступлениеМатериаловБезЦены))
        Тогда МатериалыОстаткиИОбороты.КоличествоПриход
Иначе 0
    Конец Как Закупка
Может ему от Null-ов крышу рвет.
13 ogion83
 
27.09.13
11:38
(12) Ёперный театер, точняк, должно помочь.
14 ogion83
 
27.09.13
11:45
Наоборот убрал везде ИНАЧЕ 0, а в условии поставил "если не заполнено". Стало работать.
15 ogion83
 
27.09.13
11:47
А хрен там, опять глюки.
16 ogion83
 
27.09.13
11:55
и с Иначе 0 и без него, не работает.
17 ogion83
 
27.09.13
12:02
Условное оформление подскажите как работает? Оно срабатывает по значению в 1 ячейке колонки или по последней или как?
18 catena
 
27.09.13
12:23
(17)В любой ячейке.
19 ogion83
 
27.09.13
13:00
тогда даже не знаю что ещё попробовать