1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
YamEgor 27.12.20 - 15:02 | Добрый день! подскажите почему не находит макет? во внешней печатной форме вывожу результат в табличный документ и получаем ошибку:
Поле объекта не обнаружено (ПоРодителямПраваОбъектов) {ВнешняяОбработка.ПоРодителямПраваОбъектов.Форма.Форма.Форма(6)}: Макет = ВнешниеОбработки.ПоРодителямПраваОбъектов.ПолучитьМакет("Макет"); {ВнешняяОбработка.ПоРодителямПраваОбъектов.Форма.Форма.Форма(65)}: ПроверитьПоРодителямНаСервере(); &НаСервере Процедура ПроверитьПоРодителямНаСервере() ВсеРодители = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоНаименованию(ВыбратьРодителя,Истина); Макет = ВнешниеОбработки.ПоРодителямПраваОбъектов.ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ИдентификаторыОбъектовМетаданных.Ссылка КАК Ссылка, | ИдентификаторыОбъектовМетаданных.Имя КАК Имя |ПОМЕСТИТЬ ВТ_Родители |ИЗ | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных |ГДЕ | ИдентификаторыОбъектовМетаданных.Родитель = &Родитель | И НЕ ИдентификаторыОбъектовМетаданных.ПометкаУдаления |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Родители.Имя КАК Имя, | КОЛИЧЕСТВО(ПраваРолей.Роль) КАК Роль |ИЗ | ВТ_Родители КАК ВТ_Родители | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПраваРолей КАК ПраваРолей | ПО ВТ_Родители.Ссылка = ПраваРолей.ОбъектМетаданных | |СГРУППИРОВАТЬ ПО | ВТ_Родители.Имя | |ИМЕЮЩИЕ | КОЛИЧЕСТВО(ПраваРолей.Роль) = 1"; Запрос.УстановитьПараметр("Родитель", ВсеРодители); РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); КонецПроцедуры | ||
ДенисЧ 1 - 27.12.20 - 15:04 | "ВнешниеОбработки.ПоРодителямПраваОбъектов" А ты обработку-то зарегистрировал, чтобы так к ней обращаться | ||
YamEgor 2 - 27.12.20 - 15:05 | извиняюсь не во внешней печатной форме , а во внешней обработке вывожу в таб док результат | ||
YamEgor 3 - 27.12.20 - 15:07 | (1) а если ее не регистрировать просто открыть через файл открыть тогда как? | ||
ДенисЧ 4 - 27.12.20 - 15:08 | (3) об = РеквизитФормыВЗначение("Объект")// или как называется основной реквизит и об.ПолучитьМакет() | ||
YamEgor 5 - 27.12.20 - 15:11 | (4) спасибо получилось | ||
Cthulhu 6 - 27.12.20 - 15:13 | |||
Cthulhu 7 - 27.12.20 - 15:17 | // типа
ОбрСсылка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("ПоРодителямПраваОбъектов");
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ОбрСсылка.ХранилищеВнешнейОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Обр = ВнешниеОбработки.Создать(ИмяФайла);
МакетОбр = Обр.ПолучитьМакет("Макет"); |
|
Список тем форума |