|
Внешняя ОбработкаОбъект в общем модуле. Реально? | ☑ | ||
---|---|---|---|---|
0
sereban
23.01.15
✎
15:22
|
Пытаюсь сделать общие модули для передачи ВнешнейОбработки на сервер. Суть такая: пользователь запускает обработку на клиенте, двоичные данные обработки копируются на сервер, после этого на сервере определенным образом используются функции и процедуры и модуля обработки.
Не получается сделать универсально само копирование обработки на сервер, т.к. там используется свойство из ОбработкаОбъект. Вот пример моего кода, который работает в форме: &НаКлиенте Процедура ВыполнитьОбработку(Команда) ДвоичныеДанныеОбработки = Новый ДвоичныеДанные(ПолноеИмяФайлаОбработкиОтчета()); ИмяФайлНаСервере = ПолучитьИмяФайлаОбработкиНаСервере(ДвоичныеДанныеОбработки); СделатьЧтоТоСОбработкойНаСервере(ИмяФайлНаСервере); КонецПроцедуры &НаСервере Функция ПолноеИмяФайлаОбработки() Возврат РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла; КонецФункции Вместо этого должен быть вызов клиентского общего модуля(из клиенсткого будут вызовы серверного). Как-то так: &НаКлиенте Процедура ВыполнитьОбработку(Команда) ИмяФайлНаСервере = ОМ.ПолучитьИмяФайлаОбработкиНаСервере(Объект); СделатьЧтоТоСОбработкойНаСервере(ИмяФайлНаСервере); КонецПроцедуры Но, Объект имеет тип ДанныеФормыСтруктура, и преобразовать в объект его можно только на сервере, а РеквизитФормыВЗначение является методом управляемой формы, которую нельзя передать на сервер. Пытался использовать метод ДанныеФормыВЗначение, но не подходит тип (параметр 2). Возможно как-нибудь реализовать поставленную задачу? |
|||
1
polosov
23.01.15
✎
15:23
|
(0) А зачем это все?
|
|||
2
ДенисЧ
23.01.15
✎
15:24
|
(1) Наверное, жена надоела, а любовниц под рукой нет...
|
|||
3
Garykom
гуру
23.01.15
✎
15:27
|
(0) "...Хрень какая то..."
|
|||
4
sereban
23.01.15
✎
15:40
|
(1) Это нужно для выполнение процедур из модуля обработки в параллельных фоновых заданиях
|
|||
5
Defender aka LINN
23.01.15
✎
15:42
|
(4) Идея перенести эти процедуры в общий модуль не рассматривается?
|
|||
6
ДенисЧ
23.01.15
✎
15:42
|
(4) В БСП посмотреть, как регламентные задания на внешне-встроенных обработках сделаны - не предлагать?
|
|||
7
sereban
23.01.15
✎
15:45
|
(5) Зачастую возникает необходимость выполнения разовых массовых операций по большому количеству Абонентов (база полтерабайта) и применять изменения к базе каждый раз нет возможности (после динамического обновления возникают глюки). Да и зачем в общих модулях разовые процедуры
|
|||
8
sereban
23.01.15
✎
15:53
|
(6) Предложить можно много чего, но мой вариант проще.
Если нельзя в ОМ перенести &НаСервере Функция ПолноеИмяФайлаОбработки() Возврат РеквизитФормыВЗначение("Объект").ИспользуемоеИмяФайла; КонецФункции То будет придется в каждую обработку вставлять эту функцию. Не критично. Но хотелось бы знать, если в контекстном вызове на сервере можно получить ИспользуемоеИмяФайла, то почему нельзя сделать тоже самое в ОМ, передав соответствующие объекты |
|||
9
Defender aka LINN
23.01.15
✎
16:55
|
(7) Для такого у меня специально обученная база есть. Соединяется с другими базами и коварно запускает там обработки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |