Имя: Пароль:
1C
1С v8
тонкий клиент вызов процедуры на сервере
,
0 slicem
 
26.03.15
09:33
Чота не могу найти как сделать:

Внешний отчет.
Форма отчета управляемая, тонкий клиент.

процедурка в модуле формы:

&НаКлиенте
Процедура Команда1(Команда)
    ПолучитьДанные();
КонецПроцедуры

Не видит процедуру ПолучитьДанные();
Если она объявлена на сервере, независимо от того, помещаю я её в модуль формы или в модуль отчета.

Что я делаю не так?
Как правильно?
1 D_E_S_131
 
26.03.15
09:35
А сама процедура "ПолучитьДанные()" где у тебя в коде? Что-то не видать ее...
2 ShoGUN
 
26.03.15
09:36
(0) В модуле отчета - верю, в модуле формы - чё-то ты свистишь.
3 155153144627
 
26.03.15
09:39
После имени процедуры Экспорт не забыл?
4 zak555
 
26.03.15
09:44
(3) не увидит
5 hawksib
 
26.03.15
09:52
база файловая?
6 slicem
 
26.03.15
10:03
(1) Не стал рисовать, выглядит так
&наCервере
Процедура ПолучитьДанные(команда) Экспорт
    ПодготовитьТаблицуДанных();
КонецПроцедуры

(2) был бы рад ошибаться, но факт

пробовал таскать из формы в объект и обратно, объявлял экспорт.
Один фиг - как появляется &наCервере - её не видно с клиента.

(5) Это каким боком? Пишу на файловой, для удобства.
7 фобка
 
26.03.15
10:05
(6) в модуле объекта просто так не увидит. В модуле формы видит, просто ты об этом не знаешь
8 alexei366
 
26.03.15
10:06
То есть у тя в модуле формы написано так?

&НаКлиенте
Процедура Команда1(Команда)
    ПолучитьДанные();
КонецПроцедуры

&НаCервере
Процедура ПолучитьДанные(команда) Экспорт
    ПодготовитьТаблицуДанных();
КонецПроцедуры

(P.S. "НаCервере" с большой буквы, и екакого фига параметр у "ПолучитьДанные")
9 kosts
 
26.03.15
10:06
Чисто ради проверки попробуй вместо наCервере написать НаCервере
10 happysan
 
26.03.15
10:09
(8)это правильный ответ
11 фобка
 
26.03.15
10:11
(8) не взлетит
12 ShoGUN
 
26.03.15
10:13
(11) Не скомпилируется, но процедуру таки увидит :))
13 slicem
 
26.03.15
10:15
(8) типа того, я её таскаю туда сюда. Параметр ачепятка.
Да и если бы дело было в нём, 1с так бы и скзала.

(9) Не помогло
14 hhhh
 
26.03.15
10:17
(13) а так?

&НаКлиенте
Процедура Команда1(Команда)
    ПодготовитьТаблицуДанных();
КонецПроцедуры
15 ShoGUN
 
26.03.15
10:18
(13) Убери-ка совсем директиву компиляции.
Уверен, что имена вызова и процедуры совпадают? Латинские буквы, например, не закрались куда? Скопипасть одно имя в другое.
16 фобка
 
26.03.15
10:20
(13) как определяешь что не видит?
17 slicem
 
26.03.15
10:29
(16) Процедура или функция с указанным именем не определена (ПолучитьДанные)

(15) самособой, убираю НаСервере, сразу видит, зато не видит ПодготовитьТаблицуДанных();
18 kosts
 
26.03.15
10:31
Все прекрасно видится

&НаКлиенте
Процедура Команда1(Команда)
    
    ПолучитьДанные();
    
КонецПроцедуры

&НаСервере
Процедура ПолучитьДанные()
    
    ПодготовитьТаблицуДанных();
КонецПроцедуры

//&НаСервере
&НаСервереБезКонтекста
Процедура ПодготовитьТаблицуДанных()
    
        
КонецПроцедуры
19 slicem
 
26.03.15
10:37
(18) Тонкий клиент?
20 ShoGUN
 
26.03.15
10:39
(19) Один хрен, тонкий, толстый... Что-то делаешь не так, а что - мне отсюда не видать.
21 Гёдза
 
26.03.15
10:43
наверняка из модуля объекта пытается процедуру вызывать
22 slicem
 
26.03.15
10:43
(20) В натуре глюк какой-то - щас создал с нуля отчет - работает.
23 slicem
 
26.03.15
10:47
(21) не надо инсинуаций
24 hhhh
 
26.03.15
11:03
(23) потому что у тебя в слове &наCервере  8 орфографических ошибок.
25 slicem
 
26.03.15
11:10
размер буков не влияет, щас проверил.
26 ssh2006
 
26.03.15
11:16
(25) верно подметил (24)

в (6) в директиве наCервере у тебя C латинская. Классика.
27 slicem
 
26.03.15
11:59
(26) Точно, вотжеж.