|
СКД: внешния функция в параметре | ☑ | ||
---|---|---|---|---|
0
Медведик
26.08.11
✎
10:53
|
Доброго всем времени суток.
В СКД отчета добавляю параметр, декларирую выражение для него как ТестоваяФункция(&ОпределенныйПараметр). ТестоваяФункция декларирована в общем модуле, постфикс "Экспорт" на месте. Модуль пробовал делать модальным, перед функцией пробовал директивы &НаКлиенте и сервере. Но при формировании отчета (в режиме УФ) все равно вываливается ошибка, дескать ТестоваяФункция не найдена. Прошу подсказать, где собака порылась в моем случае. |
|||
1
mikecool
26.08.11
✎
10:55
|
общий модуль - галка Сервер установлена?
|
|||
2
Медведик
26.08.11
✎
10:56
|
(1) Поставил галки и клиента, и сервера.
|
|||
3
Wingless
26.08.11
✎
10:57
|
Каким еще "модальным"?
|
|||
4
Медведик
26.08.11
✎
10:58
|
(3) Глобальным, конечно, опечатался, мои извинения.
|
|||
5
Wingless
26.08.11
✎
11:01
|
Проверять лень, предположу, что нужен неглобальный серверный модуль, директивы &НаКлиенте &НаСервере в нем не нужны.
|
|||
6
Медведик
26.08.11
✎
11:02
|
(5) Проверил, не взлетело.
|
|||
7
qwerty09
26.08.11
✎
11:03
|
(6) скрин покажи где написал выражение
|
|||
8
Медведик
26.08.11
✎
11:09
|
(7) <a href='http://saveimg.ru/show-image.php?id=ebe23f73cdd54276a8ed3733eb85f085'> <img src='http://saveimg.ru/thumbnails/26-08-11/df74b3b3fe1fb3d564c215f376960bb0.JPG' alt='' border='0'> </a>
|
|||
9
Медведик
26.08.11
✎
11:12
|
||||
10
Медведик
26.08.11
✎
11:24
|
Нашел в гугле ссылки, должно все работать.
http://1cskd.ru/2011/04/function-use-in-skd/ http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=565008&sortt=m.left_ns&print=1 Прошу идеи, в чем может быть проблема. |
|||
11
qwerty09
26.08.11
✎
11:32
|
вроде должно работать... отладчиком смотрел значение аргумента, получаемого функцией? и что функция возвращает?
|
|||
12
Медведик
26.08.11
✎
11:35
|
(11) Посмотрю сейчас, но как это связано с ненахождением функции?
|
|||
13
qwerty09
26.08.11
✎
11:39
|
блин, чет я гоню, пардон...
в выражении функцию общего модуля надо указывать как: ИмяМодуля.ВозвратП |
|||
14
qwerty09
26.08.11
✎
11:44
|
(12) невнимательно (0) прочитал, думал что просто данные в отчет не выводятся...
ну, на крайняк можно юзать что то типа: ПараметрСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("СписокСчетов"); ПараметрСКД.Значение = ТвояФункцияПолученияПараметра(); ПараметрСКД.Использование=Истина; если функция очень специфична и нужна только для данного отчета |
|||
15
Медведик
26.08.11
✎
11:49
|
(14) Т.е. внешние функции можно использовать ТОЛЬКО при дополнительном программном их указании в компоновщике?
|
|||
16
GenV
26.08.11
✎
11:50
|
(0) По идее для УП галки Сервер достаточно. Если модуль не глобальный нужно указывать его префикс. Если программно выводишь проверь что указано использование функций в инициализации процессора.
|
|||
17
Медведик
26.08.11
✎
11:52
|
(16) Вывожу НЕ программно, в том-то и дело.
Префикс с названием модуля (не глобального) перед названием функции в выражении параметра попробовал, все равно не находит. При этом из модуля (сделал кнопку для тестов) функция спокойно вызывается. |
|||
18
qwerty09
26.08.11
✎
11:54
|
(14) нет! это как один из вариантов
(17) модуль неглобальный и серверный? |
|||
19
GenV
26.08.11
✎
11:55
|
(17) Управляемое приложение? Файловая?
|
|||
20
Медведик
26.08.11
✎
11:57
|
(18) Для теста, помимо серверного, сделал модуль еще и клиентским. Если делаю модуль глобальным, даже префикс в виде имени модуля становится не нужен, что естественно.
|
|||
21
Медведик
26.08.11
✎
11:57
|
(19) Да, да. Изучаю УФ, балуюсь.
|
|||
22
Медведик
26.08.11
✎
12:15
|
Если с общего модуля убрать галку клиента, то функция становится недоступна из формы отчета, что логично.
Но СКД не видит функцию и при доступности модуля клиенту, т.е. списать проблему на предположение, что СКД видит только клиентские функции - не получается. |
|||
23
qwerty09
26.08.11
✎
12:48
|
что то тут не чисто... сообщение об ошибке сюда скопируй.
|
|||
24
Медведик
26.08.11
✎
12:53
|
(23) Да, запнулся на ровном месте.
Ошибка звучит дословно как Функция не найдена "РаботасСКД.ВозвратП", где РаботасСКД - общий модуль с функцией, ВозвратП - собственно функция |
|||
25
qwerty09
26.08.11
✎
13:18
|
попробуй директиву перед функцией убери, если она там есть...
в объявлении функции и в ее вызове нет латинских букв часом? |
|||
26
Медведик
26.08.11
✎
13:22
|
(25) Директиву убрал после (5), название функции из модуля копировал в выражение.
В названии только русские символы. |
|||
27
Wingless
26.08.11
✎
13:31
|
проверил, действительно вылетает
Скорее всего, функции общих модулей можно использовать только в вычисляемых полях. |
|||
28
Медведик
26.08.11
✎
13:34
|
(27) от печаль... Спасибо, что уделили внимание моей проблеме.
|
|||
29
sereban
26.08.11
✎
13:35
|
Функции общих модулей можно использовать в выражениях представления и в выражениях на закладке ресурсов. Это 100%. Про параметры не знаю
|
|||
30
GenV
26.08.11
✎
13:37
|
(28) Пробовал для УП на файловой и клиент-серверной для обычного отчета, как для глобального так и общего модуля с галкой сервер. Значение функции помещается в параметр.
|
|||
31
Медведик
26.08.11
✎
13:39
|
(30) Именно в "выражение" для вычисления значения?
|
|||
32
GenV
26.08.11
✎
13:40
|
(31) Да. Простейшая функция возвращающая текст. Добавил параметр в выбранные поля текст появился в табличке.
|
|||
33
Медведик
26.08.11
✎
13:45
|
(32) Напишите, пожалуйста, следующую информацию:
1) как декларирована функция в модуле; 2) параметры модуля (глобальный ли, сервер/клиент); 3) "выражение" для вычисления параметра с применением функции. |
|||
34
GenV
26.08.11
✎
14:12
|
Модуль "_Тестовый". Галка только Сервер (Если ставить галку глобальный в параметре нет префикса "_Тестовый.")
Функция Тестовая() Экспорт Возврат "Тест"; КонецФункции С параметром тоже работает Выражение: Тестовая() или _Тестовый.Тестовая() С параметром: Тестовая(&Параметр1) или _Тестовый.Тестовая(&Параметр1) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |