|
Добавление печатной формы в меню печать | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
23.08.22
✎
05:37
|
Есть два документа. на примере одного, нужно вывести в меню печать печатную форму.
Вывести нужно в документ Заявка на командировку. Включил ему возможность изменения. В модуле менеджера, на примере документа по примеру которого следует делать, взял код, - КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Обработчик = "УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати"; КомандаПечати.МенеджерПечати = "Отчет.ПечатнаяФормаТ9"; КомандаПечати.Идентификатор = "ПФ_MXL_Т9"; КомандаПечати.Представление = НСтр("ru = 'Приказ о направлении в командировку (Т-9)'; |en = 'Business trip order (T-9)'"); КомандаПечати.Порядок = 10; КомандаПечати.ФункциональныеОпции = "ИспользоватьОплатуКомандировок,НеИспользоватьРасчетЗарплатыРасширенная"; Поместил в процедуру ДобавитьКомандыпечати. Но идет ошибка, - В настройку формирования Т-9 (10, 10а) внесены критичные изменения. Печатная форма не будет сформирована. {(3939, 3)}: Синтаксическая ошибка "КАК" <<?>>КАК ДолжностьПоШтатномуРасписанию, {ОбщийМодуль.ЗарплатаКадрыОтчеты.Модуль(1468)}: ОтчетОбъект.СкомпоноватьРезультат(Новый ТабличныйДокумент); {ОбщийМодуль.ЗарплатаКадрыОтчеты.Модуль(1341)}: МакетКомпоновки = ДобавитьМакетКомпоновкиДанныхОтчета(Отчет, МетаданныеОтчета.Имя, КлючВарианта, ОтчетОбъект); {ОбщийМодуль.ЗарплатаКадрыОтчеты.Модуль(81)}: МакетКомпоновкиДанных = МакетКомпоновкиДанныхОтчета(ОбъектОтчета, КлючВарианта); {Отчет.ПечатнаяФормаТ9.МодульМенеджера(43)}: ЗарплатаКадрыОтчеты.ВывестиВКоллекциюПечатнуюФорму("Отчет.ПечатнаяФормаТ9", {ОбщийМодуль.УправлениеПечатью.Модуль(2067)}: МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы, {ОбщаяФорма.ПечатьДокументов.Форма(552)}: ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов, {ОбщаяФорма.ПечатьДокументов.Форма(52)}: КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ); {ОбщийМодуль.УправлениеПечатьюКлиент.Модуль(35)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор)); {ОбщийМодуль.УправлениеПечатьюБЗККлиент.Модуль(45)}: УправлениеПечатьюКлиент.ВыполнитьКомандуПечати( {(1)}:УправлениеПечатьюБЗККлиент.ВыполнитьКомандуПечати(ОписаниеКоманды) {ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(110)}: Результат = Вычислить(Обработчик); {ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(20)}: ВыполнитьПодключаемуюКомандуПечатиЗавершение(Истина, ПараметрыВыполнения); {ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(270)}: ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды); {ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(35)}: ПродолжитьВыполнениеКоманды(ПараметрыВыполнения); {CleverenceButtonsExtension ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(125)}: ПродолжитьВызов(Форма, Команда, Источник); {CleverenceButtonsExtension ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(12)}: CleverenceОбработатьВыполнениеКоманды(Форма, Команда, Источник); {Документ.ЗаявкаНаКомандировку.Форма.ФормаДокумента.Форма(456)}: ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект); по причине: Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: В настройку формирования Т-9 (10, 10а) внесены критичные изменения. Печатная форма не будет сформирована. {(3939, 3)}: Синтаксическая ошибка "КАК" <<?>>КАК ДолжностьПоШтатномуРасписанию, Выявил на какой процедуре. Но там ничего нет, ни текста запроса, ничего. Только типовые вызовы процедур , функций. Компоновщиков. Думаю сейчас как с этим разобраться. В документе на примере которого делаю так же. |
|||
1
NIGHTHUNTER
23.08.22
✎
05:41
|
Сама ошибка, вылетает в исключение на этой строке
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки, МакетОформления, ТипГенератора, ПроверятьДоступностьПолей, ПараметрыФункциональныхОпций); |
|||
2
Мимохожий Однако
23.08.22
✎
06:28
|
Посмотри процедуры в строке
Отчет.ПечатнаяФормаТ9.МодульМенеджера(43)}: убедись, что этот отчёт работает |
|||
3
NIGHTHUNTER
23.08.22
✎
07:12
|
(2) До нее не доходит.
http://joxi.ru/p27pgLvCLX19OA Там масса, разных перевызовов, компоновщиков и прочего, подобного. Я думаю делать внешнюю печатную форму. а с этим что не так не понятно. |
|||
4
Salimbek
23.08.22
✎
07:24
|
(1) А в Схеме компоновки данных у вас не "кривой" запрос?
|
|||
5
NIGHTHUNTER
23.08.22
✎
07:25
|
(4) А где и как это найти? Я что то не встретил ничего, что бы можно было проверить, или отладить.
Вылетает на исключении и все. |
|||
6
NIGHTHUNTER
23.08.22
✎
07:27
|
(4) Как можно найти этот проблемный момент? Где? Там начинает переходить в общие модули, и там крутится, пока не произойдет ошибка.
http://joxi.ru/eAO854GCvz5bpr |
|||
7
Salimbek
23.08.22
✎
07:27
|
(5) Вы пишете, что "Сама ошибка, вылетает в исключение на этой строке". Значит можно поставить точку останова на "этой строке" и посмотреть, что параметре Схема.
Или, ваша Схема лежит в КомандаПечати.МенеджерПечати = "Отчет.ПечатнаяФормаТ9"; <-- тут |
|||
8
NIGHTHUNTER
23.08.22
✎
07:28
|
(4) Вроде , как на печать идет вот этот макет ПФ_MXL_Т9
|
|||
9
NIGHTHUNTER
23.08.22
✎
07:32
|
Идет сюда, -
ОтчетОбъект.СкомпоноватьРезультат(Новый ТабличныйДокумент); потом сюда РезультатКомпоновки = ЗарплатаКадрыОтчеты.РезультатКомпоновкиМакетаПечатнойФормы(ЭтотОбъект, ДанныеРасшифровки); и вот на этой строке, вылетает в исключение МакетКомпоновки = МакетКомпоновкиДанныхДляКоллекцииЗначений(ОбъектОтчета.СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); Что там посомтреть? |
|||
10
NIGHTHUNTER
23.08.22
✎
07:32
|
(9+)
Функция МакетКомпоновкиДанныхДляКоллекцииЗначений(Схема, Настройки, ДанныеРасшифровки = Неопределено, МакетОформления = Неопределено, ПроверятьДоступностьПолей = Истина, ПараметрыФункциональныхОпций = Неопределено) Экспорт Возврат МакетКомпоновкиДанных(Схема, Настройки, ДанныеРасшифровки, МакетОформления, ПроверятьДоступностьПолей, ПараметрыФункциональныхОпций, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); КонецФункции |
|||
11
NIGHTHUNTER
23.08.22
✎
07:33
|
(10+)
Функция МакетКомпоновкиДанных(Схема, Настройки, ДанныеРасшифровки = Неопределено, МакетОформления = Неопределено, ПроверятьДоступностьПолей = Истина, ПараметрыФункциональныхОпций = Неопределено, ТипГенератора = Неопределено) Экспорт Если ТипГенератора = Неопределено Тогда ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанных"); КонецЕсли; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки, МакетОформления, ТипГенератора, ПроверятьДоступностьПолей, ПараметрыФункциональныхОпций); УточнитьОтборыЗапросовНаборовДанныхМакетаКомпоновкиДанных(МакетКомпоновкиДанных.НаборыДанных); Возврат МакетКомпоновкиДанных; КонецФункции |
|||
12
NIGHTHUNTER
23.08.22
✎
07:34
|
На этой строке в исключение вылетает
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки, МакетОформления, ТипГенератора, ПроверятьДоступностьПолей, ПараметрыФункциональныхОпций); |
|||
13
Salimbek
23.08.22
✎
07:34
|
(9) Открываете вот тот Макет "ПФ_MXL_Т9" из (6) и смотрите там Схему Компоновки Данных. Есть ли там Запрос? Какой? Есть ли там "КАК ДолжностьПоШтатномуРасписанию"?
|
|||
14
NIGHTHUNTER
23.08.22
✎
07:35
|
||||
15
DEVIce
23.08.22
✎
07:36
|
(9) Че смотреть, че смотреть. Схему компоновки смотреть, блядь! СКД у тебя поставляет данные для печати и видимо запрос в этом СКД обращается к полу, которого нет в твоем документе.
|
|||
16
DEVIce
23.08.22
✎
07:37
|
После веток таких авторов (у нас их тут трое), я понимаю что слишком мало прошу за свою работу.
|
|||
17
Salimbek
23.08.22
✎
07:37
|
(15) Логично, она, возможно, в (6) строчкой выше ;-)
|
|||
18
NIGHTHUNTER
23.08.22
✎
07:40
|
http://joxi.ru/82QJW7EH8k5zVA
видимо проще сделать печатную форму самому где что выявлять и как не понятно, перегружено все везде |
|||
19
NIGHTHUNTER
23.08.22
✎
07:43
|
||||
20
Salimbek
23.08.22
✎
07:44
|
(18) Может в поле Макеты или Источники видно, откуда взялась эта Схема, но скорее всего она выделена синеньким в (6)
|
|||
21
NIGHTHUNTER
23.08.22
✎
07:45
|
(17) В той компоновке я не нашел этого проблемного поля, на которое идет ошибка
|
|||
22
Salimbek
23.08.22
✎
07:51
|
(21) А в полях вот этой переменной Схема ничего не подсказывает о том, где она лежит?
Ну и возможно - она лежит в вашем Документе "Заявка на командировку". Но если это предположение тоже ошибочно, то надо посмотреть Стек вызовов до этой точки останова - и посмотреть по процедурам, где и чем заполняется эта Схема. |
|||
23
NIGHTHUNTER
23.08.22
✎
08:01
|
(22) В документе, заявка на командировку нет макетов .
|
|||
24
NIGHTHUNTER
23.08.22
✎
08:11
|
(22) Вообще схема передается как
МакетКомпоновки = МакетКомпоновкиДанныхДляКоллекцииЗначений(ОбъектОтчета.СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); То есть она у отчета самого. Я ее открывал, там ошибки нет. |
|||
25
Salimbek
23.08.22
✎
09:26
|
(24) Ну дальше значит копать. Например настроить тех. журнал. Или вообще, написать свою тестовую обработку, которая должна получить
В нее передать нужные данные и смотреть, где и что отваливается. |
|||
26
СеменовСемен
23.08.22
✎
09:47
|
ну кривой же запрос в компановке. Нужно отладчиком дойти до того места где этот запрос создается
|
|||
27
NIGHTHUNTER
23.08.22
✎
10:08
|
Я делал по примеру документа Командировка. Но там тоже не работает. Сказали от того что в тестовой базе не включен кадровый учет.
Как это влияет я не знаю. |
|||
28
NIGHTHUNTER
23.08.22
✎
10:09
|
(26) Я открывал компановку, если кривой. то там же и были бы ошибки, но их там не было.
По этому что искать не понял. Я сделал внешнюю печатную форму. |
|||
29
СеменовСемен
23.08.22
✎
10:09
|
в зупе текст компановки формируется програмно обычно
|
|||
30
NIGHTHUNTER
23.08.22
✎
10:10
|
(29) Понятно. Вот я и решил, что там запутаться сильно можно. Что не нужно совершенно.
Если макет с 1 секцией формируется по документу. |
|||
31
NIGHTHUNTER
23.08.22
✎
10:32
|
(27+) В рабочей базе такие же ошибки. Глючит типовой функционал наверное. Или что это не знаю.
|
|||
32
NIGHTHUNTER
23.08.22
✎
11:07
|
||||
33
NIGHTHUNTER
23.08.22
✎
11:21
|
Перед ошибкой когда, уже дальше не продолжается, на строке, -
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки, МакетОформления, ТипГенератора, ПроверятьДоступностьПолей, ПараметрыФункциональныхОпций); Можно открыть вот такой дикий запрос. не знаю на сколько он страниц. Но очень много. И там все как в кашу свалено. В нем ли ошибка? http://joxi.ru/Grq8VexCzWZy9A http://joxi.ru/DmBK7EquqD7xg2 |
|||
34
DrZombi
гуру
23.08.22
✎
11:30
|
(0) Единственное, что вы хотите от отчета "ПечатнаяФормаТ9"?
Вы же его присобачили к документу "Заявка на командировку" Там прямой вызов документа "Командировка" ВЫБРАТЬ Командировка.Ссылка КАК СсылкаНаОбъект, Командировка.ДатаНачала КАК Период, Командировка.Сотрудник КАК Сотрудник ПОМЕСТИТЬ ВТСсылкиНаДокумент ИЗ Документ.Командировка КАК Командировка ГДЕ Командировка.Ссылка В(&СсылкиНаОбъекты) ; |
|||
35
DrZombi
гуру
23.08.22
✎
11:32
|
+ Как вариант, создать свой отчет "ПечатнаяФормаТ9", который будет использовать документ "Заявка на командировку"
|
|||
36
DrZombi
гуру
23.08.22
✎
11:32
|
+ Назвать "ПечатнаяФормаТ9_Зявка"
|
|||
37
Salimbek
23.08.22
✎
11:40
|
(33) Ну скопируй этот запрос и положи на ПастеБин какой-нибудь. Может посмотрит кто, может даже я, если не лень будет...
|
|||
38
Salimbek
23.08.22
✎
11:42
|
+(37) Хотя в свете (34) все равно переделывать надо.
|
|||
39
DrZombi
гуру
23.08.22
✎
12:31
|
+ (0) "ФункциональныеОпции", коль вы используете заранее известный вам кусочек коду, то можно не использовать :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |