|
Ошибка внешней печатной формы | ☑ | ||
---|---|---|---|---|
0
Cоляпсус
28.09.17
✎
17:11
|
Здравствуйте, застрял с печатной формой. Так как опыта не так много, не знаю как решить проблему, может кто-то подскажет.
В ЗКБУ 1.0 встала задача изменить формируемые значения в печатной форме. Так как конфа на поддержке, добавляю доп печатную форму. Нашёл где формируется код (общий модуль) и скопировал код оттуда. Всё вроде поправил но застрял на вот какой ошибке: {ВнешняяОбработка.ПредоставлениеОтпуска.МодульОбъекта(122,173)}: Ожидается выражение ПечатьРасчетаСреднегоЗаработка(МассивОбъектов, ОбъектыПечати,ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета,<<?>> Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено) (Проверка: Толстый клиент (обычное приложение)) Не понимает она <<?>> Знач ИспользоватьСреднеЧасовойЗаработок. Подскажите что предпринять. Заранее благодарю |
|||
1
rabbidX
28.09.17
✎
17:18
|
"ПечатьРасчетаСреднегоЗаработка(МассивОбъектов, ОбъектыПечати,ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета,<<?>> Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено)"
Это у тебя объявление процедуры или вызов? |
|||
2
Cоляпсус
28.09.17
✎
17:19
|
Мммм(((, функция где формируется табдок
|
|||
3
Cоляпсус
28.09.17
✎
17:21
|
в типовой работает, а при попытке переноса в печатную форму ругается, что-то я не так делаю, никак не пойму где исправить
|
|||
4
Lexey_
28.09.17
✎
17:23
|
(2) почему ты из двух вариантов выбрал третий?
|
|||
5
rabbidX
28.09.17
✎
17:25
|
Давай так попробуем:
Скопируй 121 и 122 строку модуля объекта внешней обработки |
|||
6
Cоляпсус
28.09.17
✎
17:29
|
(5) не понял честно говоря, строки могут быть любыми
|
|||
7
Cоляпсус
28.09.17
✎
17:30
|
(4)какой третий вариант? о выборе внешней печатной формы?
|
|||
8
Numerus Mikhail
28.09.17
✎
17:30
|
(6) как это строки могут быть любыми? динамически собираемая обработка?)
|
|||
9
rabbidX
28.09.17
✎
17:31
|
(6) Не спорю, скопируй те, которые есть сейчас.
|
|||
10
Cоляпсус
28.09.17
✎
17:32
|
(6)Нет обработка не динамически собирается
|
|||
11
Cоляпсус
28.09.17
✎
17:34
|
(9)всё равно не понимаю зачем копировать то и куда их копировать? Это же внешняя обработка и 121 и 122 строки попадают в тело запроса
|
|||
12
rabbidX
28.09.17
✎
17:36
|
(11) Сюда копировать
|
|||
13
Cоляпсус
28.09.17
✎
17:38
|
это пожалуйста, как бумага здесь всё стерпит, но зачем же именно 121 и 122
ИНАЧЕ """" КОНЕЦ + ФИОФизЛицСрезПоследних.Фамилия, ОтветственныеЛицаСрезПоследних.НаименованиеФизлица) КАК НаименованиеОтветственногоЛица, |
|||
14
Numerus Mikhail
28.09.17
✎
17:40
|
(13) А если пойти другим путем. Можешь привести кусок кода +- 5 строк, где вываливается эта ошибка из (0)? Чтобы мы хоть чуть-чуть понимали, что происходит
|
|||
15
Cоляпсус
28.09.17
✎
17:41
|
121 и 122 строка модуль объекта внешней печатной формы или я чтото не понимаю?))) Точнее я точно не понимаю как исправить ошибку, но это не позор,а временное неудобство изза малоопытности.
|
|||
16
Cоляпсус
28.09.17
✎
17:41
|
Сейчас
|
|||
17
Cоляпсус
28.09.17
✎
17:43
|
Функция ПечатьРасчетаСреднегоЗаработка(МассивОбъектов, ОбъектыПечати,ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета, Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено) Экспорт
Если Не ЗначениеЗаполнено(ДокументСсылка) Тогда Возврат Новый ТабличныйДокумент КонецЕсли; МетаданныеДокумента = ДокументСсылка.Метаданные(); Попытка ИмяИсточникаДанных = МетаданныеДокумента.Имя; Исключение Возврат Новый ТабличныйДокумент КонецПопытки; ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасчетСреднегоЗаработка"; Макет = ПолучитьОбщийМакет("РасчетСреднегоЗаработка"); СекцияШапка = Макет.ПолучитьОбласть("Шапка"); СекцияЗаголовокНачислений = Макет.ПолучитьОбласть("ЗаголовокНачислений"); СекцияЗаголовокРабочегоМеста = Макет.ПолучитьОбласть("ЗаголовокРабочегоМеста"); СекцияМесячныйЗаработок = Макет.ПолучитьОбласть("МесячныйЗаработок"); СекцияСерединаОтчета = Макет.ПолучитьОбласть("СерединаОтчета"); СекцияДоляВремени = Макет.ПолучитьОбласть("ДоляВремени"); СекцияЗаголовокПремий = Макет.ПолучитьОбласть("ЗаголовокПремий"); СекцияПремии = Макет.ПолучитьОбласть("Премии"); СекцияПодвал = Макет.ПолучитьОбласть("Подвал"); Запрос = Новый Запрос; // Установим параметры запроса Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка); Запрос.УстановитьПараметр("ДатаНачалаСобытия", ДатаСобытия); Запрос.УстановитьПараметр("ИспользоватьСреднеЧасовойЗаработок", ИспользоватьСреднеЧасовойЗаработок); Запрос.УстановитьПараметр("Регистратор", ДокументСсылка); Запрос.УстановитьПараметр("СпособРасчета", СпособРасчета); Запрос.УстановитьПараметр("ОсновнойЗаработокНеиндексируемый", ПланыВидовРасчета.СреднийЗаработок.ПоЗаработкуНеИндексируемые); и это не единственное обращение к параметру, там просто очень большой код, скопированный из общего модуля типовой конфы |
|||
18
Lexey_
28.09.17
✎
17:47
|
(7) тебя спросили: тёплый или холодный? А ты ответил мягкий
|
|||
19
FIXXXL
28.09.17
✎
17:48
|
(17) а зачем ты ее вообще скопировал, вместо того, что бы просто вызвать и получить результат в модуле твоей обработки?
|
|||
20
rabbidX
28.09.17
✎
17:48
|
В (17) Знач начинается со 181 символа а в (0) со 173. Где-то ты нас дуришь.
|
|||
21
Cоляпсус
28.09.17
✎
17:49
|
Подозреваю, вы уж извините, я не со зла)), просто я не совсем понял (4), что значит третий, а какой первый и второй
|
|||
22
rabbidX
28.09.17
✎
17:52
|
(21) да пофиг, забей. У тебя в 122 строке написано
ПечатьРасчетаСреднегоЗаработка(МассивОбъектов, ОбъектыПечати,ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета,<<?>> Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено) А слова "Функция" перед этой трататой нет. Исправляй. |
|||
23
Cоляпсус
28.09.17
✎
17:53
|
))) Ну я не то чтобы дурю, но есть чуть, просто одну я написал где использовал шаблон (122,173)}, а второй раз прислал, это где я не по шаблону делал а сам с нуля (15,172)}
поэтому так получилось |
|||
24
Cоляпсус
28.09.17
✎
17:54
|
(21) ну почему, это тратата и есть функция
|
|||
25
Cоляпсус
28.09.17
✎
18:02
|
эх гонят домой, но если вдруг не все против, спрошу ещё раз завтра ,спасибо всем за содействие)
|
|||
26
Cоляпсус
29.09.17
✎
10:16
|
Доброе утро. Вынужден повториться, так как решения пока не нашёл.
Есть типовая конфа ЗКБУ 1.0 там есть типовая печатная форма "Расчёт среднего основного отпуска", заказчик решил что в ячейке он хочет видеть другое значение. Так как конфа на полной поддержке, решил добавить дополнительную внешнюю печатную форму (хотя только сейчас подумал, а какие ещё есть выходы), и вот создал по шаблону печатную форму, нашёл код в общем модуле где формируются значения данной формы, код скопировал, поправил разные огрешности в связи с копированием, но застрял на одной ошибке и не пойму как поправить, чтобы не ругалась. {ВнешняяОбработка.ПредоставлениеОтпуска.МодульОбъекта(122,173)}: Ожидается выражение ПечатьРасчетаСреднегоЗаработка(МассивОбъектов, ОбъектыПечати,ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета,<<?>> Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено) (Проверка: Толстый клиент (обычное приложение)) Заранее благодарю |
|||
27
Lexey_
29.09.17
✎
10:20
|
(26) ты вместо вызова процедуры используешь текст из ее объявления
|
|||
28
Cоляпсус
29.09.17
✎
10:45
|
ссори за вопрос, а как поправить?
|
|||
29
Lexey_
29.09.17
✎
10:48
|
(28) а посмотри как в других местах используется
|
|||
30
Cоляпсус
29.09.17
✎
10:53
|
(29) Хм, этот параметр используется только в рамках этой функции,
|
|||
31
Lexey_
29.09.17
✎
10:55
|
(30) я про процедуру, а не параметр
|
|||
32
Cоляпсус
29.09.17
✎
10:59
|
Не понимаю
|
|||
33
Cоляпсус
29.09.17
✎
12:35
|
Сообразил поправил.
Осталось только поправить ещё маленький огрех. В Процедуре Печать, есть метод Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НачислениеОтпуска") Тогда и конечно система ругается {ВнешняяОбработка.ПредоставлениеОтпуска.МодульОбъекта(113,7)}: Переменная не определена (УправлениеПечатью) Если <<?>>УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НачислениеОтпуска") Тогда (Проверка: Толстый клиент (обычное приложение)) вот сейчас не пойму, необходимо определить переменную или это как-то связано с клиентским или серверным вызовом? Заранее благодарен. |
|||
34
Cоляпсус
29.09.17
✎
12:37
|
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода = Неопределено) экспорт
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НачислениеОтпуска") Тогда ДокументСсылка = МассивОбъектов[0]; ДатаСобытия = ДокументСсылка.ДатаСобытия; ПродолжительностьРасчетногоПериода = ДокументСсылка.ПродолжительностьРасчетногоПериода; ОписаниеОплачиваемогоПериода = ДокументСсылка.ОписаниеОплачиваемогоПериода; СпособРасчета = ДокументСсылка.СпособРасчета; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "НачислениеОтпуска", //тот же - что и в функции "СведенияОВнешнейОбработке"! "Начисление отпуска при печати комплектом", //СформироватьПечатнуюФорму1(МассивОбъектов, ОбъектыПечати)//исполняющая функция (в этом же модуле) ПечатьРасчетаСреднегоЗаработка(ДокументСсылка, ДатаСобытия, ПродолжительностьРасчетногоПериода, ОписаниеОплачиваемогоПериода, СпособРасчета) //, Знач ИспользоватьСреднеЧасовойЗаработок = Неопределено , СписокСоставляющихСреднегоЗаработка = Неопределено, ВыводитьЗаголовок = Истина, ОтражатьДолюВремени = Истина, СтруктураПоказателей = Неопределено) ); КонецЕсли; КонецПроцедуры |
|||
35
SleepyHead
гуру
29.09.17
✎
12:55
|
(0) "В ЗКБУ 1.0 встала задача изменить формируемые значения в печатной форме."
А ничего, что эти значения (возможно!) не будут стыковаться с фактическим расчетом среднего в документе? |
|||
36
Cоляпсус
29.09.17
✎
13:00
|
Да там ячейки не затрагивающие расчёты, скорее видимость представления например не "премия за 3 мес", а хотят чтобы была "Годовая премия", но всё равно формируется из значений и менять нужно
|
|||
37
SleepyHead
гуру
29.09.17
✎
13:04
|
(36) Ну вот как-то изменение количества месяцев в премии это нифига не косметическое изменение.
|
|||
38
SleepyHead
гуру
29.09.17
✎
13:07
|
Если речь идет о видимости представления, то вопрос - пробовали менять макеты печатных форм?
Раздел "Администрирование", "Печатные формы, отчеты и обработки" - "Макеты печатных форм" Фильтруйте по "Печать расчета среднего заработка" в колонке "Владелец макета". |
|||
39
Cоляпсус
29.09.17
✎
13:17
|
)) где бы в единичке ещё найти Раздел "Администрирование", "Печатные формы, отчеты и обработки" - "Макеты печатных форм"
нет такого, в лучшем случае "Сервис", но сейчас поищу где бы это могло находиться |
|||
40
SleepyHead
гуру
29.09.17
✎
13:19
|
Точно, я балда. Не посмотрел версию.
|
|||
41
Cоляпсус
29.09.17
✎
13:53
|
В единичке только через внешнюю можно реализовать(насколько я понимаю), поэтому (33) всё ещё актуальный вопрос
|
|||
42
Cоляпсус
29.09.17
✎
14:17
|
Извиняюсь, но снова вынужден не повториться
Осталось только поправить ещё маленький огрех. В Процедуре Печать, есть метод Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НачислениеОтпуска") Тогда и конечно система ругается {ВнешняяОбработка.ПредоставлениеОтпуска.МодульОбъекта(113,7)}: Переменная не определена (УправлениеПечатью) Если <<?>>УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НачислениеОтпуска") Тогда (Проверка: Толстый клиент (обычное приложение)) вот сейчас не пойму, необходимо определить переменную или это как-то связано с клиентским или серверным вызовом? Заранее благодарен. |
|||
43
dezss
29.09.17
✎
14:33
|
Стесняюсь, но все таки спрошу.
А ты кто по образованию, не геолог случайно?) |
|||
44
dezss
29.09.17
✎
14:33
|
(43) + ну или может геодезист
|
|||
45
FIXXXL
29.09.17
✎
14:34
|
(44) или бетонщик :)
|
|||
46
Cоляпсус
29.09.17
✎
16:01
|
Не стесняйся, экономист, но волей случая пришлось переквалифицироваться и менять направление деятельности. И в этом нет ничего такого и даже если бы был бетонщик, так наоборот бы порадовались за парня, что новых знаний набирается.... или даже геодезист, всё равно это не меняет дело...
|
|||
47
dezss
29.09.17
✎
16:23
|
(46) просто был тут один геодезист...
а чтоб переквалифицироваться, надо хотя бы какие-то базовые вещи изучить. Про область видимости и жизни сущностей(в частности переменных) и т.п. Думаешь, 5 лет в универе (а сейчас даже 6, вроде) люди просто так сидят, а не учатся программированию? А чтобы переквалифицироваться, надо пройти обучение. На конкретные вопросы тут отвечают, но если спрашивают про такую базовую вещь как "Переменная не определена", то ответить просто нечего. Ну не определена она, значит в этой области кода ее нет. |
|||
48
Cоляпсус
29.09.17
✎
17:59
|
(47) Думаешь я не учился и не продолжаю учится и днём и кстати иногда ночами? Объем большой всё сразу освоить просто мозгу не возможно. Поэтому и спрашиваю. Если лень отвечать, просто не ввязвывайся в переписку, а остальные мнения и домыслы не конструктивны и не красят не с какой стороны.
А что переменная не определена в данной области я и так вижу, просто не пойму как это исправить, необходимо переменную присваивать или это с серверными или клиентскими вызовами связано. Не у меня , но это так работало, у меня не работает. пытаюсь выяснить почему, вот и всё... |
|||
49
PiotrLoginov
29.09.17
✎
22:45
|
(48) *не красят НИ с какой стороны
Вот не верю, что Вы нечаянно опечатались. Наверняка, искренне полагаете, что частицу употребили правильно. ... Просто одно дело, когда человек только осваивает некую профессию и рассчитывает на адекватное отношение к своему уровню. С пониманием того, что текущий навык программирования не дает оснований полагать, будто бы у этого человека и в других областях знаний такая же компетенция. И совсем другое дело, когда Вы не демонстрируете ни аккуратности, ни методичности, ни логики, а только невежество и высокомерие, даже во время запроса помощи не забывая назидательно поправить собеседника. Так вот Вам ответочка :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |