УФ. Как из формы вызвать процедуру модуля обработки, если она на клиенте? #707143


#0 by batmansoft
Добрый день. В форме обработки у меня экспортная процедура, объявленная как на клиенте. При попытке вызывать ее вот так: выдается сообщение "{Форма.ФормаУпр.Форма}: Метод объекта не обнаружен (ВыполнитьЗагрузку) " На сервере сделать ее нельзя, так как в ней выводяться сообщения пользователю. Подскажите пожалуйста, как лечить?
#1 by jsmith82
неизлечимо
#2 by jsmith82
ибо баян порван в трёх местах
#3 by fisher
Сама хотелка неизлечима. А для вывода сообщений пользователю в серверном вызове придумано СообщениеПользователю
#4 by batmansoft
Дык а что, нельзя что ли в модуле обработки делать процедуры на клиенте? Если так, то почему 1С-ниа тогда дает их там объявлять?
#5 by batmansoft
Тоесть, мне надо ВыполнитьЗагрузку делать на сервере, а все "сообщить" и "предупреждение" переписать в СообщениеПользователю? А как быть с "состояние"?
#6 by fisher
Неуместные опции компилятора и препроцессора просто игнорируются. Синтакс-контроль к ним не прикручен.
#7 by hhhh
кому там на сервере может пригодиться ваше состояние?
#8 by andreymongol82
Предлагаю ввести в конфигуратор функциональность, если что-то сделать не так - бить линейкой по пальцам. Два раза.
#9 by fisher
Я вообще не в курсе твоей задачи. Озвучь глобально. Если код полностью клиентский, то никакого смысла исполнять его на сервере ессно нет.
#10 by Поpyчик-4
Ты пограммист ведущий или просто?
#11 by fisher
Ты хочешь сделать что-то типа внешней библиотечки клиентских функций, что ли?
#12 by batmansoft
Задача написать обработку для закачки из правленой ТИС 9.2 в УТ 11. Решил сделать ее на основе уже готовой обработины по закачке из другой правленной ТИС 9.2 в БП 2.0. А эта обработка написана так, что процедура загрузки находиться в модуле и объявлена как экспорт - я всегда так делаю.
#13 by fisher
Ииииии.... Добро пожаловать в мир управляемых форм!
#14 by fisher
В том смысле, что переписывание с обычных форм на управляемые - это нифига не подсказка в двух словах на форуме.
#15 by fisher
А такая "тривиальная" задача как отображение на клиенте прогресса длительной серверной операции - это вообще классика жанра и песня о любви. Оптимальный вариант - фоновое задание. Только недавно копался, как это в БСП реализовано:
#16 by batmansoft
Сделал ВыполнитьЗагрузку на сервере. А она все равно, не вызывается через Объект.ВыполнитьЗагрузку; нету грит такой процедуры.
#17 by batmansoft
мда, звездец, теперь, выходит, что бы показать юзеру ход выполнения операции, придется извратиться через заднее место...
#18 by batmansoft
Зы, спасибо за ссылку
#19 by fisher
РеквизитФормыВЗначение("Объект").ВыполнитьЗагрузку
#20 by fisher
Рекомендую ознакомиться с книжечкой "Разработка управляемого интерфейса". Это не та тема, которая осваивается методом научного тыка.
#21 by fisher
Это честный клиент-сервер, а не как в толстом клиенте. Представь, что обработку ты запускаешь через браузер со своего смартфона, а исполняется она на выделенном сервере в Германии. По-другому это никак не реализуешь.
#22 by batmansoft
Теперь говорит: "{Форма.ФормаУпр.Форма}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)     РеквизитФормыВЗначение("Объект").ВыполнитьЗагрузку; по причине: Метод недоступен на клиенте "
#23 by fisher
Из я предположил, что ты это исполняешь из серверной процедуры формы. Из клиентской напрямую - не получится.
#24 by Поpyчик-4
Не ипи пока себе мозг, а проштудируй книжечку "Разработка управляемого интерфейса". Это не та тема, которая осваивается методом научного тыка.
#25 by batmansoft
а, понял, надо так: &НаКлиенте
#26 by andreymongol82
РеквизитФормыВЗначение - это надо на сервере делать. Взять книжку что в и штудировать!
#27 by batmansoft
#28 by fisher
Ага. Только, возможно, что и нет смысла выносить процедуру загрузки в модуль объекта. Учти, что реквизиты обработки, как в обычных формах, она использовать не сможет. Вернее, сможет, только они пустые будут, т.к. при серверных вызовах сохраняются только данные формы.
#29 by fisher
Т.е. простейший способ перехода - все реквизиты обработки переделываешь на реквизиты формы, а процедуры модуля обработки делаешь серверными процедурами формы. Ну и дальше - вперед, с песней и с книжкой.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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