Имя: Пароль:
1C
1С v8
Не отображается 0 в макете
,
0 Альбатрос
 
06.04.12
12:01
Процедура Сравнить() Экспорт
   
   Док = ОткрытьФормуМодально("Документ.ЗаказПоставщику.ФормаВыбора");
//    ТабЗаказа = Док.Товары.Скопировать();
   ТабОтчета = ТАблицаИтог.Скопировать();
   ТабОтчета.Свернуть("Номенклатура,Поставщик,Остаток,Период1СредняяПродажаЗаДень,Период1Продано","Заказать");
   
   ТабСравнения = Новый ТаблицаЗначений;
   ТабСравнения.Колонки.Добавить("Номенклатура");
   ТабСравнения.Колонки.Добавить("Колво");
   ТабСравнения.Колонки.Добавить("Цена");
   ТабСравнения.колонки.Добавить("Сумма");
   ТабСравнения.Колонки.Добавить("РазКолво");
   ТабСравнения.Колонки.Добавить("РазСумма");
   
   ТабНету = Новый ТаблицаЗначений;
   ТабНету.Колонки.Добавить("Номенклатура");
   ТабНету.Колонки.Добавить("Колво");
   ТабНету.Колонки.Добавить("Цена");
   ТабНету.колонки.Добавить("Сумма");
   
   
   Для каждого Стр из Док.Товары цикл
       НайденнаяСтрока = ТабОтчета.Найти(Стр.Номенклатура,"Номенклатура");
       Если НайденнаяСтрока = Неопределено тогда
           НовСтрока = ТабНету.Добавить();
           НовСтрока.Номенклатура = Стр.Номенклатура;
           НовСтрока.Колво  = Стр.Количество;
           НовСтрока.Цена = Стр.Цена;
           НовСТрока.Сумма = Стр.Сумма;
       Иначе
           НовСтрока = ТабСравнения.Добавить();
           НовСтрока.Номенклатура = Стр.Номенклатура;
           НовСтрока.Колво  = Стр.Количество;
           НовСтрока.Цена = Стр.Цена;
           НовСТрока.Сумма = Стр.Сумма;
           Если НЕ ЗначениеЗаполнено(НайденнаяСтрока.Заказать) тогда
           НовСтрока.РазКолво = 0;
           иначе
           НовСтрока.РазКолво = НайденнаяСтрока.Заказать;
           КонецЕсли;
           НовСтрока.РазСумма = Стр.Цена*НайденнаяСтрока.Заказать-Стр.Сумма;    
       КонецЕсли
       
   КонецЦикла;
   
   ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет1");
   Область = Макет.ПолучитьОбласть("Шапка");
   ТабДокумент.Вывести(Область);
   Область = Макет.ПолучитьОбласть("Строка");
   Для каждого строка из ТабСравнения цикл
       Область.Параметры.Заполнить(Строка);
       ТабДокумент.Вывести(Область);
   КонецЦикла;
   ТабДокумент.Показать();
КонецПроцедуры;

Вобщем, при выводе макета не выводится 0 в параметре области РазКолво.
Если задать его = "0", то выводится как строка. Но это не вариант.
Почему так происходит?
1 mikecool
 
06.04.12
12:02
потомучто представление 0 в макете - пусто
2 Wobland
 
06.04.12
12:03
"ЧН=" должно помочь
3 mikecool
 
06.04.12
12:04
(2) это уже будет строка, не?
4 Альбатрос
 
06.04.12
12:05
(2) Пробовал в свойствах ячейки, не помогло
5 Wobland
 
06.04.12
12:06
(3) а в макете всё - строки
6 Wobland
 
06.04.12
12:06
(4) было у меня на днях такое, помогло
7 Альбатрос
 
06.04.12
12:09
(6) Хм... Спасибо, и вправду помогло.
8 Альбатрос
 
06.04.12
12:13
Чтоб не создавать новой темы, подскажите, как красить текст и фон выводимой области?
9 hhhh
 
06.04.12
12:16
(8) блин, юморист. Ну там же в свойствах ячейки несколькими строками выше. Есть и текст и фон.
10 Альбатрос
 
06.04.12
12:19
(9) Программно я имею ввиду =) То есть на основе каких-то условий. Например, значение отрицательное, то красным, иначе - зеленым.
11 hhhh
 
06.04.12
12:22
(10) ну и программно. У ячейки есть свойства эти. Просто присвоить их.
12 Wobland
 
06.04.12
12:25
(10) щас ты столкнёшься с тем, что область типа "строка" (ну когда построчно в цикле выводишь) всегда имеет одну строку с номером 1. иногда при покраске путаются люди
13 Альбатрос
 
06.04.12
12:29
(11) Для особо тугих приведите пример, пожалуйста =)
Я нашел только это: Область.ЦветТекстаЗаголовков, но чую, это не то пальто.
14 Альбатрос
 
06.04.12
12:32
(13) Все, разобрался, не надо =)
15 Wobland
 
06.04.12
12:32
(13) Область.Область("R1C8").ЦветФона=?(ТекСтрока.Отдел>0, ЖёлтыйЦвет, БелыйЦвет);
видал R1? когда там была переменная, я сильно удивлялся ;)
16 le_
 
06.04.12
12:37
Область иногда удобнее так определять:
.Область(1, 1, 1, 1)
Вместо цифИрок могут быть переменные...