gifts2017

Хитрости компоновки: произвольный заголовок.

Опубликовал Max (fotov) в раздел Программирование - Работа с интерфейсом

Как вывести произвольный макет в произвольном месте схемы компоновки даннх.

В ходе работы мне понадобилось формировать печатные формы по заданному макету поставщика. Решил делать с использованием СКД, но столкнулся с тем, что нужно выводить произвольный заголовок, но непонятно как. Немного поискав и посмотрев примеры нашел способ сделать это быстро и просто. Внимание - написанное ниже предполагает, что вы знаете, что такое СКД и как примерно работают в СКД макеты.

По шагам рассмотрю как вывести шапку для счет-фактуры

1. Создаем в схеме новую группировку без указания поля (детальные записи)

2. Установим имя группировке

3. Удалим у данной группировки из выбранных полей автополе

4. В других настройках выберем макет оформления "Без оформления" (иначе на наш макет будет накладываться стандартный макет и вокруг всех ячеек будт рамка)

5. На вкладке макеты добавляем наши данные

6. Добавляем макет группировки и указываем наше имя группировки из п.2 и указываем область с нашими данными

7. Готово

 

 

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Armando Armando (Armando) 09.11.10 13:21
Все это, конечно, хорошо... Но зачем печатные формы делать на СКД? Не исключаю, что в определенных случаях это удобно, но в случае с фиксированной шапкой (как примере), смысла ваще не вижу.
2. Max (fotov) 09.11.10 14:31
Пример со счет-фактурой приведен как понятный всем (я думаю мало кто из 1С программистов не сталкивался со счет-фактурой). Что касается целесообразности формирования печатной формы на СКД - у меня очень сложная печатная форма и вроучную писать код для подсчета итогов тяжело, СКД же сама очень корректно считает итоги по группировкам. В итоге получается практически полное отсутствие кода.
3. Игорь Исхаков (Ish_2) 09.11.10 14:41
Полезно на начальном этапе освоения СКД.
Но я ожидал большего , т.е программного "вталкивания" области некоего заданного табличного документа в макет компоновки.
4. Max (fotov) 09.11.10 14:52
>>Но я ожидал большего , т.е программного "вталкивания" области некоего
>>заданного табличного документа в макет компоновки.

это есть в книге Е.Ю.Хрусталева - Разработка сложных отчетов в 1С_Предприятии 8 страницы 415-421, а как добавить свой заголовок я там не нашел ))
qmish; director04; +2 Ответить
5. Артур Аюханов (artbear) 09.11.10 16:31
Нормально, сам подобным пользовался,
начинающим пригодится.
Плюсую.
6. Сергей Старых (tormozit) 10.11.10 00:55
В качестве примера можно посмотреть http://infostart.ru/public/15702/
7. Max (fotov) 10.11.10 02:10
>> В качестве примера можно посмотреть http://infostart.ru/public/15702/
Я посмотрел - некрасивое решение. Приходится добавлять лишние наборы данных или переменные. В предложенном мной варианте костылей нет. Совсем, только кофе и курение мануалов имени Хрусталевой ))
8. Сергей Кучеров (СергейКа) 10.11.10 07:48
(0) В данном примере показана замена всей шапки отчета.
Однако фишка СКД и макетов в том, что можно заменять только конкретный участок, а остальные выводить по стандарту.
Получается несколько интереснее. :D
9. Сергей Старых (tormozit) 10.11.10 09:30
(7) Т.е. привязка к имени элемента структуры стандартных настроек по-твоему не костыль? Я предпочитаю схему делать независимой от настроек. И кстати лишних наборов данных у меня нет, а есть по одному вычисляемому полю на каждый фрагмент табличного документа, причем их даже можно вывести горизонтально.
11. Alex (4ish) 10.11.10 10:23
(0) Как я понял у Вас шапка статическая и неизменная.
А как быть, если в форме есть "плавающие" параметры/колонки?
12. Max (fotov) 10.11.10 11:41
Шапка статическая. Плавающие параметры релизуются стандартно через шаблон - просто это тривиально и здесь не рассматривается. Если требуется динамически подставлять свой макет оформления - можно либо программно переопределять макет (Хрусталева 415-421), либо не использовать СКД
13. Сергей Королев (extrim-style) 10.11.10 14:52
Спасибо! Это то, что нужно! Как раз над этой темой бился, нигде не нашел внятного объяснения. Ходил вокруг да около, а нужно было всего лишь автополе убрать)) (жаль только НРег недоступна...)
14. Max (fotov) 10.11.10 15:47
(13) НРег доступна через глобальные общие модули, т.е. параметр можно сначала рассчитать в параметрах, а потом использовать в макете
15. Sergey Mit (IdoL2k) 11.11.10 14:19
При использовании расшифровок от заголовка не остается и следа.. Не комильфо
16. Борис Глеков (BoricH) 19.11.10 21:42
Предлагаю рассмотреть мой вариант. Формируется он скорее кодом, нежели компановкой, зато все отчеты имеют типизированный заголовок: Мой вариант заголовка
17. Доржи Балбаров (Angeros) 03.12.10 12:31
Отлично, но не хватает *.ert
18. Сергей Степанюк (modul) 16.12.10 18:25
Шапку таблицы можна сделать и так: На вкладке макетов пункт меню: "Добавить макет заголовка группировки", выбрать нужную группировку, создать макет - и все
19. в ввв (orsk20390) 19.03.12 16:51
20. aspirator 23 (aspirator23) 12.06.12 17:25
(14) Не пробовал картинки вставлять в произвольный заголовок? В макет вставляю, сохраняю - исчезает.
21. Александр Крынецкий (echo77) 10.07.13 20:47
(0) Вывести как-то нарисованную шапку - это не проблема. Проблема - это вывести под ней данные, которые не изменят ширину ячеек шапки и не приведут к тому, что отчет весь поплывет на странице и не впишется в страницу
22. cooller Пропелирович (coollerinc) 12.08.13 11:07
У меня шапка почему то печатается перед каждой строкой)), где исправить?
23. Max (fotov) 12.08.13 13:17
(22) Для шапки нужно создать отдельную группировку и УБРАТЬ автополе в выбранных полях данной группировки.

(21) Есть такая особенность компоновки. Для того, чтобы "не разъезжалась" - я добавил 2 группировки. Сначала группировка "Пустая строка" - которая по сути выводит пустую строку. И вторая "шапка". Добавление "пустой строки" настраивает что-то в компоновке и после этого ничего не разъезжается.
smaximaa; sk-if; coollerinc; +3 Ответить 1
24. Maxim Kolkin (the1) 06.11.13 11:50
(23) fotov, "добавил 2 группировки"... - это в макеты надо добавлять? Можно поподробнее, пжл?
25. Max (fotov) 06.11.13 15:36
(24) the1, в СКД:
0. На вкладке настройки
1. Добавил ветку "детальные записи" и назвал "ПустаяСтрока"
2. Убрал автополя
3. На вкладке макеты добавил макет "ПустаяСтрока"
Прикрепленные файлы:
26. Екатерина * * (ekaterinaeon) 25.12.13 14:26
(14) fotov, пробовала через параметры Нрег устанавливать, ругается, ошибка исполнения отчета, не находит функцию( ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки, Истина) тож установила((
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа