|
групповая печать документов | ☑ | ||
---|---|---|---|---|
0
Kurbash
21.05.14
✎
10:27
|
такая ситуация- сделал печатную форму для документа, все работает, все нормально. Проблема в том, что использую объединение нескольких ячеек в секции. Для одного документа все работает нормально а если делаю групповую печать макет ползет...как можно обойти?
|
|||
1
mikecool
21.05.14
✎
10:27
|
если делаю групповую печать -несколько макетов в одном?
|
|||
2
Godofsin
21.05.14
✎
10:28
|
(0) макет ползет - как?
|
|||
3
Godofsin
21.05.14
✎
10:28
|
Автомасштаб + горизонтальный разделитель
|
|||
4
Kurbash
21.05.14
✎
10:29
|
(1)-нет один макет просто печатаю доки в цикле
(2)-объединение срабатывает не там где нужно, у меня же явно указаны строки и столцы которые нужно объединить |
|||
5
Godofsin
21.05.14
✎
10:30
|
код покажи
|
|||
6
butterbean
21.05.14
✎
10:30
|
(4) делай разные таб доки, а не один
|
|||
7
mikecool
21.05.14
✎
10:30
|
(4) нихера не понял в чем тогда проблема
|
|||
8
Kurbash
21.05.14
✎
10:31
|
&НаКлиенте
Процедура ПечатьНарядов(Команда) ТабДок = Новый ТабличныйДокумент; ПечатьНарядовНаСервере(ТабДок,объект.Ссылка); ТабДок.ОтображатьСетку = Ложь; ТабДок.Защита = Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать(); КонецПроцедуры &НаСервереБезКонтекста Процедура ПечатьНарядовНаСервере(ТабДок,Ссылка) для каждого стор из Ссылка.НарядыВыписанные цикл Операция=""; Колво=""; Макет = Документы.НарядЗадание.ПолучитьМакет("Печать1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НарядЗаданиеСоставНаряда.Ссылка.Подразделение, | НарядЗаданиеСоставНаряда.Ссылка.Участок, | НарядЗаданиеСоставНаряда.Ссылка.Сотрудник КАК сотрудник, | НарядЗаданиеСоставНаряда.Ссылка.Сотрудник.Код КАК НарядТабНомер, | НарядЗаданиеСоставНаряда.Ссылка.Сотрудник.Должность КАК НарядДолжностьСотрудника, | НарядЗаданиеСоставНаряда.Ссылка.Сотрудник.Разряд КАК НарядРазрядСотрудника, | НарядЗаданиеСоставНаряда.Ссылка.Дата, | НарядЗаданиеСоставНаряда.Деталь КАК деталь, | НарядЗаданиеСоставНаряда.Операция КАК операция, | НарядЗаданиеСоставНаряда.ВИдОплаты, | НарядЗаданиеСоставНаряда.ДетальКорректировка, | НарядЗаданиеСоставНаряда.ОперацияКорректировка, | НарядЗаданиеСоставНаряда.Ссылка.Номер, | НарядЗаданиеСоставНаряда.Количество, | НарядЗаданиеСоставНаряда.Закрыто как НарядПринятоГодных |ИЗ | Документ.НарядЗадание.СоставНаряда КАК НарядЗаданиеСоставНаряда |ГДЕ | НарядЗаданиеСоставНаряда.Ссылка = &Ссылка"; Запрос.Параметры.Вставить("Ссылка", стор.Наряд); Выборка = Запрос.Выполнить().Выбрать(); Выборка1 = Запрос.Выполнить().Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.Номер=стор.Наряд.Номер; ТабДок.Вывести(ОбластьЗаголовок); пока выборка1.Следующий() цикл СОтрудник=Выборка1.СОтрудник; НарядТабНомер=Выборка1.СОтрудник.код; НарядРазрядСотрудника=Выборка1.НарядРазрядСотрудника; НарядДолжностьСотрудника=Выборка1.НарядДолжностьСотрудника; если не значениезаполнено(Выборка1.Операция) тогда операция=Операция+выборка1.ОперацияКорректировка+";"; иначе Операция=Операция+Выборка1.Операция.КодОперации+"("+Выборка1.Операция.Наименование+");"; конецесли; колво=колво+выборка1.Количество+";"; ВИдОплаты=Выборка1.ВИдОплаты; Работы= Макет.ПолучитьОбласть("Работы"); если не значениезаполнено(Выборка1.Операция) тогда опер=выборка1.ОперацияКорректировка; иначе Опер=Выборка1.Операция.КодОперации+"("+Выборка1.Операция.Наименование+")"; конецесли; Работы.Параметры.Заполнить(Выборка1); Работы.Параметры.НарядНомерОперации=опер; Работы.Параметры.НарядКоличество=выборка1.Количество; Работы.Параметры.НарядНормаРасценка=Выборка1.НарядРазрядСотрудника.ЗначениеРазряда; Работы.Параметры.НарядНормаВремя=РаботаСоСправочниками.ОпределениеНормыВремени(Выборка1.Подразделение,Выборка1.Деталь,Выборка1.Операция); ТабДок.Вывести(Работы, Выборка1.Уровень()); конеццикла; //объедиение обл=ТабДок.Область(5,2,5+выборка1.Количество()-1,2); обл.Объединить(); обл=ТабДок.Область(5,3,5+выборка1.Количество()-1,3); обл.Объединить(); обл=ТабДок.Область(5,4,5+выборка1.Количество()-1,4); обл.Объединить(); обл=ТабДок.Область(5,5,5+выборка1.Количество()-1,5); обл.Объединить(); обл=ТабДок.Область(5,6,5+выборка1.Количество()-1,6); обл.Объединить(); //конец объединеию ШифрыИНаименованияРаботШапка = Макет.ПолучитьОбласть("ШифрыИНаименованияРаботШапка"); ТабДок.Вывести(ШифрыИНаименованияРаботШапка); Пока Выборка.Следующий() Цикл ШифрыИНаименованияРабот= Макет.ПолучитьОбласть("ШифрыИНаименованияРабот"); если не значениезаполнено(Выборка.Деталь) тогда Дет=выборка.ДетальКорректировка+";"; иначе Дет=Выборка.Деталь.ЧЕртежныйНомер+"("+Выборка.Деталь.Наименование+");"; конецесли; ШифрыИНаименованияРабот.Параметры.Заполнить(Выборка); КонецЦикла; ШифрыИНаименованияРабот.Параметры.НаименованиеРабот=Дет; ТабДок.Вывести(ШифрыИНаименованияРабот, Выборка.Уровень()); ВставлятьРазделительСтраниц = Истина; СотрудникиНарядаШапка=Макет.ПолучитьОбласть("СотрудникиНарядаШапка"); ТабДок.Вывести(СотрудникиНарядаШапка); СотрудникиНаряда=Макет.ПолучитьОбласть("СотрудникиНаряда"); СотрудникиНаряда.Параметры.СОтрудник=СОтрудник; СотрудникиНаряда.Параметры.НарядТабНомер=НарядТабНомер; СотрудникиНаряда.Параметры.НарядРазрядСотрудника=НарядРазрядСотрудника; СотрудникиНаряда.Параметры.НарядДолжностьСотрудника=НарядДолжностьСотрудника; СотрудникиНаряда.Параметры.ВИдОплаты=ВИдОплаты; ТабДок.Вывести(СотрудникиНаряда); Шапка=Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Шапка); конеццикла; КонецПроцедуры |
|||
9
mikecool
21.05.14
✎
10:33
|
если печатаешь один и тот же макет в одном табдоке, то проблемы быть не должно
если разные макеты в табдоке - то тут надо уже поизвращаться |
|||
10
Kurbash
21.05.14
✎
10:34
|
новый таб док не нужно-доков очень много хотят вывести кучей и порвать по отдельности линейкой
|
|||
11
Godofsin
21.05.14
✎
10:35
|
запрос в цикле детектед
|
|||
12
butterbean
21.05.14
✎
10:36
|
(10) ты делай один таб док и его сразу на принтер, без Показать(), потом второй и т.д.
|
|||
13
Kurbash
21.05.14
✎
10:37
|
ну смотри-если док выйдет только на полстраницы когда на страницу можно вывести 2 штуки?
|
|||
14
Godofsin
21.05.14
✎
10:39
|
(13)ПроверитьВывод()
|
|||
15
butterbean
21.05.14
✎
10:39
|
(13) а документы неформатированные что-ли?? т.е. полшапки не может быть или строчки вдоль порезанные??
|
|||
16
butterbean
21.05.14
✎
10:40
|
(15) + обычно напечатанный документ занимает целое количество страниц, ну или фиксированно половину/треть страницы
|
|||
17
Godofsin
21.05.14
✎
10:41
|
| НарядЗаданиеСоставНаряда.Ссылка В (&МассивСсылка)";
Запрос.Параметры.Вставить("МассивСсылка", Ссылка.НарядыВыписанные.ВыгрузитьКолонку("Наряд")); Запрос из цикла выкини |
|||
18
Kurbash
21.05.14
✎
10:43
|
(14)-как это можно использовать?
(17)-да не в нем дело, там цикл по трем-4-м докам, данных немного (15)да, енотформатированные |
|||
19
Godofsin
21.05.14
✎
10:45
|
(18) "как это можно использовать"
СП тебе подскажет |
|||
20
Kurbash
21.05.14
✎
10:46
|
(19 уже читал, не догоню куда вставить)
|
|||
21
Godofsin
21.05.14
✎
10:46
|
"да не в нем дело, там цикл по трем-4-м докам, данных немного"
Какая разница, сколько доков? Запрос в цикле - моветон |
|||
22
Godofsin
21.05.14
✎
10:50
|
(20) Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента); Т.Добавить(ПодвалДокумента); Если Не ТабДок.ПроверитьВывод(Т) Тогда Сообщить("Документ не умещается на страницу!"); КонецЕсли; |
|||
23
Kurbash
21.05.14
✎
10:53
|
а чем мне это поможет если макет то ползет?
|
|||
24
Godofsin
21.05.14
✎
10:56
|
(23) Я тебе и не говорил, что это поможет побороть сдвижение Это был ответ на (13)
|
|||
25
Godofsin
21.05.14
✎
10:57
|
а едет у тебя из-за этого. Чтоб моск не ипать себе, воспользуйся (12)
|
|||
26
Godofsin
21.05.14
✎
10:57
|
(25) из за этого:
обл=ТабДок.Область(5,2,5+выборка1.Количество()-1,2); обл.Объединить(); обл=ТабДок.Область(5,3,5+выборка1.Количество()-1,3); обл.Объединить(); обл=ТабДок.Область(5,4,5+выборка1.Количество()-1,4); обл.Объединить(); обл=ТабДок.Область(5,5,5+выборка1.Количество()-1,5); обл.Объединить(); обл=ТабДок.Область(5,6,5+выборка1.Количество()-1,6); обл.Объединить(); |
|||
27
Kurbash
21.05.14
✎
10:58
|
разорутся бухи-бумагу экономят
|
|||
28
Godofsin
21.05.14
✎
10:58
|
и вообще, для чего такое адское объединение?
|
|||
29
Godofsin
21.05.14
✎
11:00
|
Покажи скрин ТД
|
|||
30
Kurbash
21.05.14
✎
11:05
|
||||
31
Godofsin
21.05.14
✎
11:07
|
(30) Где чо съехало то?
|
|||
32
Kurbash
21.05.14
✎
11:07
|
левый нижний угол
|
|||
33
Godofsin
21.05.14
✎
11:09
|
Ответь на (28)
|
|||
34
Kurbash
21.05.14
✎
11:10
|
да там замутка одна, короче нужно без него никак
|
|||
35
Kurbash
21.05.14
✎
11:48
|
что, придется тупо 1 док на 1 табдок выводить?
|
|||
36
Godofsin
21.05.14
✎
11:49
|
(35) Ну или хитро ипаться с (26)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |