|
Разделение одного документа на много при печати | ☑ | ||
---|---|---|---|---|
0
LehhaK
25.05.12
✎
13:35
|
Помогите, умы великие, подавану юному постичь мастерство конфигурирования, дабы стать джедаем истинным....
Итак: 1С 8.2.14.540 1С:ТОиР Есть документ НарядНаВыполнениеРабот, в котором указывается Объект ремонта(в табличной части) и работы, связанные с этим ремонтом(в дереве значений). И объектов ремонта и работ в одном наряде может быть великое множество (читать: дофига) При выводе на печать печатается столько документов, сколько объектов ремонта в наряде, что крайне не желательно, ибо при печати наряда на неделю выходит по 15-20 документов, и выдавать их каждый под роспись..ну, вы понимаете. Есть идея выводить все объекты ремонта и связанные работы одним печатным документом. Внимание, вопрос: что же надо поменять и, главное, где, чтобы разбиение на несколько печатных документов не происходило? Буду очень признателен за помощь Функция ПечатьНаряда(Наряд,РемонтОборудования,ВернутьТабличныйДокумент = Ложь) Экспорт ТабДок = Новый ТабличныйДокумент; Макет = ЭтотОбъект.ПолучитьМакет("НарядНаВыполнениеРемонтныхРабот"); Шапка = Макет.ПолучитьОбласть("ШапкаДокумента"); Шапка.Параметры.Организация = Наряд.Организация; //Шапка.Параметры.ПодразделениеОрганизации = Наряд.ПодразделениеОрганизации; Шапка.Параметры.ПодразделениеОрганизации = Наряд.Подразделение; Шапка.Параметры.Номер = Наряд.Номер; Шапка.Параметры.Дата = Наряд.Дата; ТабДок.Вывести(Шапка); ШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(ШапкаТаблицы); СтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы"); ДатаНачала = РемонтОборудования.ДатаНачала; ДатаОкончания = РемонтОборудования.ДатаОкончания; //СтрокаТаблицы.Параметры.НачалоРабот = ?(НЕ ЗначениеЗаполнено(Наряд.ДатаНачалаРабот),Наряд.Дата,Формат(Наряд.ДатаНачалаРабот,"ДФ=dd.MM.yyyy")); //СтрокаТаблицы.Параметры.ДатаОкончанияРабот = ?(НЕ ЗначениеЗаполнено(Наряд.ДатаОкончанияРабот),Наряд.Дата,Формат(Наряд.ДатаОкончанияРабот,"ДФ=dd.MM.yyyy")); СтрокаТаблицы.Параметры.НачалоРабот = ?(НЕ ЗначениеЗаполнено(ДатаНачала),Наряд.Дата,Формат(ДатаНачала,"ДФ=dd.MM.yyyy")); СтрокаТаблицы.Параметры.ДатаОкончанияРабот = ?(НЕ ЗначениеЗаполнено(ДатаОкончания),Наряд.Дата,Формат(ДатаОкончания,"ДФ=dd.MM.yyyy")); СтрокаТаблицы.Параметры.Ответственный = Наряд.ОтветственныйПроизводительРабот.Наименование; СтрокаТаблицы.Параметры.Допускающий = Наряд.Допускающий.Наименование; ТабДок.Вывести(СтрокаТаблицы); ШапкаТаблицыИсполнители = Макет.ПолучитьОбласть("ШапкаТаблицыИсполнители"); //форма = наряд.получитьформу(); //ОР = форма.элементыформы.ОбъектРемонта.Значение; ОР = РемонтОборудования.ОбъектРемонта; ШапкаТаблицыИсполнители.Параметры.ОбъектРемонта = торо_ЗаполнениеДокументов.ПолучитьПредоставленияОРДляПечати(ОР); ТабДок.Вывести(ШапкаТаблицыИсполнители); СтрокаТаблицыИсполнители = Макет.ПолучитьОбласть("СтрокаТаблицыИсполнители"); ТЗ = Наряд.Исполнители.Выгрузить(, "Сотрудник"); ТЗ.Свернуть("Сотрудник"); Для Каждого Стр Из ТЗ Цикл СтрокаТаблицыИсполнители.Параметры.Исполнитель = Стр.Сотрудник; ТабДок.Вывести(СтрокаТаблицыИсполнители); КонецЦикла; ШапкаТаблицыРабот = Макет.ПолучитьОбласть("ШапкаТаблицыРабот"); ТабДок.Вывести(ШапкаТаблицыРабот); СтрокаТаблицыРабот = Макет.ПолучитьОбласть("СтрокаТаблицыРабот"); ТЗ = Наряд.РемонтныеРаботы.Выгрузить(Новый Структура("РемонтыОборудования_ID", РемонтОборудования.ID) , "РемонтнаяРабота"); ТЗ.Свернуть("РемонтнаяРабота"); Для Каждого Стр Из ТЗ Цикл Если ТипЗнч(Стр.РемонтнаяРабота) = Тип("СправочникСсылка.ТехнологическиеОперации") Тогда СтрокаТаблицыРабот.Параметры.Работа = Стр.РемонтнаяРабота; ТабДок.Вывести(СтрокаТаблицыРабот); КонецЕсли; КонецЦикла; Подвал = Макет.ПолучитьОбласть("ПодвалДокумента"); ТабДок.Вывести(Подвал); Если Не ВернутьТабличныйДокумент Тогда ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабДок.АвтоМасштаб = Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьСетку = Ложь; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.Показать("Наряд на выполнение ремонтных работ №" + Наряд.Номер + " от " + Наряд.Дата); Иначе Возврат ТабДок; КонецЕсли; КонецФункции |
|||
1
DrShad
25.05.12
✎
13:37
|
сколько?
|
|||
2
LehhaK
25.05.12
✎
13:38
|
(1) Магистр Йодо денег не брал...
|
|||
3
Wobland
25.05.12
✎
13:40
|
(0) как это пишется, не знаешь ты. приходи лет через 20, когда проникнешь в суть правописания слова "падаван"
|
|||
4
Wobland
25.05.12
✎
13:40
|
(2) и Йоду ты совсем не уважаешь
|
|||
5
LehhaK
25.05.12
✎
13:41
|
(3) Ты жив, Йодо!!!
|
|||
6
LehhaK
25.05.12
✎
13:43
|
(4) Прсти, мастер :))
|
|||
7
Wobland
25.05.12
✎
13:44
|
(5) wiki:Йода - через А. измышления твои пойду читать сейчас вот только
|
|||
8
LehhaK
25.05.12
✎
13:46
|
(7) Звездный воин из меня еще *уевее, чем 1Сник)))
|
|||
9
Wobland
25.05.12
✎
13:46
|
(0) ТОиР - звучит как песня. менять, однако, нужно код, а где? пожалуй, в модуле объекта. не видно ничего отсюда
|
|||
10
Wobland
25.05.12
✎
13:48
|
печатной формы алгоритм формирования необходимо заменить на свой
|
|||
11
LehhaK
25.05.12
✎
13:48
|
(9) Что нужно мастеру дабы узреть источник Зла?
|
|||
12
LehhaK
25.05.12
✎
13:49
|
(10) Это уже К.О.?!)
|
|||
13
Wobland
25.05.12
✎
13:50
|
(11) не нужно ничего мне, источник зла такой же, как у всех. тебе лишь остаётся взять клавиатуру, убрать всё лишнее и написать своё
|
|||
14
DrShad
25.05.12
✎
13:50
|
(11) бабки нужны
|
|||
15
Капитан О
25.05.12
✎
13:50
|
(12) да ты, похоже, сам всё понял. я просто промолчал
|
|||
16
DrShad
25.05.12
✎
13:51
|
(13) это уже больше на Шекспира похоже
|
|||
17
Wobland
25.05.12
✎
13:52
|
язык Шекспира с 1С не стоит смешивать, друзья ;)
|
|||
18
LehhaK
25.05.12
✎
13:52
|
(13) Спасибо, мастер. Я уйду на Фудзияму и буду медитировать, покуда просветление не коснется моего заблудшего разума...
|
|||
19
DrShad
25.05.12
✎
13:53
|
(18) прощай
|
|||
20
LehhaK
25.05.12
✎
13:53
|
(19) Я вернусь просветленным!!!
|
|||
21
LehhaK
25.05.12
✎
14:00
|
...так-то, конечно, вы мне офигенно помогли...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |