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 По Таб.ШиринаТаблицы() Цикл
Область=Таб.Область(Икс, Игрек);
Если Область.Текст = "Нужный заголовок" Тогда
Область.Примечание = "ляля";
...
КонецЦикла; КонецЦикла;
Код не рабочий, лень лезть в синтаксис-помощник, это я для выражения общей идеи.
|
|