Имя: Пароль:
1C
 
Вопросы по разработке сложной печатной формы
0 Nyarlathotep
 
27.11.19
15:35
Всем привет!

Нужно разработать печатную форму с выводом строк и колонок в зависимсоти от условий. Тут наглядный пример: https://docs.google.com/spreadsheets/d/1lgnVyAC_IaslO9F8tBg5HHnCwDVDyCVOjKO88ztWutE/edit?usp=sharing

1. Нужно, чтобы 1 из колонок выводимого табличного документа (находится в центре, колонка 3, выделил цветом), выводилась на печать тольок при выполнении определенного условия. То есть, если условие выполнено, колонка в табличный документ выводится, если не выполнено - этой колонки вообще быть не должно.  

2. У выводимых строк могут быть подстроки, в таком случае данные подстрок нужно выводить в виде подстрок в двух последних колонках (показал на примере, строка 1 подстрока 1, строка 1 подстрока 2). То есть, если у строки есть подстроки с данными, каждая подстрока выводится как отдельная строка в последних колонках, а область с данными основной строки растягивается по горизонтали на соответствующее количество строк.

Как правильно это реализовать?
1 vicof
 
27.11.19
15:42
Что значит правильно?
2 Nyarlathotep
 
27.11.19
15:44
(1) Чтобы работало.
3 unenu
 
27.11.19
15:46
Использовать СКД и прекратить писать постановку задачи как артист балета
па туда
па сюда
пируэт
прыжок
откок
порхание

логичнее описать постановку как боксер:
правой прямой под дых
левой прямой в лоб
и контрольный крюком в челюсть.

вы балерун или боксер? определитесь!
4 EVGA
 
27.11.19
15:47
(0) макет тебе в помощь. Берешь и рисуешь табличный документ так, как вздумается. Хоть вдоль хоть поперек строки выводи. не вижу вообще никакой проблемы
5 d4rkmesa
 
27.11.19
15:47
(0) Постановка задачи слишком "академичная".
6 EVGA
 
27.11.19
15:49
(3) с СКД не всегда удается достичь нужного результата. Ну либо это надо быть гуру СКД и познать дзен. не все лишь могут, мало кто может это сделать. ну вы понимаете...
7 Nyarlathotep
 
27.11.19
15:50
(4) а как сделать так, чтобы при выводе подстрок данные основной строки объединялись в 1 и растягивались по горизонтали на соответствующее количество подстрок (показал на примере)? И как при выводе табличного документа убирать нужную колонку, чтобы она не вывовдилась вообще?
8 RomanYS
 
27.11.19
15:50
(2) Не понятно где проблема у тебя. П.1 решается кучей вариантов: разные макеты, вывод строк частями, СКД.... Для п.2 есть Объединить()
9 FIXXXL
 
27.11.19
15:50
(0) посмотри как собирается типовой Счет в зависимости от условия ПечататьКоды (или как оно там)
10 Nyarlathotep
 
27.11.19
15:55
(8) Нет у меня проблемы. Я никогда такого не реализовывал и не знаю, как это сделать. Вот и спрашиваю.
11 EVGA
 
27.11.19
15:57
(7) элементарно. условие выполнилось Область.присоединить() не выполнилось - продолжить. Считай количество ячеек. Определил область ячеек с начальной и начальной+КоличествоЯчеек. Потом уяк и Область.Объединить(). ну ей боку поюзай синтакс-помощник
12 unenu
 
27.11.19
15:58
Экселеводам трудно понять, что 1С врядли когда станет такой же гибкой как эксель
13 RomanYS
 
27.11.19
15:59
(10)
П1. самое простое - два макета или разные области в одном макете
п2 Объединить(), СП в помощь
14 Nyarlathotep
 
27.11.19
16:26
И еще есть такой вопрос - мне нужно на каждой странице выводить шапку документа, где указывать, какой это лист из общего количества листов. Как выводить шапку на каждой странице я знаю, но как мне узнать, сколько всего листов получиться при печати, чтобы вывести это количество в шапке уже на 1-й странице?
15 RomanYS
 
27.11.19
16:28
(14) колонтитулы позволяют это сделать
16 EVGA
 
27.11.19
16:33
а можно через ПроверитьВывод посчитать количество страниц сначала)))
17 unregistered
 
27.11.19
16:41
(3) И чем алгоритм балерины отличается от алгоритма боксёра?...
В чем разница между "па туда, па сюда, пируэт" и "правой туда, левой сюда, контрольный в челюсть".

Я понимаю, что ты хотел сказать. Но аналогия, которую ты привёл, крайне неудачная.