|
вывод значений в ячейку (параметр или шаблон) | ☑ | ||
---|---|---|---|---|
0
Kansk1c
28.08.18
✎
07:19
|
Добрый день!Подскажите, пожалуйста, как вывести по отдельности ФИО студентов в разные ячейки таблицы ? тут есть только вывод в строку все фио.
//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ПЕЧАТИ ФОРМЫ // Процедура формирует и выводит печатную форму документа по указанному макету. // // Параметры: // ТабличныйДокумент - ТабличныйДокумент в который будет выводится печатная // форма. // ИмяМакета - Строка, имя макета печатной формы. // Функция ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета,ПараметрыПечати=Неопределено) ТабличныйДокумент = Новый ТабличныйДокумент; ПервыйДокумент = Истина; Для Каждого ТекущийДокумент Из МассивОбъектов Цикл Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; Если ИмяМакета = "ПриказОПрохожденииПрактикиБезСписка" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Ссылка, | ПриказПоПрактике.ПометкаУдаления, | ПриказПоПрактике.Номер, | ПриказПоПрактике.Дата, | ПриказПоПрактике.Проведен, | ПриказПоПрактике.Организация, | ПриказПоПрактике.Группа Как УчебнаяГруппа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.УчебныйПериод, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.РуководительПрактики, | ПриказПоПрактике.Ответственный, | ПриказПоПрактике.Комментарий, | ПриказПоПрактике.Утвержден, | ПриказПоПрактике.РуководительПрактики.Физлицо.Пол КАК РуководительПрактикиПол, | ПриказПоПрактике.РегистрационныйНомер, | ПриказПоПрактике.ПрофМодуль |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ПриказОПрохожденииПрактикиБезСписка"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ПриказОПрохожденииПрактикиБезСписка"); ВыводОбщейШапки=Константы.ИспользоватьОбщуюШапкуПриказа.Получить(); Если ВыводОбщейШапки Тогда МакетШапки = УправлениеПечатью.ПолучитьМакет("ОбщийМакет.ПФ_MXL_ОбщаяШапкаПриказа"); ОбластьМакета = МакетШапки.ПолучитьОбласть("Шапка"); //ОбластьМакета.УдалитьОбласть(Шапка.Область("УчебнаяГруппаИПериод"),ТипСмещенияТабличногоДокумента.ПоГоризонтали); ОбластьМакета.УдалитьОбласть(ОбластьМакета.Область("Общежитие"),ТипСмещенияТабличногоДокумента.ПоГоризонтали); ДанныеКартинки = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаИДвоичныеДанные(ТекущийДокумент.Организация.ФайлЛоготип); Если ЗначениеЗаполнено(ДанныеКартинки.ДвоичныеДанные) Тогда Попытка ОбластьМакета.Рисунки.Логотип.Картинка = Новый Картинка(ДанныеКартинки.ДвоичныеДанные); Исключение КонецПопытки; КонецЕсли; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.Формулировка="В соответствии с графиком учебного процесса приказываю "+Символы.ПС+"1. Направить на практику "+Шапка.ВидПрактики+ " по "+Шапка.ПрофМодуль+Символы.ПС+"Продолжительность практики с "+Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy")+" по "+Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy")+Символы.ПС+"2. Руководителем практики назначить "+Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж+"."; Иначе ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); Если СтрДлина(СокрЛП(Шапка.ПрофМодуль))=0 Тогда ОбластьМакета.Параметры.ВидПрактики= Шапка.ВидПрактики; Иначе ОбластьМакета.Параметры.ВидПрактики= ""+Шапка.ВидПрактики+ " по "+Шапка.ПрофМодуль; КонецЕсли; ОбластьМакета.Параметры.Группа=Шапка.УчебнаяГруппа; ОбластьМакета.Параметры.Специальность=Шапка.УчебнаяГруппа.Специальность; ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); Результат=""; ОбластьМакета.Параметры.РуководительПрактики=Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж; КонецЕсли; Если Константы.ФункциональнаяОпцияИспользоватьРегистрационныеНомераПриказов.Получить() Тогда Если Шапка.РегистрационныйНомер.Пустая() Тогда ОбластьМакета.Параметры.Номер = Шапка.Номер; ОбластьМакета.Параметры.Дата = Формат(Шапка.Дата,"ДФ=dd.MM.yyyy"); Иначе ОбластьМакета.Параметры.Номер = Шапка.РегистрационныйНомер.Код; ОбластьМакета.Параметры.Дата = Формат(Шапка.РегистрационныйНомер.ДатаРегистрации,"ДФ=dd.MM.yyyy"); КонецЕсли; Иначе ОбластьМакета.Параметры.Номер = Шапка.Номер; ОбластьМакета.Параметры.Дата = Формат(Шапка.Дата,"ДФ=dd.MM.yyyy"); КонецЕсли; ОбластьМакета.Параметры.ОрганизацияНаименованиеПолное =Шапка.Организация.НаименованиеПолное ; ТабличныйДокумент.Вывести(ОбластьМакета); СтрокаПодписи = Макет.ПолучитьОбласть("СтрокаПодписи"); Для Каждого Стр Из ТекущийДокумент.Подписи Цикл СтрокаПодписи.Параметры.Должность=Стр.Должность; СтрокаПодписи.Параметры.Сотрудник=Стр.Сотрудник; ТабличныйДокумент.Вывести(СтрокаПодписи); КонецЦикла; ИначеЕсли ИмяМакета = "ПриказОПрохожденииПрактики" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Ссылка, | ПриказПоПрактике.ПометкаУдаления, | ПриказПоПрактике.Номер, | ПриказПоПрактике.Дата, | ПриказПоПрактике.Проведен, | ПриказПоПрактике.Организация, | ПриказПоПрактике.Группа Как УчебнаяГруппа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.УчебныйПериод, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.РуководительПрактики, | ПриказПоПрактике.Ответственный, | ПриказПоПрактике.Комментарий, | ПриказПоПрактике.Утвержден, | ПриказПоПрактике.РаспределениеПрактикантов.( | Ссылка, | НомерСтроки, | Студент, | Контрагент, | Договор, | РуководительПрактикиОтКонтрагента | ), | ПриказПоПрактике.РуководительПрактики.Физлицо.Пол КАК РуководительПрактикиПол, | ПриказПоПрактике.РегистрационныйНомер, | ПриказПоПрактике.ПрофМодуль |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); СписокСтудентов = Шапка.РаспределениеПрактикантов.Выбрать(); ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ПриказОПрохожденииПрактики"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ПриказОПрохожденииПрактики"); ВыводОбщейШапки=Константы.ИспользоватьОбщуюШапкуПриказа.Получить(); Если ВыводОбщейШапки Тогда МакетШапки = УправлениеПечатью.ПолучитьМакет("ОбщийМакет.ПФ_MXL_ОбщаяШапкаПриказа"); ОбластьМакета = МакетШапки.ПолучитьОбласть("Шапка"); //ОбластьМакета.УдалитьОбласть(Шапка.Область("УчебнаяГруппаИПериод"),ТипСмещенияТабличногоДокумента.ПоГоризонтали); ОбластьМакета.УдалитьОбласть(ОбластьМакета.Область("Общежитие"),ТипСмещенияТабличногоДокумента.ПоГоризонтали); ДанныеКартинки = РаботаСФайламиСлужебныйВызовСервера.ПолучитьДанныеФайлаИДвоичныеДанные(ТекущийДокумент.Организация.ФайлЛоготип); Если ЗначениеЗаполнено(ДанныеКартинки.ДвоичныеДанные) Тогда Попытка ОбластьМакета.Рисунки.Логотип.Картинка = Новый Картинка(ДанныеКартинки.ДвоичныеДанные); Исключение КонецПопытки; КонецЕсли; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.Формулировка="В соответствии с графиком учебного процесса приказываю "+Символы.ПС+"1. Направить на практику "+Шапка.ВидПрактики+ " по "+Шапка.ПрофМодуль+Символы.ПС+"студентов учебной группы "+Шапка.УчебнаяГруппа+Символы.ПС+"Продолжительность практики с "+Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy")+" по "+Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy")+Символы.ПС+"2. Руководителем практики назначить "+Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж+"."; Иначе ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); Если СтрДлина(СокрЛП(Шапка.ПрофМодуль))=0 Тогда ОбластьМакета.Параметры.ВидПрактики= Шапка.ВидПрактики; Иначе ОбластьМакета.Параметры.ВидПрактики= ""+Шапка.ВидПрактики+ " по "+Шапка.ПрофМодуль; КонецЕсли; ОбластьМакета.Параметры.Группа=Шапка.УчебнаяГруппа; ОбластьМакета.Параметры.Специальность=Шапка.УчебнаяГруппа.Специальность; ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); Результат=""; ОбластьМакета.Параметры.РуководительПрактики=Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж; КонецЕсли; Если Константы.ФункциональнаяОпцияИспользоватьРегистрационныеНомераПриказов.Получить() Тогда Если Шапка.РегистрационныйНомер.Пустая() Тогда ОбластьМакета.Параметры.Номер = Шапка.Номер; ОбластьМакета.Параметры.Дата = Формат(Шапка.Дата,"ДФ=dd.MM.yyyy"); Иначе ОбластьМакета.Параметры.Номер = Шапка.РегистрационныйНомер.Код; ОбластьМакета.Параметры.Дата = Формат(Шапка.РегистрационныйНомер.ДатаРегистрации,"ДФ=dd.MM.yyyy"); КонецЕсли; Иначе ОбластьМакета.Параметры.Номер = Шапка.Номер; ОбластьМакета.Параметры.Дата = Формат(Шапка.Дата,"ДФ=dd.MM.yyyy"); КонецЕсли; ОбластьМакета.Параметры.ОрганизацияНаименованиеПолное =Шапка.Организация.НаименованиеПолное ; ТабличныйДокумент.Вывести(ОбластьМакета); СтрокаПодписи = Макет.ПолучитьОбласть("СтрокаПодписи"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка2"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ПП=1; ЕстьОценки=Ложь; Пока СписокСтудентов.Следующий() Цикл ОбластьМакета.Параметры.ФИО=СписокСтудентов.Студент; ОбластьМакета.Параметры.Предприятие=СписокСтудентов.Контрагент; ОбластьМакета.Параметры.Номер=ПП; ОбластьМакета.Параметры.Договор = СписокСтудентов.Договор; ОбластьМакета.Параметры.РуководительПрактикиОтКонтрагента = СписокСтудентов.РуководительПрактикиОтКонтрагента; ТабличныйДокумент.Вывести(ОбластьМакета); ПП = ПП + 1; КонецЦикла; Для Каждого Стр Из ТекущийДокумент.Подписи Цикл СтрокаПодписи.Параметры.Должность=Стр.Должность; СтрокаПодписи.Параметры.Сотрудник=Стр.Сотрудник; ТабличныйДокумент.Вывести(СтрокаПодписи); КонецЦикла; ИначеЕсли ИмяМакета = "ЗаданияВсе" Тогда Для Каждого Стр Из ТекущийДокумент.Подписи Цикл Должность=Стр.Должность; Сотрудник=Стр.Сотрудник; Продолжить; КонецЦикла; Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК Руководитель, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность.Код КАК КодСпециальности, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК НаименованиеПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Шапка=Запрос.Выполнить().Выбрать(); Пока Шапка.Следующий() Цикл ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ЗаданияВсе"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ЗаданияВсе"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Должность=Должность; ОбластьМакета.Параметры.ФИО=Сотрудник; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.Год=""+Формат(Шапка.ДатаНачала,"ДФ=гггг")+" г."; ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ИначеЕсли ИмяМакета = "ЗаданиеОдно" Тогда Для Каждого Стр Из ТекущийДокумент.Подписи Цикл Должность=Стр.Должность; Сотрудник=Стр.Сотрудник; Продолжить; КонецЦикла; Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК Руководитель, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность.Код КАК КодСпециальности, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК НаименованиеПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент | И ПриказПоПрактикеРаспределениеПрактикантов.НомерСтроки = &НомерСтроки"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("НомерСтроки",ПараметрыПечати); Шапка=Запрос.Выполнить().Выбрать(); Пока Шапка.Следующий() Цикл ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ЗаданияВсе"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ЗаданияВсе"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Должность=Должность; ОбластьМакета.Параметры.ФИО=Сотрудник; ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.Год=""+Формат(Шапка.ДатаНачала,"ДФ=гггг")+" г."; ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ИначеЕсли ИмяМакета = "ДневникиВсе" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация КАК НазваниеУчебногоЗаведения, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК Руководитель, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК НаименованиеПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Шапка=Запрос.Выполнить().Выбрать(); Пока Шапка.Следующий() Цикл ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ДневникиВсе"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ДневникиВсе"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ИначеЕсли ИмяМакета = "ДневникОдин" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация КАК НазваниеУчебногоЗаведения, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК Руководитель, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК НаименованиеПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент | И ПриказПоПрактикеРаспределениеПрактикантов.НомерСтроки = &НомерСтроки"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("НомерСтроки",ПараметрыПечати); Шапка=Запрос.Выполнить().Выбрать(); Пока Шапка.Следующий() Цикл ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ДневникиВсе"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ДневникиВсе"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ИначеЕсли ИмяМакета = "НаправленияВсе" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Номер Как Приказ, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК РуководительПрактики, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК ВидПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Шапка=Запрос.Выполнить().Выбрать(); ПервыйПроход=Истина; НомСтроки=1; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_НаправленияВсе"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_НаправленияВсе"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); СтрокаМакета = Макет.ПолучитьОбласть("Строка"); СтрокаПодписи = Макет.ПолучитьОбласть("СтрокаПодписи"); Пока Шапка.Следующий() Цикл Если ПервыйПроход=Истина Тогда ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.РуководительПрактики=Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж; ТабличныйДокумент.Вывести(ОбластьМакета); СтрокаМакета.Параметры.НомСтроки=НомСтроки; СтрокаМакета.Параметры.Студент=Шапка.Студент; ТабличныйДокумент.Вывести(СтрокаМакета); ПервыйПроход=Ложь; Иначе СтрокаМакета.Параметры.НомСтроки=НомСтроки; СтрокаМакета.Параметры.Студент=Шапка.Студент; ТабличныйДокумент.Вывести(СтрокаМакета); КонецЕсли; НомСтроки=НомСтроки+1; КонецЦикла; Для Каждого Стр Из ТекущийДокумент.Подписи Цикл СтрокаПодписи.Параметры.Должность=Стр.Должность; СтрокаПодписи.Параметры.Сотрудник=Стр.Сотрудник; ТабличныйДокумент.Вывести(СтрокаПодписи); КонецЦикла; ИначеЕсли ИмяМакета = "НаправлениеОдно" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактикеРаспределениеПрактикантов.Контрагент, | ПриказПоПрактикеРаспределениеПрактикантов.Студент, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Организация, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Номер Как Приказ, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаНачала, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ДатаОкончания, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.РуководительПрактики КАК РуководительПрактики, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.Группа.Специальность КАК Специальность, | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка.ВидПрактики КАК ВидПрактики |ИЗ | Документ.ПриказПоПрактике.РаспределениеПрактикантов КАК ПриказПоПрактикеРаспределениеПрактикантов |ГДЕ | ПриказПоПрактикеРаспределениеПрактикантов.Ссылка = &ТекущийДокумент | И ПриказПоПрактикеРаспределениеПрактикантов.НомерСтроки = &НомерСтроки"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("НомерСтроки",ПараметрыПечати); Шапка=Запрос.Выполнить().Выбрать(); Пока Шапка.Следующий() Цикл ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_НаправлениеОдно"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_НаправлениеОдно"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); СтрокаПодписи = Макет.ПолучитьОбласть("СтрокаПодписи"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.РуководительПрактики=Шапка.РуководительПрактики.ФизЛицо.ФИОВинительныйПадеж; ОбластьМакета.Параметры.ФИО=Шапка.Студент.ФизЛицо.ФИОВинительныйПадеж; ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ТабличныйДокумент.Вывести(ОбластьМакета); КонецЦикла; Для Каждого Стр Из ТекущийДокумент.Подписи Цикл СтрокаПодписи.Параметры.Должность=Стр.Должность; СтрокаПодписи.Параметры.Сотрудник=Стр.Сотрудник; ТабличныйДокумент.Вывести(СтрокаПодписи); КонецЦикла; ИначеЕсли ИмяМакета = "ПереченьПредприятий" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Дата КАК ДатаПриказа, | ПриказПоПрактике.Организация, | ПриказПоПрактике.Группа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.Группа.Специальность КАК Специальность, | ПриказПоПрактике.РаспределениеПрактикантов.( | Студент КАК ФИО, | Контрагент КАК Предприятие | ) |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("ПустойКонтрагент",Справочники.Контрагенты.ПустаяСсылка()); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ПереченьПредприятий"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_ПереченьПредприятий"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ДатаНачала=Формат(Шапка.ДатаНачала,"ДФ=dd.MM.yyyy"); ОбластьМакета.Параметры.ДатаОкончания=Формат(Шапка.ДатаОкончания,"ДФ=dd.MM.yyyy"); ТабличныйДокумент.Вывести(ОбластьМакета); СписокСтудентов=Шапка.РаспределениеПрактикантов.Выбрать(); Ном=1; ОбластьМакета = Макет.ПолучитьОбласть("Строка"); Пока СписокСтудентов.Следующий() Цикл Если ЗначениеЗаполнено(СписокСтудентов.Предприятие) Тогда ОбластьМакета.Параметры.Заполнить(СписокСтудентов); ОбластьМакета.Параметры.Номер=Ном; ТабличныйДокумент.Вывести(ОбластьМакета); Ном=Ном+1; Конецесли; КонецЦикла; ИначеЕсли ИмяМакета = "ВсеДоговора" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Дата КАК ДатаДоговора, | ПриказПоПрактике.Группа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.Группа.Специальность КАК Специальность, | ПриказПоПрактике.РаспределениеПрактикантов.( | Студент КАК ФИО, | Контрагент КАК Контрагент, | Договор | ), | Директор.Сотрудник КАК ФИО, | ПриказПоПрактике.Организация.НаименованиеПолное КАК Организация, | ПриказПоПрактике.Организация.Наименование КАК СокрНаименование, | ВложенныйЗапрос.Город, | Директор.Сотрудник.Физлицо.ФИОВинительныйПадеж КАК ФИОВинительныйПадеж |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Город КАК Город, | ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка | ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация | ГДЕ | ОрганизацииКонтактнаяИнформация.Тип = &Тип | И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК ВложенныйЗапрос | ПО ПриказПоПрактике.Организация = ВложенныйЗапрос.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | ОтветственныеЛицаОрганизацийСрезПоследних.Организация КАК Организация | ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних | ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность = &Должность) КАК Директор | ПО ПриказПоПрактике.Организация = Директор.Организация |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("Должность",Справочники.Должности.Директор); Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес); Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.ОрганизацияФактическийАдрес); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); СписокКонтрагентов=Шапка.РаспределениеПрактикантов.Выгрузить(); СписокКонтрагентов.Свернуть("Контрагент,Договор",""); СписокСтудентов=Шапка.РаспределениеПрактикантов.выгрузить(); Для Каждого СтрКонтрагент Из СписокКонтрагентов Цикл Если НЕ ЗначениеЗаполнено(СтрКонтрагент.Контрагент) ТОгда Продолжить; КонецЕсли; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ВсеДоговора"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_Договор"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.Город=СтрЗаменить(Шапка.Город,"г",""); ОбластьМакета.Параметры.ДатаДОговора=Формат(Шапка.ДатаДоговора,"ДФ=dd.MMMM.yyyy"); ОбластьМакета.Параметры.ФИО=Шапка.ФИОВинительныйПадеж; ОбластьМакета.Пар |
|||
1
Kansk1c
28.08.18
✎
07:21
|
данные нужно вывести в таблицу (в шапке)
|
|||
2
Kansk1c
28.08.18
✎
07:28
|
ИначеЕсли ИмяМакета = "ВсеДоговора" Тогда
Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Дата КАК ДатаДоговора, | ПриказПоПрактике.Группа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.Группа.Специальность КАК Специальность, | ПриказПоПрактике.РаспределениеПрактикантов.( | Студент КАК ФИО, | Контрагент КАК Контрагент, | Договор | ), | Директор.Сотрудник КАК ФИО, | ПриказПоПрактике.Организация.НаименованиеПолное КАК Организация, | ПриказПоПрактике.Организация.Наименование КАК СокрНаименование, | ВложенныйЗапрос.Город, | Директор.Сотрудник.Физлицо.ФИОВинительныйПадеж КАК ФИОВинительныйПадеж |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Город КАК Город, | ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка | ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация | ГДЕ | ОрганизацииКонтактнаяИнформация.Тип = &Тип | И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК ВложенныйЗапрос | ПО ПриказПоПрактике.Организация = ВложенныйЗапрос.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | ОтветственныеЛицаОрганизацийСрезПоследних.Организация КАК Организация | ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних | ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность = &Должность) КАК Директор | ПО ПриказПоПрактике.Организация = Директор.Организация |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("Должность",Справочники.Должности.Директор); Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес); Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.ОрганизацияФактическийАдрес); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); СписокКонтрагентов=Шапка.РаспределениеПрактикантов.Выгрузить(); СписокКонтрагентов.Свернуть("Контрагент,Договор",""); СписокСтудентов=Шапка.РаспределениеПрактикантов.выгрузить(); Для Каждого СтрКонтрагент Из СписокКонтрагентов Цикл Если НЕ ЗначениеЗаполнено(СтрКонтрагент.Контрагент) ТОгда Продолжить; КонецЕсли; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ВсеДоговора"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_Договор"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.Город=СтрЗаменить(Шапка.Город,"г",""); ОбластьМакета.Параметры.ДатаДОговора=Формат(Шапка.ДатаДоговора,"ДФ=dd.MMMM.yyyy"); ОбластьМакета.Параметры.ФИО=Шапка.ФИОВинительныйПадеж; ОбластьМакета.Параметры.Контрагент=СтрКонтрагент.Контрагент; ОбластьМакета.Параметры.НомерДоговора=СтрКонтрагент.Договор; ТабличныйДокумент.Вывести(ОбластьМакета); СписокСтудентовМассив=СписокСтудентов.НайтиСтроки(Новый Структура("Контрагент",СтрКонтрагент.Контрагент)); Ном=1; ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ДЛя Каждого СтрСтуденты Из СписокСтудентовМассив Цикл ОбластьМакета.Параметры.Заполнить(СтрСтуденты); ТабличныйДокумент.Вывести(ОбластьМакета); Ном=Ном+1; КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ФИО=РаботаСоСтрокамиСервер.ФамилияИнициалыФизЛица(Шапка.ФИО); ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; ИначеЕсли ИмяМакета = "ДоговорПоКонтрагенту" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Дата КАК ДатаДоговора, | ПриказПоПрактике.Группа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.Группа.Специальность КАК Специальность, | ПриказПоПрактике.РаспределениеПрактикантов.( | Студент КАК ФИО, | Контрагент КАК Контрагент, | Договор | ), | Директор.Сотрудник.Наименование КАК ФИО, | ПриказПоПрактике.Организация.НаименованиеПолное КАК Организация, | ПриказПоПрактике.Организация.Наименование КАК СокрНаименование, | ВложенныйЗапрос.Город, | Директор.Сотрудник.Физлицо.ФИОВинительныйПадеж КАК ФИОВинительныйПадеж |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Город КАК Город, | ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка | ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация | ГДЕ | ОрганизацииКонтактнаяИнформация.Тип = &Тип | И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК ВложенныйЗапрос | ПО ПриказПоПрактике.Организация = ВложенныйЗапрос.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | ОтветственныеЛицаОрганизацийСрезПоследних.Организация КАК Организация | ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних | ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность = &Должность) КАК Директор | ПО ПриказПоПрактике.Организация = Директор.Организация |ГДЕ | ПриказПоПрактике.Ссылка = &ТекущийДокумент | И ПриказПоПрактике.РаспределениеПрактикантов.Контрагент = &Контрагент"; Запрос.УстановитьПараметр("ТекущийДокумент",ТекущийДокумент); Запрос.УстановитьПараметр("Должность",Справочники.Должности.Директор); Запрос.УстановитьПараметр("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес); Запрос.УстановитьПараметр("Вид",Справочники.ВидыКонтактнойИнформации.ОрганизацияФактическийАдрес); Запрос.УстановитьПараметр("Контрагент",ТекущийДокумент.РаспределениеПрактикантов[ПараметрыПечати-1].Контрагент); Шапка=Запрос.Выполнить().Выбрать(); Шапка.Следующий(); СписокКонтрагентов=Шапка.РаспределениеПрактикантов.Выгрузить(); СписокКонтрагентов.Свернуть("Контрагент,Договор",""); СписокСтудентов=Шапка.РаспределениеПрактикантов.выгрузить(); Для Каждого СтрКонтрагент Из СписокКонтрагентов Цикл Если НЕ ЗначениеЗаполнено(СтрКонтрагент.Контрагент) ТОгда Продолжить; КонецЕсли; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПриказОПрохожденииПрактики_ВсеДоговора"; Макет = УправлениеПечатью.ПолучитьМакет("Документ.ПриказПоПрактике.ПФ_MXL_Договор"); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.Город=СтрЗаменить(Шапка.Город,"г",""); ОбластьМакета.Параметры.ДатаДОговора=Формат(Шапка.ДатаДоговора,"ДФ=dd.MMMM.yyyy"); ОбластьМакета.Параметры.ФИО=Шапка.ФИОВинительныйПадеж; ОбластьМакета.Параметры.Контрагент=СтрКонтрагент.Контрагент; ОбластьМакета.Параметры.НомерДоговора=СтрКонтрагент.Договор; ТабличныйДокумент.Вывести(ОбластьМакета); СписокСтудентовМассив=СписокСтудентов.НайтиСтроки(Новый Структура("Контрагент",СтрКонтрагент.Контрагент)); Ном=1; ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ДЛя Каждого СтрСтуденты Из СписокСтудентовМассив Цикл ОбластьМакета.Параметры.Заполнить(СтрСтуденты); ТабличныйДокумент.Вывести(ОбластьМакета); Ном=Ном+1; КонецЦикла; ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ФИО=РаботаСоСтрокамиСервер.ФамилияИнициалыФизЛица(Шапка.ФИО); ТабличныйДокумент.Вывести(ОбластьМакета); ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЦикла; КонецеСли; УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ТекущийДокумент); КонецЦикла; ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции // ПечатнаяФорма() // Сформировать печатные формы объектов // // ВХОДЯЩИЕ: // ИменаМакетов - Строка - Имена макетов, перечисленные через запятую // МассивОбъектов - Массив - Массив ссылок на объекты которые нужно распечатать // ПараметрыПечати - Структура - Структура дополнительных параметров печати // // ИСХОДЯЩИЕ: // КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы // ПараметрыВывода - Структура - Параметры сформированных табличных документов // Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказОПрохожденииПрактики") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриказОПрохожденииПрактики", "ПриказОПрохожденииПрактики", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ПриказОПрохожденииПрактики")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриказОПрохожденииПрактикиБезСписка") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриказОПрохожденииПрактикиБезСписка", "ПриказОПрохожденииПрактикиБезСписка", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ПриказОПрохожденииПрактикиБезСписка")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаданияВсе") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаданияВсе", "ЗаданияВсе", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ЗаданияВсе")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ЗаданиеОдно") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ЗаданиеОдно", "ЗаданиеОдно", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ЗаданиеОдно",ПараметрыПечати)); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДневникиВсе") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ДневникиВсе", "ДневникиВсе", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ДневникиВсе")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДневникОдин") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ДневникОдин", "ДневникОдин", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ДневникОдин",ПараметрыПечати)); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НаправленияВсе") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НаправленияВсе", "НаправленияВсе", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "НаправленияВсе")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НаправлениеОдно") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НаправлениеОдно", "НаправлениеОдно", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "НаправлениеОдно",ПараметрыПечати)); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПереченьПредприятий") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПереченьПредприятий", "ПереченьПредприятий", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ПереченьПредприятий")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВсеДоговора") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ВсеДоговора", "ВсеДоговора", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ВсеДоговора")); ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПоКонтрагенту") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ДоговорПоКонтрагенту", "ДоговорПоКонтрагенту", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "ДоговорПоКонтрагенту",ПараметрыПечати)); КонецЕсли; КонецПроцедуры |
|||
3
Kansk1c
28.08.18
✎
07:32
|
прописывал | ПриказПоПрактике.Студент, в ДоговорПоКонтрагенту , ни чего не выводится.
|
|||
4
organizm
28.08.18
✎
07:50
|
не асилил, много букаф
|
|||
5
Kansk1c
28.08.18
✎
08:00
|
вот тут что прописать , чтобы начали выводится фио студентов?
ИначеЕсли ИмяМакета = "ДоговорПоКонтрагенту" Тогда Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ПриказПоПрактике.Дата КАК ДатаДоговора, | ПриказПоПрактике.Группа, | ПриказПоПрактике.ВидПрактики, | ПриказПоПрактике.ДатаНачала, | ПриказПоПрактике.ДатаОкончания, | ПриказПоПрактике.Группа.Специальность КАК Специальность, | ПриказПоПрактике.РаспределениеПрактикантов.( | Студент КАК ФИО, | Контрагент КАК Контрагент, | Договор | ), | Директор.Сотрудник.Наименование КАК ФИО, | ПриказПоПрактике.Организация.НаименованиеПолное КАК Организация, | ПриказПоПрактике.Организация.Наименование КАК СокрНаименование, | ВложенныйЗапрос.Город, | Директор.Сотрудник.Физлицо.ФИОВинительныйПадеж КАК ФИОВинительныйПадеж |ИЗ | Документ.ПриказПоПрактике КАК ПриказПоПрактике | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Город КАК Город, | ОрганизацииКонтактнаяИнформация.Ссылка КАК Ссылка | ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация | ГДЕ | ОрганизацииКонтактнаяИнформация.Тип = &Тип | И ОрганизацииКонтактнаяИнформация.Вид = &Вид) КАК ВложенныйЗапрос | ПО ПриказПоПрактике.Организация = ВложенныйЗапрос.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, | ОтветственныеЛицаОрганизацийСрезПоследних.Организация КАК Организация | ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних | ГДЕ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность = &Должность) КАК Директор | ПО ПриказПоПрактике.Организация = Директор.Организация |ГДЕ |
|||
6
catena
28.08.18
✎
08:04
|
(5)Делать выборку по табличной части или разбирать таблицу значений при обходе.
|
|||
7
Kansk1c
28.08.18
✎
08:56
|
catena, я не силен в таких терминах)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |