|
Обычные формы вызов с клиента на сервер ошибка функция не определена | ☑ | ||
---|---|---|---|---|
0
Бешеный заяц
16.10.18
✎
12:26
|
В форме обработки создана процедура которая вызывает функцию "ПечатьТОРГ13()"
Процедура СоздатьЭД() Если ВидДокумента = перечисления.ВидыДокументовЭДО.Торг13 Тогда МакетДокумента = ПечатьТОРГ13(); КонецЕсли; ИмяФйла = КаталогВременныхФайлов()+Строка(ВидДокумента)+СсылкаНаОбъект.Номер+".pdf"; МакетДокумента.Записать(ИмяФйла,"pdf"); Оповестить("ОбновитьФорму",ЭтаФорма , ВладелецФормы); ЭтаФорма.Закрыть(); Конецпроцедуры Функция ПечатьТОРГ13() располложена в модуля объекта обработки с препроцессором на сервере &НаСервере Функция ПечатьТОРГ13() Экспорт Вывел на сервер в смязи с тем что раньше эта процедура была в Модуле менеджера документа и кидала мутабельные значения на сервере соответственно запустить её на кленте без значительной переделки не получиться. Вопрос почему клиент не видит серверную функцию? ведь клиент должен без ограничений вызывать сервер? на УФ это спош и рядом когда процедуры парно создают клиент вызывает сервер, а обратно результат. {Обработка.СозданиеЭД.Форма.Форма.Форма(64,20)}: Процедура или функция с указанным именем не определена (ПечатьТОРГ13) МакетДокумента = <<?>>ПечатьТОРГ13(); |
|||
1
youalex
16.10.18
✎
12:32
|
(0) >>ведь клиент должен без ограничений вызывать сервер?
ЕМНИП, единственный способ из ОФ сходить на сервер - вызов процедуры ОМ с галкой Сервер (и только) |
|||
2
Cyberhawk
16.10.18
✎
12:33
|
Каким препроцессором? Не путай и убери директиву компиляции из ОМ
|
|||
3
Бешеный заяц
16.10.18
✎
12:45
|
(2) {Обработка.СозданиеЭД.МодульОбъекта(196)}: Ошибка при вызове метода контекста (ПредставлениеСерий)
ОбластьМакета.Параметры.ТоварНаименование = ВыборкаСтрокТовары.ТоварНаименование + ФормированиеПечатныхФормСервер.ПредставлениеСерий(ВыборкаСтрокТовары); по причине: Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПредставлениеСерий (). |
|||
4
Бешеный заяц
16.10.18
✎
12:45
|
(3) нужно чать серверных функций к себе в сервер забирать
|
|||
5
Cyberhawk
16.10.18
✎
12:46
|
Конечно, ведь код у тебя на клиенте в толстом клиенте выполняется. А вызываешь ты серверный модуль без флага компиляции "Клиент (ОП)" или без флага "Вызов сервера".
|
|||
6
Cyberhawk
16.10.18
✎
12:47
|
Так что или ставь соотв. флажки у ОМ, либо вызывай доступный толстому клиенту аналог нужного метода, либо структуру вместо выборки передавай
|
|||
7
youalex
16.10.18
✎
12:48
|
(3) Уверен, что тебе нужно передавать именно ВыборкаСтрокТовары
а не ВыборкаСтрокТовары.Номенклатура, например? |
|||
8
Бешеный заяц
16.10.18
✎
12:54
|
(7) нет именно строку документа так как уже непостредственно в функции идет обращение и к номенклатуре и к сериии из этой строки.
Незнал особенности обычных форм, на УФ проще вызовы работают... |
|||
9
Бешеный заяц
16.10.18
✎
12:55
|
значит на клиент переношу функцию...
|
|||
10
catena
16.10.18
✎
13:19
|
"на УФ проще вызовы работают"
Ну вот и дожили. А структура вместо строки не прокатит? |
|||
11
Бешеный заяц
16.10.18
✎
13:33
|
(10) что дожили? в УФ из процедуры на клиенте например Сформировать() вызываю Функцию сервера причем в этой же самой форме, а в обычных только через общий модуль как я понял.
Нет структуру не буду лучше к себе перетащу функцию |
|||
12
catena
16.10.18
✎
13:47
|
(11)До сих пор слышала только вопли, что УФ сложнее))
|
|||
13
Valery
16.10.18
✎
13:58
|
РеквизитФормыВЗначение("Объект").ПечатьТОРГ13() таким чудом
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |