Имя: Пароль:
1C
1С v8
СКД: Добавить примечания для колонок
0 Anzelota
 
20.09.12
00:37
Здравствуйте!

Каким образом в СКД можно добавить примечания?
Для шапки использую макет. Пытаюсь в нем в ячейке Вставить примечание, прописываю, закрываю конструктор - оно пропадает. Это баг платформы или что-то надо сделать хитрое?

Если это все же баг и так просто примечание не добавляется, как его добавить программно? Т.е. как перебрать ячейки шапки и обратиться к их примечаниям?

Спасибо.
1 Anzelota
 
20.09.12
01:19
В принципе, наклепала что-то на худой конец. вот код

//примечания
ОБ_ОбластьНомеров=Результат.ПолучитьОбласть("R9:R9");
   
Для Сч=1 По ОБ_ОбластьНомеров.ШиринаТаблицы Цикл
   ОБ_Ячейка=ОБ_ОбластьНомеров.Область(1,Сч,1,Сч);
       
   ТекстПримечания = "";
       
   Если Сч=5 Тогда
       ТекстПримечания = "Берётся последняя цена основного поставщика" + Символы.ПС +
               "в справочнике ""Цены номенклатуры контрагентов""," + Символы.ПС +
               "если она была установлена документом";
   КонецЕсли;
   ОБ_Ячейка.Примечание.Текст = ТекстПримечания;
       
КонецЦикла;

Результат.ВставитьОбласть(ОБ_ОбластьНомеров.Область("R1:R1"),Результат.Область("R"+(9)+":R"+(9)),ТипСмещенияТабличногоДокумента.ПоВертикали);
Результат.УдалитьОбласть(Результат.Область("R10:R10"),ТипСмещенияТабличногоДокумента.ПоВертикали);

Но все очень негибко, чуть где уберется колонка или добавятся в заголовке данные о параметрах или отборе, все съедет и поплывет..
2 дущ
 
20.09.12
01:53
Когда то такой же вопрос поднимался с Построителем.
Есть два пути:
1). Считать отборы, колонки, потом арифметически вычислять где эта ячейка должна быть.
2). Определить ячейку по маркерному тексту:
типа
Для Икс = 1 По Таб.ВысотаТаблицы() Цикл
Для Игрек = 1 По Таб.ШиринаТаблицы() Цикл
Область=Таб.Область(Икс, Игрек);
Если Область.Текст = "Нужный заголовок" Тогда
Область.Примечание = "ляля";
...
КонецЦикла; КонецЦикла;

Код не рабочий, лень лезть в синтаксис-помощник, это я для выражения общей идеи.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс