Вывод пересекающихся областей в табличный документ
Добра и здравия!
Ранее, при работе с выводом отчетов в табличный документ, не возникало задач, где нужно было выводить пересекающиеся горизонтальные и вертикальные области.
Более-менее разобрался, но не могу понять, что нужно настроить в макете, что бы область детальный данных выводилась согласно шапки. Сейчас у меня область деталей съезжает влево, если первая ячейка не содержит значение типа Параметр.
Конечно-же, можно удалить в макете первую пустую колонку и тогда области деталей будет некуда съезжать, но в других отчетах пустые первые колонки есть и области деталей никуда не съезжают.
Хотелось бы разобраться с тонкостями, которых пока не знаю. Моет кто подсказать что делаю не так, или чего необходимого не делаю?
Код - учебный, для разобраться.
Схематичный пример результата вывода - во вложении
Ранее, при работе с выводом отчетов в табличный документ, не возникало задач, где нужно было выводить пересекающиеся горизонтальные и вертикальные области.
Более-менее разобрался, но не могу понять, что нужно настроить в макете, что бы область детальный данных выводилась согласно шапки. Сейчас у меня область деталей съезжает влево, если первая ячейка не содержит значение типа Параметр.
Конечно-же, можно удалить в макете первую пустую колонку и тогда области деталей будет некуда съезжать, но в других отчетах пустые первые колонки есть и области деталей никуда не съезжают.
Хотелось бы разобраться с тонкостями, которых пока не знаю. Моет кто подсказать что делаю не так, или чего необходимого не делаю?
Код - учебный, для разобраться.
Для а = 0 по 10 Цикл
Область = макет.ПолучитьОбласть("Таблица|ПоказательДетали");
Показатель = "Показатель " + Строка(а);
Код = "Код " + строка(а);
Единица = "Единица " + Строка(а);
Область.Параметры.КодПоказателя = Код;
Область.Параметры.Показатель = Показатель;
Область.Параметры.ЕдиницаИзмерения = Единица;
ТабДок.Вывести(Область);
Область = макет.ПолучитьОбласть("Таблица|ТаблицаЗначения");
Для б = 0 По 3 Цикл
Область.Параметры.План = б * 2;
Область.Параметры.Факт = б * 2.1;
ТабДок.Присоединить(Область);
КонецЦикла;
КонецЦикла;
ПоказатьСхематичный пример результата вывода - во вложении
Прикрепленные файлы:

По теме из базы знаний
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
- Сквозной пример задачи оперативного учета (ОУ) при подготовке к экзамену "1С:Специалист" по платформе
- Я - ЗУПер! Часть 1. Компетенции сотрудников.
- HTTP, Ajax, JSON: Один год Pet-проекту на 1С
- Подсистема помощи переноса пользователей и прав из УПП
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Не хотел Вас грузить лишними данными ))
Вот код целиком:
Вот код целиком:
Макет = ПолучитьМакет("МакетПомесячно");
Табдок = ЭлементыФормы.ТабДок;
Область = Макет.ПолучитьОбласть("ПоказателиШапка|ПоказателиВертикальная");
ТабДок.Вывести(Область);
Область = Макет.ПолучитьОбласть("ПоказателиШапка|ЗначенияШапка");
Для а = 0 По 3 Цикл
Область.Параметры.Период = Дата(2025, а + 1, 1);
ТабДок.Присоединить(Область);
КонецЦикла;
Показатели = Новый Массив;
Для а = 0 по 10 Цикл
Область = макет.ПолучитьОбласть("Таблица|ПоказательДетали");
Показатель = "Показатель " + Строка(а);
Код = "Код " + строка(а);
Единица = "Единица " + Строка(а);
Область.Параметры.КодПоказателя = Код;
Область.Параметры.Показатель = Показатель;
Область.Параметры.ЕдиницаИзмерения = Единица;
ТабДок.Вывести(Область);
Область = макет.ПолучитьОбласть("Таблица|ТаблицаЗначения");
Для б = 0 По 3 Цикл
Область.Параметры.План = б * 2;
Область.Параметры.Факт = б * 2.1;
ТабДок.Присоединить(Область);
КонецЦикла;
КонецЦикла;
Показать
Навряд-ли это имеет ключевое значение в данном вопросе )
В общем, удалил первую колонку, выделил все строки и добавил заново и заработало. Макеты - муторная тема. То значения параметров могут не выводиться, пока просто не переназначишь метод заполнения ячейки, то другие "мистические" моменты.
В общем, удалил первую колонку, выделил все строки и добавил заново и заработало. Макеты - муторная тема. То значения параметров могут не выводиться, пока просто не переназначишь метод заполнения ячейки, то другие "мистические" моменты.
(13) Пробабка ведьма была))
Добавлял ячейку слева, существующая вертикальная область стала больше на одну ячейку, потом выделял другую горизонтальную область, и внутри вертикальной области выделил столбцы за исключением добавленного, присвоил имя.
Получили существующую вертикальную область и внутри неё добавленную вертикальную.
Потом удалял добавленную ячейку и получилось, как на картинке.
Экспериментировал. Задачу надо выполнить, а как - нет понимания. Соответственно возник вопрос: может можно как-то иначе? Есть понимание, что это - извраты.
Добавлял ячейку слева, существующая вертикальная область стала больше на одну ячейку, потом выделял другую горизонтальную область, и внутри вертикальной области выделил столбцы за исключением добавленного, присвоил имя.
Получили существующую вертикальную область и внутри неё добавленную вертикальную.
Потом удалял добавленную ячейку и получилось, как на картинке.
Экспериментировал. Задачу надо выполнить, а как - нет понимания. Соответственно возник вопрос: может можно как-то иначе? Есть понимание, что это - извраты.
(14)
Да, примерно так и предполагал. Спасибо.
Но потом подумал, зачем кому-то заниматься таким извращением и решил уточнить))
Имя области колонки/строки распространяется на всю колонку/строку.
Назначать несколько имен одним и тем же колонкам/строкам не имеет смысла.
Добавлял ячейку слева, существующая вертикальная область стала больше на одну ячейку, потом выделял другую горизонтальную область, и внутри вертикальной области выделил столбцы за исключением добавленного, присвоил имя.
Получили существующую вертикальную область и внутри неё добавленную вертикальную.
Потом удалял добавленную ячейку и получилось, как на картинке.
Получили существующую вертикальную область и внутри неё добавленную вертикальную.
Потом удалял добавленную ячейку и получилось, как на картинке.
Да, примерно так и предполагал. Спасибо.
Но потом подумал, зачем кому-то заниматься таким извращением и решил уточнить))
Имя области колонки/строки распространяется на всю колонку/строку.
Назначать несколько имен одним и тем же колонкам/строкам не имеет смысла.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот