|
ТабличныйДокумент, метод Присоединить() работает по-разному! (с примером кода) | ☑ | ||
---|---|---|---|---|
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"); Секция.Область().Текст = "День "+К; ТабДок.Присоединить(Секция); КонецЦикла; ТабДок.Показать(); КонецПроцедуры То есть, от того, на основе чего был сделан последний вставленный табличный документ, зависит поведение метода Присоединить(). Но я не могу всё делать на основе одного документа. У меня в отчете несколько шаблонов, несколько созданных в коде табличных документов. И я не могу их толком прилепить справа. Они всегда прилепляются снизу, а не на той же строке! Вопрос. Как обойти эту особенность? Что я делаю не так? |
|||
1
х86
12.11.12
✎
16:59
|
сорри но что-то мне подсказывает что код чуть кривоват
|
|||
2
xintrea
12.11.12
✎
17:21
|
(1) Это максимально упрощенный код из официальной справки по методу Присоединить(). В чем кривость кода?
Мне нужно, чтобы можно было работать с любым документом, чтобы любой табличный документ можно было присоединять справа. А получается, что можно справа присоединить только тот, который сгенерирован на основе документа, куда и будем присоединять. |
|||
3
х86
12.11.12
✎
17:47
|
как-то так
ТабДок = Новый ТабличныйДокумент;
|
|||
4
xintrea
14.11.12
✎
08:30
|
Вы сами проверили, то что написали?
|
|||
5
НЕА123
14.11.12
✎
08:54
|
(0)
ТабДок.Вывести(ДниТабДок.ПолучитьОбласть("R1C1")); так не кошерно? а вообще (1)+1 |
|||
6
Serg_1960
14.11.12
✎
09:02
|
Рядом в списке тем см. v8: Таб док - присоединить/вывести - что не так?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |