Имя: Пароль:
1C
 
Что такое модуль обработки с тчк.зрения клиент-сервера (для целей регл.заданий)?
0 Гений 1С
 
гуру
22.09.15
12:20
Есть одна обработка, нужно чтобы она выполнялась в регламентном задании.

В ней код написан в форме (УФ).
Можно ли выполнить код в регл.задании, насколько я понимаю, УФ на сервере создать нельзя, а код в регл.задании выполняется на сервере.

то бишь я попадаю на рефакторинг.

Мне не понятно, в модуле обработки можно писать те же функции, что и в модуле формы? Тоже директивы использовать на клиенте, на сервере? Доступен ли там конекст формы?
1 ДенисЧ
 
22.09.15
12:21
мда....
А книжку прочитать не пробовал?
2 Гёдза
 
22.09.15
12:21
в модуле только сервер
3 Живой Ископаемый
 
22.09.15
12:26
2(2) Да ладно. То есть код процедур будет безусловно выполняться на сервере? Даже в случае обычного приложения и обычных форм?
4 Гений 1С
 
гуру
22.09.15
12:32
(2) сервер - ок, а контекст формы передать можно? т.е. по умолчанию сервер с контекстом? или контекста нет, потому что нет формы. хотя, гм... если формы нет, то только сервер, без контекста, понятно.
5 Гёдза
 
22.09.15
12:33
(3) Зачем ты придумываешь свои дополнительные условия?
Решил режим грама наци включить?
6 Dmitrii
 
гуру
22.09.15
12:34
(0) Тупо перенести код из формы в модуль объекта или модуль менеджера всё равно не получится.

Пример выполнения регламентного задания из обработки можно посмотреть в типовой БСП в обработке УдалениеПомеченныхОбъектов процедура УдалитьПомеченныеОбъектыИзРегламентногоЗадания() в модуле менеджера.

Нафига контекст формы на сервере. В регламентном задании всё равно формы не будет.
7 Гёдза
 
22.09.15
12:34
(4) Можно конечно, но для этого форму нужно вначале на клиенте открыть, а потом из серверной процедуры на форме ее можно передавать куда угодно
8 Dmitrii
 
гуру
22.09.15
12:36
(7) И как регламентное задание откроет форму на клиенте?...
9 Гений 1С
 
гуру
22.09.15
13:11
А как вызвать процедуру модуля из формы? Что то пишу:
Работа(), а она пишет, что процедура не найдена...
10 vicof
 
22.09.15
13:17
(9) Сначала книжку по управляемым формам почитай любую
11 Mankubus
 
22.09.15
13:23
(9) РеквизитФормыВЗначение
12 Живой Ископаемый
 
22.09.15
13:34
2(9) Ну например создай в форме экземпляр обработки
13 VikingKosmo
 
22.09.15
13:37
а нафейхоа рег заданию форма?
14 Гений 1С
 
гуру
22.09.15
13:38
Ндыа, получилось, гыгыгы:

&НаКлиенте
    СоздатьНаСервере();
    

&НаСервере
Процедура СоздатьНаСервере();
    ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
    ОбработкаОбъект.Работа(ЭтаФорма);
КонецПроцедуры

А теперь вопрос - можно как-то в форме отображать ход выполнения без запуска обработки фоновым заданием?

Я передаю УФ параметром, могу менять элементы, но они отрисовываются только после завершения обработки.
15 Гений 1С
 
гуру
22.09.15
13:38
(13) потому что можно запустить вручную, а можно и регл. заданием. Дуализм
16 VikingKosmo
 
22.09.15
13:39
(15) а посмотреть как это реализовано в примерах БСП, не? Там есть обработка, которая работает интерактивно и через рег задание.
17 VikingKosmo
 
22.09.15
13:40
+ (16) никаких контекстов формы на сервер там не передается
18 Гений 1С
 
гуру
22.09.15
13:44
(16) это понятно. других вариантов нет?
19 Гений 1С
 
гуру
22.09.15
13:44
форма заморожена на время выполнения кода на сервере?
20 Cyberhawk
 
22.09.15
13:47
(19) не только форма, а весь клиентский интерфейс при синхронном вызове.
Чтоб не было заморожено, используй асинхронный вызов
21 Гений 1С
 
гуру
22.09.15
13:55
(20) фоновое задание для внешней обработки не запустить, нужно иметь гарантированно метод общего модуля. Думаю, в УТ 11 такой метод есть, но все равно....

А под асинхронным ты подразумеваешь фоновое задание или еще что?
22 Ненавижу 1С
 
гуру
22.09.15
20:48
(0) Гения выгнали с работы... Гений начал думать не гениталиями
23 Cyberhawk
 
23.09.15
08:22
(21)
"фоновое задание для внешней обработки не запустить" // ошибаешься, внешнюю обработку можно подключить к инфобазе в режиме регламентного задания
"под асинхронным ты подразумеваешь фоновое задание или еще что" // https://goo.gl/vYMYLn
24 Гений 1С
 
гуру
23.09.15
15:05
(23) ты немного не понял. Если задача запускается из формы, то как можно запустить регл.задание, если на сервере формы нет.

Про асинхронные вызовы ты предлагаешь опять же решение, которое требует наличия в конфе специальных функций. Увы.
25 Cyberhawk
 
23.09.15
15:35
"Если задача запускается из формы, то как можно запустить регл.задание, если на сервере формы нет"
Конфа на БСП? Если да, то осиль уже подключение внешних обработок туда
26 Гений 1С
 
гуру
23.09.15
17:52
(25) в любом случае это рефакторинг первоначальной обработки, которая работала через форму. или нет?
или на сервере тоже можно создать форму?
27 Cyberhawk
 
23.09.15
19:22
(26) Я хз, как у тебя работала обработка "через форму". "задача запускается из формы" / "работала через форму" мной трактуется именно как ручной запуск некой процедуры - само собой это должно было происходить из формы.
"рефакторинг" - скорее всего да, без написания кода ты вряд ли заставишь внешнюю обработку в типовой конфе заработать по расписанию
"или на сервере тоже можно создать форму?" // конечно можно, у формы даже обработчик есть "ПриСозданииНаСервере", что как бы намекает...
28 Defender aka LINN
 
23.09.15
19:28
Гениталий наткнулся на суровую стену своей компетенции...