Добрый день! Ситуация следующая в УТ 11 Нужно из документа РеализацияТоварУслуг прописать путь к макету,который находится в документе ДоверенностьНаПолучениеТоваров. Вот что я сделал:
&НаСервере Функция СформироватьПечать(Тип, ОбъектыПечати) Макет = Документы.ДоверенностьНаПолучениеТоваров.ПолучитьМакет("ПФ_MXL_М2"); ОбъектыПечати = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(); ТабличныйДокумент = Новый ТабличныйДокумент; Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Доверенность.Ссылка КАК Ссылка, | Доверенность.Номер КАК Номер, | Доверенность.Дата КАК ДатаДокумента, | Доверенность.Организация КАК Организация, | Доверенность.Организация.Префикс КАК Префикс, | Доверенность.Организация.ТекущийРуководитель.Наименование КАК Руководитель, | Доверенность.Организация.ТекущийГлавныйБухгалтер.Наименование КАК ГлавныйБухгалтер, | Доверенность.ФизЛицо КАК ФизЛицо, | Доверенность.ПоДокументу КАК РеквизитыДокументаНаПолучение, | Доверенность.ДатаОкончанияДействия КАК СрокДействия, | Доверенность.Должность КАК Должность, | Доверенность.Ответственный КАК Ответственный, | Доверенность.БанковскийСчет КАК БанковскийСчет, | Доверенность.Контрагент.НаименованиеПолное КАК ПоставщикПредставление, | Доверенность.ДокументОснование КАК ДокументОснование, | Доверенность.ДокументОснование.Номер КАК НомерОснования, | Доверенность.ДокументОснование.Дата КАК ДатаОснования, | Доверенность.ДокументОснование.Организация.Префикс КАК ПрефиксОснования, | Доверенность.Товары.( | НомерСтроки КАК Номер, | ПРЕДСТАВЛЕНИЕ(Доверенность.Товары.НоменклатураПоставщика) КАК НоменклатураПоставщика, | Номенклатура.НаименованиеПолное КАК Номенклатура, | Характеристика.НаименованиеПолное КАК Характеристика, | ВЫБОР | КОГДА ЕСТЬNULL(Доверенность.Товары.Упаковка.Коэффициент, 1) = 1 | ТОГДА НЕОПРЕДЕЛЕНО | ИНАЧЕ Доверенность.Товары.Упаковка.Наименование | КОНЕЦ КАК Упаковка, | ВЫБОР | КОГДА Доверенность.Товары.Упаковка = ЗНАЧЕНИЕ(Справочник.УпаковкиНоменклатуры.ПустаяСсылка) | ТОГДА ПРЕДСТАВЛЕНИЕ(Доверенность.Товары.Номенклатура.ЕдиницаИзмерения) | ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Доверенность.Товары.Упаковка.ЕдиницаИзмерения) | КОНЕЦ КАК ЕдиницаИзмеренияПредставление, | КоличествоУпаковок КАК КоличествоУпаковок | ), | Доверенность.МатериальныеЦенности.( | НомерСтроки КАК Номер, | МатериальнаяЦенность КАК МатериальнаяЦенность, | Количество КАК Количество, | ПРЕДСТАВЛЕНИЕ(Доверенность.МатериальныеЦенности.ЕдиницаИзмерения) КАК ЕдиницаИзмеренияПредставление | ), | ДокументыФизическихЛиц.Серия КАК ПаспортСерия, | ДокументыФизическихЛиц.Номер КАК ПаспортНомер, | ДокументыФизическихЛиц.ДатаВыдачи КАК ПаспортДатаВыдачи, | ДокументыФизическихЛиц.КемВыдан КАК ПаспортВыдан, | ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи";
Данные = Запрос.Выполнить().Выбрать();
ПервыйДокумент = Истина;
Если Тип = "ДоверенностьМ2" Тогда ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_М2"; ИначеЕсли Тип = "ДоверенностьМ2а" Тогда ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_М2а"; КонецЕсли; Пока Данные.Следующий() Цикл
Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли;
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(MH.z @ 11.05.12, 12:36)
А это разве не оно?
Оно уже в теле процедуры, а на входе же должно что-то быть. Да и толку от присвоения пустой ссылки? Вероятно там должен же быть обозначенный документ,..
Личные бесплатные консультации не даю, для этого есть форум!
После долгих мучений, решил не парить себе мозг и полностью переделать. Т.е. не вызывать макет из другого документа, а сделать его с нуля. Все сделал и вроде ошибок то и нет, только вот одна проблема все же осталась. При нажатии кнопки "Сформировать доверенность" у меня идет загрузка, но табличный документ не выводит на экран. Просто погрузилось секунд 4-5 и все. Вот что я сделал:
&НаСервере Функция СформироватьПечать(Тип)
ТабличныйДокумент = Новый ТабличныйДокумент; Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка КАК Ссылка, | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация.Префикс, | РеализацияТоваровУслуг.Организация.ТекущаяДолжностьРуководителя КАК Руководитель, | РеализацияТоваровУслуг.Организация.ТекущийГлавныйБухгалтер КАК ГлавныйБухгалтер, | РеализацияТоваровУслуг.ФизЛицо, | РеализацияТоваровУслуг.ПоДокументу, | РеализацияТоваровУслуг.ДатаОкончанияДействия, | РеализацияТоваровУслуг.Должность, | РеализацияТоваровУслуг.Ответственный, | РеализацияТоваровУслуг.БанковскийСчетОрганизации, | РеализацияТоваровУслуг.Контрагент.НаименованиеПолное, | РеализацияТоваровУслуг.ДокументОснование, | РеализацияТоваровУслуг.ДокументОснование.Номер, | РеализацияТоваровУслуг.ДокументОснование.Дата, | РеализацияТоваровУслуг.ДокументОснование.Организация.Префикс, | РеализацияТоваровУслуг.Товары.( | Ссылка, | НомерСтроки, | Номенклатура, | Характеристика, | Упаковка, | КоличествоУпаковок, | Количество, | УдалитьКлючСвязиСерийныхНомеров, | ВидЦены, | Цена, | Сумма, | СтавкаНДС, | СуммаНДС, | КодСтроки, | СуммаРучнойСкидки, | СуммаАвтоматическойСкидки, | ПроцентРучнойСкидки, | ПроцентАвтоматическойСкидки, | КлючСвязи, | Склад, | СуммаСНДС, | СтатусУказанияСерий, | СуммаВзаиморасчетов, | ЗаказКлиента, | СрокПоставки, | ДокументРезерваСерий | ), | ДокументыФизическихЛиц.Серия КАК ПаспортСерия, | ДокументыФизическихЛиц.Номер КАК ПаспортНомер, | ДокументыФизическихЛиц.ДатаВыдачи КАК ПаспортДатаВыдачи, | ДокументыФизическихЛиц.КемВыдан КАК ПаспортВыдан, | ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц | ПО РеализацияТоваровУслуг.ФизЛицо = ДокументыФизическихЛиц.Физлицо | И (ДокументыФизическихЛиц.ВидДокумента = ЗНАЧЕНИЕ(Справочник.ВидыДокументовФизическихЛиц.ПаспортРФ)) | |УПОРЯДОЧИТЬ ПО | Ссылка";
Если Тип = "ДоверенностьМ2" Тогда ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_М2"; ИначеЕсли Тип = "ДоверенностьМ2а" Тогда ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Доверенность_М2а"; КонецЕсли; Пока Данные.Следующий() Цикл
Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!