СКД: внешния функция в параметре #566558


#0 by Медведик
Доброго всем времени суток. В СКД отчета добавляю параметр, декларирую выражение для него как ТестоваяФункция(&ОпределенныйПараметр). ТестоваяФункция декларирована в общем модуле, постфикс "Экспорт" на месте. Модуль пробовал делать модальным, перед функцией пробовал директивы &НаКлиенте и сервере. Но при формировании отчета (в режиме УФ) все равно вываливается ошибка, дескать ТестоваяФункция не найдена. Прошу подсказать, где собака порылась в моем случае.
#1 by mikecool
общий модуль - галка Сервер установлена?
#2 by Медведик
Поставил галки и клиента, и сервера.
#3 by Wingless
Каким еще "модальным"?
#4 by Медведик
Глобальным, конечно, опечатался, мои извинения.
#5 by Wingless
Проверять лень, предположу, что нужен неглобальный серверный модуль, директивы &НаКлиенте &НаСервере в нем не нужны.
#6 by Медведик
Проверил, не взлетело.
#7 by qwerty09
скрин покажи где написал выражение
#8 by Медведик
<a href='; <img src='' alt='' border='0'> </a>
#9 by Медведик
#10 by Медведик
Нашел в гугле ссылки, должно все работать. Прошу идеи, в чем может быть проблема.
#11 by qwerty09
вроде должно работать... отладчиком смотрел значение аргумента, получаемого функцией? и что функция возвращает?
#12 by Медведик
Посмотрю сейчас, но как это связано с ненахождением функции?
#13 by qwerty09
блин, чет я гоню, пардон... в выражении функцию общего модуля надо указывать как: ИмяМодуля.ВозвратП
#14 by qwerty09
невнимательно прочитал, думал что просто данные в отчет не выводятся... ну, на крайняк можно юзать что то типа: ПараметрСКД.Использование=Истина; если функция очень специфична и нужна только для данного отчета
#15 by Медведик
Т.е. внешние функции можно использовать ТОЛЬКО при дополнительном программном их указании в компоновщике?
#16 by GenV
По идее для УП галки Сервер достаточно. Если модуль не глобальный нужно указывать его префикс. Если программно выводишь проверь что указано использование функций в инициализации процессора.
#17 by Медведик
Вывожу НЕ программно, в том-то и дело. Префикс с названием модуля (не глобального) перед названием функции в выражении параметра попробовал, все равно не находит. При этом из модуля (сделал кнопку для тестов) функция спокойно вызывается.
#18 by qwerty09
нет! это как один из вариантов модуль неглобальный и серверный?
#19 by GenV
Управляемое приложение? Файловая?
#20 by Медведик
Для теста, помимо серверного, сделал модуль еще и клиентским. Если делаю модуль глобальным, даже префикс в виде имени модуля становится не нужен, что естественно.
#21 by Медведик
Да, да. Изучаю УФ, балуюсь.
#22 by Медведик
Если с общего модуля убрать галку клиента, то функция становится недоступна из формы отчета, что логично. Но СКД не видит функцию и при доступности модуля клиенту, т.е. списать проблему на предположение, что СКД видит только клиентские функции - не получается.
#23 by qwerty09
что то тут не чисто... сообщение об ошибке сюда скопируй.
#24 by Медведик
Да, запнулся на ровном месте. Ошибка звучит дословно как Функция не найдена "РаботасСКД.ВозвратП", где РаботасСКД - общий модуль с функцией, ВозвратП - собственно функция
#25 by qwerty09
попробуй директиву перед функцией убери, если она там есть... в объявлении функции и в ее вызове нет латинских букв часом?
#26 by Медведик
Директиву убрал после , название функции из модуля копировал в выражение. В названии только русские символы.
#27 by Wingless
проверил, действительно вылетает Скорее всего, функции общих модулей можно использовать только в вычисляемых полях.
#28 by Медведик
от печаль... Спасибо, что уделили внимание моей проблеме.
#29 by sereban
Функции общих модулей можно использовать в выражениях представления и в выражениях на закладке ресурсов. Это 100%. Про параметры не знаю
#30 by GenV
Пробовал для УП на файловой и клиент-серверной для обычного отчета, как для глобального так и общего модуля с галкой сервер. Значение функции помещается в параметр.
#31 by Медведик
Именно в "выражение" для вычисления значения?
#32 by GenV
Да. Простейшая функция возвращающая текст. Добавил параметр в выбранные поля текст появился в табличке.
#33 by Медведик
Напишите, пожалуйста, следующую информацию: 1) как декларирована функция в модуле; 2) параметры модуля (глобальный ли, сервер/клиент); 3) "выражение" для вычисления параметра с применением функции.
#34 by GenV
Модуль "_Тестовый". Галка только Сервер (Если ставить галку глобальный в параметре нет префикса "_Тестовый.") С параметром тоже работает Выражение: Тестовая или _Тестовый.Тестовая С параметром: Тестовая(&Параметр1) или _Тестовый.Тестовая(&Параметр1)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С