|
|
|
Вывод на печать в две колонки | ☑ | ||
|---|---|---|---|---|
|
0
Незнай
16.07.05
✎
20:49
|
Уважаемые форумчане, подскажите, как реализовать подобное?
Суть такова, что начальство желает видеть расходные накладные в две колонки, чтобы все умещалось на одной странице, так как наименований более 50 бывает. Если можно и прайс в две колонки подскажите, пожалуйста. |
|||
|
1
Лошадка в пальто
16.07.05
✎
20:50
|
а вот "тема ебли не раскрыта..."
|
|||
|
2
Незнай
16.07.05
✎
21:08
|
Дан документ РеализацияТоваров. Необходимо распечатать его через внешнюю обработку (чтобы не менять ничего в конфигурации). Но печать должна быть не стандартной, а две колонки: Колонка1(Товар, ЧислоУпаковок, ШтВУпаковке), Колонка2(Товар, ЧислоУпаковок, ШтВУпаковке), причем Колонка1 содержит строки с 1 по N, а Колонка2 с N по последнюю. Колонки должны быть приблизительно равные по высоте (плюс-минус строка). Приблизительный аналог - КалендарьПользователя, но там число строк в колонке строго определено, а как динамически рассчитывать, я не знаю. Теперь тема раскрыта?
|
|||
|
3
Лошадка в пальто
16.07.05
✎
21:10
|
да ... теперь ничо ... нужно купить журнал расчетов или позвать специалиста...
|
|||
|
4
Незнай
16.07.05
✎
21:14
|
А ссылку или подсказку можно вместо (3)?
|
|||
|
5
Лошадка в пальто
16.07.05
✎
21:16
|
||||
|
6
Незнай
16.07.05
✎
21:21
|
Очень интересно ;)
А по теме есть? |
|||
|
7
Рыжий Ап
16.07.05
✎
21:31
|
Решение проблемы
1. Берешь документ складываешь пополам 2. По линейке акуратно отрываешь по месту сгиба 3. С помощью скотча создаешь новый документ с двумя колонками |
|||
|
8
Незнай
16.07.05
✎
21:40
|
(7) Переведу ваше решение в 1С стиле
Выводим весь документ, кроме строчной части, затем выводим строчную часть и в процессе вывода проверяем, уместилось ли. Номер последней уместившейся строки запоминаем. Выводим документ заново, не уместившиеся строки выводим во вторую колонку (ТаблицаЗначений рулит) ;) Если нужны приблизительно равные колонки, число строк поделим пополам и округлим. Я прав или есть решение попроще? |
|||
|
9
snc
16.07.05
✎
23:00
|
Есть. Используй ПрисоединитьСекцию(<ИмяСекции>)
|
|||
|
10
snc
16.07.05
✎
23:03
|
(9)+ или для 8-ки ТабДок.Присоединить(...)
|
|||
|
11
Незнай
16.07.05
✎
23:49
|
(9) и (10) А нельзя ли пример? или ссылку по теме?
|
|||
|
12
Незнай
17.07.05
✎
09:27
|
+ (11) Если использовать Присоединить, то выводится:
Товар1 Товар2 Товар3 Товар4 и у меня сейчас так, а надо: Товар1 Товар3 Товар2 Товар4 Может рассчитывать высоту строк, а каким методом? |
|||
|
13
Zoomerman
17.07.05
✎
14:16
|
Выгружаешь результат запроса в таблицу.
Опытным путем подбираешь количество умещающихся строк на странице. Выводишь строки документа в следующем стиле ВыведеноСтрок = 0; Пока ВыведеноСтрок < СтрокНаСтраницу Цикл ВыводимаяСтрока = ТЗ.Получить(ВыведеноСтрок); Область.Параметры.Заполнить(ВыводимаяСтрока); ТабДок.Вывести(Область); Попытка ВыводимаяСтрока = ТЗ.Получить(ВыведеноСтрок+СтрокНаСтраницу); Область.Параметры.Заполнить(ВыводимаяСтрока); ТабДок.ПРисоединить(Область); Исключение // хрен с ним - нет больше строк КонецПопытки; КонецЦикла; Ну, естественно, еще цикл по страницам внешний встроить надо... |
|||
|
14
Незнай
17.07.05
✎
14:34
|
(13) Счастливое число ;)
Спасибо большое, а автоматически подбирать или вычислить число строк можно? Опытным путем подобрать можно, а если начальство пожелает добавить чего в строку (у меня пожелало в одной строке две строчки - одну товар и т.д., вторая - сертификат) , а там еще чего придумает, чтобы мне не сиделось без дела... |
|||
|
15
Shaytan
18.07.05
✎
10:23
|
Можно вывести в первую колонку строки по порядку сколько на лист влезет, а вторую колонку выводить через свой-тво "Текст" области табличного документа.
|
|||
|
16
bs
18.07.05
✎
17:52
|
Процедура ДвеКолонки(КвоСтрок)
ВсегоСтрок=Окр(КвоСтрок/2); Для ПерваяКолонка=1 По ВсегоСтрок Цикл НоваяСтрока=ТабличноеПоле.Добавить(); НоваяСтрока.Колонка1=ПерваяКолонка; ВтораяКолонка=ВсегоСтрок+ПерваяКолонка; Если ВтораяКолонка <= КвоСтрок Тогда НоваяСтрока.Колонка2=ВтораяКолонка; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
|
17
Незнай
18.07.05
✎
22:36
|
И снова спасибо за интересные подсказки
Однако хотелось бы динамически рассчитывать высоту строк в макете (для печати прайса в 2 колонки надо) Если это вообще можно? |
|||
|
18
Shaytan
19.07.05
✎
08:35
|
(17) Что значит "динамически"? В (15) разве не динамически? Короче с ячейкаими табличного документа можно программно делать почти всё что интерактивно возможно в EXCEL(Объединять, разъединять ячейки, вставлять, удалять строки и т. д. и т. п.) Можно вывести каждую колонку в отдельный ТД и затем их соединить. Конкретная реализация зависит от специфики (например вероятность того что наименование не влезет в одну строку)и печатной формы.
|
|||
|
19
Незнай
19.07.05
✎
21:51
|
Прошу прощения за задержку, просматривал IT-форум.
http://itland.ru/forum/index.php?s=e430ddf67f0dbe99089eaf95317f65cf&showtopic=8973 Эта ссылка почти ответила на мой вопрос, но... Как конкретно после вывода Колонки1 вывести рядом Колонку2 на той же странице??? Мой вариант - выводим: Строка1 Строка(Х+МаксЧислоСтрокНаСтранице) как одну строку через присоединить ....... ....... СтрокаХ СтрокаY Индексы Х и Y рассчитываем через ПроверитьВывод (пока не реализовал) Хотелось бы: Строка1 ....... СтрокаХ затем переход как-то в начало но со сдвигом на вторую колонку и вывод: Строка(Х+МаксЧислоСтрокНаСтранице) ....... СтрокаY Если можно и примерчик дайте. Заранее спасибо всем! |
|||
|
20
427
19.07.05
✎
22:19
|
тема обли в течении 3-х суток не раскрыта...
|
|||
|
21
Незнай
20.07.05
✎
19:38
|
Извините, если мои объяснения непонятны, просто у конкурентов есть такое, а начальство не желает отставать от прогресса, кроме того ссылка в (19) так и не объяснила до конца тему
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |