0
xintrea
12.11.12
✎
16:37
|
Здравствуйте!
1С 8.2. Управляемое приложение.
Делаю программную генерацию отчета. Обнаружил странную особенность метода Присоединить(), не знаю как обойти.
Проблема в следующем. Предположим, нужно вывести колонку с надписью, а справа от нее еще 10 колонок с цифрами 1..10. Вот так (правильно):
Надпись 1 2 3 4 5 6 7 8 9 10
Так вот, если надпись, выводимая в табличный документ через метод Вывести(), является табличным документом, созданным на основе табличного документа, куда и будет сделан вывод, то цифры будут присоединены в той же строке (что мне и нужно).
Но если надпись, выводимая в табличный документ через метод Вывести(), является другим табличным документом, то цифры будут присоединены на следующей строке! Вот так (неправильно):
Надпись
1 2 3 4 5 6 7 8 9 10
Чтобы было понятнее, вот пример кода:
&НаКлиенте
Процедура КомандаПоказатьТаблицу(Команда)
ТабДок = Новый ТабличныйДокумент;
ДниТабДок = ТабДок.ПолучитьОбласть("R1C1"); // Вариант 1 - правильный
// ДниТабДок = Новый ТабличныйДокумент; // Вариант 2 - неправильный
ДниТабДок.Область("R1C1").Текст = "Дни";
ТабДок.Вывести(ДниТабДок);
Для К=1 По 10 Цикл
Секция = ТабДок.ПолучитьОбласть("R1C1");
Секция.Область().Текст = "День "+К;
ТабДок.Присоединить(Секция);
КонецЦикла;
ТабДок.Показать();
КонецПроцедуры
То есть, от того, на основе чего был сделан последний вставленный табличный документ, зависит поведение метода Присоединить().
Но я не могу всё делать на основе одного документа. У меня в отчете несколько шаблонов, несколько созданных в коде табличных документов. И я не могу их толком прилепить справа. Они всегда прилепляются снизу, а не на той же строке!
Вопрос. Как обойти эту особенность? Что я делаю не так?
|
|
2
xintrea
12.11.12
✎
17:21
|
(1) Это максимально упрощенный код из официальной справки по методу Присоединить(). В чем кривость кода?
Мне нужно, чтобы можно было работать с любым документом, чтобы любой табличный документ можно было присоединять справа.
А получается, что можно справа присоединить только тот, который сгенерирован на основе документа, куда и будем присоединять.
|
|