СКД и Процедура ПриКомпоновкеРезультата. Как в ручную выводить отчет? #546796


#0 by DINov
Доброе время суток жителям волшебного форума!!!! Столкнулся с необходимостью выводить данные из СКД с помощью процедуры ПриКомпоновкеРезультата(…) в табличный документ (аля шаблон). Перелопатив массу материала, многое прояснилось, но осталось несколько вопросов, которые сам толи в силу усталости,  толи в силу «слепоты» как решить не знаю. СКД полностью выбирает необходимые мне данные и компонует их в структуру похожую на шаблон отчета. Особенность: Отчет нужно выводить в шаблон указанный на скрине. (Бланк утвержден директорами (шрифт, положение надписей, значения, их последовательность) и отклонения недопустимы, кроме автоширины колонок).  Так – же существует так называемая «пред-шапка» она выводится перед заголовком всех отчетов данной организации. Вопросы: 1) как вывести «Гр_Статус» в область шаблона «Группировка»;    2) как вывести «Гр_Предмет» в область шаблона «СтрЗнач»;    3) как вывести «Гр_Документ» в область шаблона «Документ»;    4) как сохранить автоширину колонок по значению; Мой Код:
#1 by DINov
Уточню: Форма отчета отсутствует её генерит сама 1С, я использую только «Модуль объекта»
#2 by Maniac
есть отчет пример. была огромная тема. нашелся вариант решения
#3 by Maniac
вот пример отчета. Подсказка. Отчет базируется на СКД но внутри сидит построитель.
#4 by Maniac
ПОэтому отчет выводится полностью программно в макет.
#5 by Maniac
Все очень просто. В моем случае. Все расположено в СКД. На форме отборы и т.д. Далее в модуле СКД запрос передается в построитель, который непосредственно получает результат. Дальше идет обычная выборка и рисованием любого произвольного макета (как то делалось в обчных отчетах на 8.1) В итоге скрещен СКД и построитель (может быть обычный запрос).
#6 by DINov
можно пример передачи из СКД в построитель???
#7 by acsent
Не осилил на СКД кросстаблицу сделать. И вот оно удаление гланд через ЖПО
#8 by DINov
если я правильно понял то в Вашем случае используется Форма отчета?
#9 by Maniac
все осилил. это не то что нужно.
#10 by Maniac
произвольный макет.
#11 by Maniac
ща
#12 by Maniac
#13 by acsent
Зачем тогда передавать в построитель?
#14 by Maniac
я уже писал по этому поводу. если ты не в курсе то не стоит свои пять копее всавлять про кросс таблицы. Тебе конкретно говорят - вывести свой произвольный макет. У меня аналогичная задача была. Мало того что макет произвольный так еще много логики своей (процедур и функций учавствующих в выборке) которые на СКД просто не сделать никак.
#15 by Maniac
1) макет с условиями 2) в выборке вызов своих процедур и функций. нужно было полное программное управление выборкой.
#16 by acsent
Свой
#17 by acsent
макет можно и без построителя вывести
#18 by Maniac
У меня есть разработка где используется  СКД но в дерево значений выодится таблица которая содержит кучу специфичных расчетов и т.п. на уровне выборки. Поэтому мне нужно было просто получать результат запроса а потом его вертеть крутить как сам черт голову сломит.
#19 by acsent
СКД юзаем для получения данных, вывод руками. Но ты увы не осилил
#20 by Maniac
пипец. я еще одному балбесу не собираюсь пояснять зачем это нужно.
#21 by acsent
Единственный доп. плюс выборки - это кросстаблица, но ее можно и так сделать
#22 by Maniac
расслабся. ты не шаришь.
#23 by DINov
спасибо за мысль.... не буду спорить, но если ты знаешь как в моем случае корректно решить задачу предложи свой вариант......
#24 by acsent
Получай таблицу/дерево и уже обычными способами Для каждого ... выводи свой отчет
#25 by DINov
Если я правильно понял то мне именно в этом цикле необходимо выводить свой шаблон?
#26 by DINov
для
#27 by DINov
Извиняюсь для
#28 by DINov
в примере понятно как работать с данными которые вернул запрос. Мне - же не понятно как работать с данными которые возвращает СКД. Я не понимаю структуру (организацию) возвращаемых данных СКД и поэтому не могу закончить вывод данных.
#29 by DINov
как определить в какой момент какую секцию шаблона выводить?
#30 by acsent
Получай результат не в табличный документ, а в таблицу значений КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки, <4>); 4 параметр смотри
#31 by Maniac
не зделаешь ты того что хочешь через пробежку по СКД. рисуй макет в самом СКД. для группировок. тами это есть.
#32 by DINov
в самом СКД не получается в точности исполнить необходимый макет......
#33 by Maniac
Тогда не парь мозги и делай как предложили.
#34 by DINov
я только начинаю разбираться с СКД и если плюну и пойду по пути запроса из формы или кручения ТЗ в разных ракурсах то никогда не узнаю всех возможностей СКД. Вот поэтому на конкретной задаче спрашиваю как да чего.......
#35 by DINov
<4>-й параметр это параметр макета оформления. Я понимал его как "Макет оформления компоновки данных" но в нем насколько я понимаю нельзя выполнить мой версию шаблона или я ошибаюсь??? Или я могу туда передать свой шаблон созданный в табличном документе??? - Если Да то как тогда должен быть организован мой шаблон??
#36 by DINov
спасибо за подсказку........
#37 by DINov
C ТаблицейЗначений разобрался, с <4> параметром тоже вроде все понятно... Вопрос: Можно ли как-то перехватывать вывод группировок в результирующий табличный документ и выводить их в свой шаблон со своей логикой из ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С