|
Вызов процедуры с директивой &НаСервере | ☑ | ||
---|---|---|---|---|
0
ender10
26.09.13
✎
15:28
|
Добрый день, возникла такая проблема, пытаюсь из модуля справочника обратиться к функции модуля обработки, у обработки 2 функции, у одной из них стоит директива &НаСервере, к ней не могу обратиться, а к другой (без деректив) могу, объясните в чем дело и как обойти?
|
|||
1
H A D G E H O G s
26.09.13
✎
15:32
|
Убрать директиву &НаСервере
|
|||
2
ender10
26.09.13
✎
15:35
|
не вариант, типовая функция, хочу к ней обращаться просто
|
|||
3
PiVa123
26.09.13
✎
15:36
|
&НаСервере - это контекстная директива, от этого и плясать.
как минимум &НаСервереБезКонтекста |
|||
4
ender10
26.09.13
✎
15:39
|
меня интересует как я могу вызвать эту функцию, она типовая поэтому в ней менять ничего не буду
|
|||
5
Feunoir
26.09.13
✎
15:40
|
(0) У функции директива Экспорт стоит?
|
|||
6
ender10
26.09.13
✎
15:44
|
да, функция экспортная
|
|||
7
Feunoir
26.09.13
✎
15:54
|
Если у функции не указан контекст, то она по умолчанию считается серверной. Это первое. Второе - директивы используются только в модулях форм, модулях команд и общем модуле управляемого приложения (с) справка по 1С.
Что-то ты не договариваешь. Может что-то в именах функций не так? |
|||
8
ender10
26.09.13
✎
16:00
|
нет, все точно
директива у функции стоит в модуле обработки |
|||
9
GROOVY
26.09.13
✎
16:00
|
Я извиняюсь, а нахрена директивы компиляции в модуле обработки. Это же не форма и не команда.
|
|||
10
GROOVY
26.09.13
✎
16:01
|
(7) Ой, я не заметил...
|
|||
11
ender10
26.09.13
✎
16:03
|
нахрена директива, это другой вопрос
кому интересно консолидация 2.1.2.1 обработка НастройкаПараметровОтчетовПоУмолчанию если не верите |
|||
12
ender10
26.09.13
✎
16:07
|
кстати вдогонку, если функция в общем модуле с диретивой &наСервере, к ней тоже не могу обратиться
|
|||
13
eklmn
гуру
26.09.13
✎
16:15
|
скопируй функцию к себе
|
|||
14
GROOVY
26.09.13
✎
16:15
|
(12) Вызов сервера, есть такая галка в общем модуле.
|
|||
15
GROOVY
26.09.13
✎
16:16
|
А еще очень рекомендую почитать о том как работают компиляторы в 3-х звенках.
|
|||
16
ender10
26.09.13
✎
16:20
|
с модулем понятно, а с вызовом функции обработки?
|
|||
17
GROOVY
26.09.13
✎
16:22
|
Вызов из формы? Нужно получить обработку как прикладной объект "РеквизитФОрмыВЗначение".
|
|||
18
GROOVY
26.09.13
✎
16:22
|
+17 и не надо там директивы компиляции указывать. Ну пожалуйста!
|
|||
19
ender10
26.09.13
✎
16:23
|
нет, вызов из модуля
|
|||
20
ender10
26.09.13
✎
16:23
|
объекта
|
|||
21
GROOVY
26.09.13
✎
16:25
|
Вызов из модуля объекта функции из модуля объекта ? То есть вызов функции их того же модуля?
|
|||
22
ender10
26.09.13
✎
16:29
|
вызов из модуля одной обработки функции другой обработки, у вызываемой функции директива компиляции &НаСервере и вызов не происходит "поле объекта не обнаружено"
|
|||
23
GROOVY
26.09.13
✎
16:31
|
(22) Какая в *опу директива компиляции?!
Получаешь обработку как объект? Покажи код. Вызов от куда производишь? Из модуля формы или из модуля объекта. Телепатов тут бывает, но редко. |
|||
24
GROOVY
26.09.13
✎
16:33
|
Модуль обработки1:
Процедура ВызватьФункцию() Обработка2 = Обработки.Обработка2.ПолучитьОбъект(); А = обработка2.ИмяВызываемойФункции(); КонецПроцедуры ----------------------------------------------- Модуль обработки2 Функция ИмяВызываемойФункции() Экспорт Возврат 1; КонецФункции |
|||
25
ender10
26.09.13
✎
16:34
|
вызов из модуля одной обработки функции
не надо быть телепатом, чтобы понять модуль обработки это модуль объекта код Обработка = Обработки.НастройкаПараметровОтчетовПоУмолчанию.Создать(); Обработка.ВерсияОрганизационнойСтруктуры = Процесс.ВерсияОрганизационнойСтруктуры; Обработка.ПериодОтчета = Процесс.ПериодСценария; Обработка.Сценарий = Процесс.Сценарий; Обработка.Инициализация(); ЕстьОшибки = Ложь; ТаблицаВыверки = Обработка.ПолучитьТаблицуПолномочий(, , , , , , ЕстьОшибки); на последней строке ошибка, у ПолучитьТаблицуПолномочий стоит директива &НаСервере |
|||
26
GROOVY
26.09.13
✎
16:37
|
ПолучитьТаблицуПолномочий - это функция в модуле обработки/объекта? И там стоит директива компиляции?
|
|||
27
ender10
26.09.13
✎
16:42
|
именно
|
|||
28
GROOVY
26.09.13
✎
16:43
|
(27) Я конечно сейчас идиотом полным покажусь, но нафига там директива компиляции?!
|
|||
29
eklmn
гуру
26.09.13
✎
16:44
|
(28) а это писайтелей консолидайии надо спросить я так полагаю :)
|
|||
30
ender10
26.09.13
✎
16:45
|
обработка типовая, не могу сказать зачем
|
|||
31
Feunoir
26.09.13
✎
16:51
|
(30) Покажи код определения функции ПолучитьТаблицуПолномочий. И пару-тройку строк до/после.
|
|||
32
Feunoir
26.09.13
✎
16:52
|
+(30) и какой релиз платформы/режим запуска
|
|||
33
ender10
26.09.13
✎
16:58
|
запуск в обычном приложении
18.109 платфомра |
|||
34
ender10
26.09.13
✎
16:58
|
кода много, строк 200
|
|||
35
Shrek_yar
26.09.13
✎
16:59
|
(33)на пустой пробовал?
у меня все вызывает
|
|||
36
Shrek_yar
26.09.13
✎
17:00
|
|
|||
37
Feunoir
26.09.13
✎
17:03
|
(34) да всю не нужно. только шапку
|
|||
38
YF
26.09.13
✎
17:03
|
А текст ошибки увидим?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |