|
Регламентное задание. Запуск внешней обработки | ☑ | ||
---|---|---|---|---|
0
БибиГон
11.10.11
✎
11:53
|
Это возможно в УТ10.3 ?
Пишу так Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВнешниеОбработки.Наименование, | ВнешниеОбработки.Ссылка, | ВнешниеОбработки.ХранилищеВнешнейОбработки |ИЗ | Справочник.ВнешниеОбработки КАК ВнешниеОбработки |ГДЕ | ВнешниеОбработки.ВидОбработки = &ВидОбработки | И ВнешниеОбработки.Наименование = &Наименование"; Запрос.УстановитьПараметр("ВидОбработки", Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка); Запрос.УстановитьПараметр("Наименование", Наименование); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Если ВыборкаДетальныеЗаписи.Количество()=0 Тогда Возврат; КонецЕсли; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Двоичныеданные=ВыборкаДетальныеЗаписи.ХранилищеВнешнейОбработки.Получить(); //ВыборкаДетальныеЗаписи.ХранилищеВнешнейОбработки.Получить; Если Двоичныеданные=неопределено Тогда продолжить; КонецЕсли; Если Не ВыборкаДетальныеЗаписи.Наименование="РегламентноеЗадание1" Тогда продолжить; КонецЕсли; Каталог="C:\New Folder"; ИмяФайла = Каталог + "\" + ВыборкаДетальныезаписи.Ссылка.УникальныйИдентификатор() + ".epf"; //ИмяФормы= попытка // Записать двоичные данные в файл ДвоичныеДанные.Записать( ИмяФайла ); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЦикла; ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла,"Форма"); Если Не Форма = Неопределено Тогда Форма.Открыть(); Иначе ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); КонецЕсли; Форма.Закрыть(); УдалитьФайлы(ИмяФайла); В регламентом задании пишет Ошибка при вызове метода контекста (ПолучитьФорму) Сервер не в режиме отладки. Мне это не доступно. Где ошибка? |
|||
1
БибиГон
11.10.11
✎
11:55
|
Этот код в регламентом задании в общем модуле.
|
|||
2
simol
11.10.11
✎
11:55
|
Дык на сервере недоступно ПолучитьФорму
|
|||
3
simol
11.10.11
✎
11:56
|
зачем этот кусок:
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла,"Форма"); Если Не Форма = Неопределено Тогда Форма.Открыть(); Иначе ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); КонецЕсли; Форма.Закрыть(); |
|||
4
БибиГон
11.10.11
✎
11:56
|
А как можно извернуться тогда?
|
|||
5
simol
11.10.11
✎
11:57
|
(4)ответь на (3)
|
|||
6
БибиГон
11.10.11
✎
11:57
|
*зачем этот кусок:
а как запустить внешнюю обработку без формы то? |
|||
7
simol
11.10.11
✎
11:58
|
зачем ее запускать?
|
|||
8
simol
11.10.11
✎
11:58
|
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
ВнешняяОбработка.ТвояМегаПроцедура(СМегаПараметрами); |
|||
9
БибиГон
11.10.11
✎
12:00
|
(8) спасибо, попробую.
|
|||
10
break
11.10.11
✎
12:01
|
+ ТвояМегаПроцедура(СМегаПараметрами) вроде должна быть экспортной
|
|||
11
simol
11.10.11
✎
12:01
|
(9)Только ТвояМегаПроцедура в Модуле обработки ,а не в модуле формы и с Экспорт.
Но все же - нафига? |
|||
12
catena
11.10.11
✎
12:02
|
(6)Тебе кнопочки нажимать или процедуры выполнять?
|
|||
13
catena
11.10.11
✎
12:03
|
(11)В смысле - нафига? у меня все мои регзадания в обработках...
|
|||
14
break
11.10.11
✎
12:04
|
(6) что мешает прописать код обработки в общем модуле?
|
|||
15
catena
11.10.11
✎
12:05
|
(14)Отлаживать удобнее в обработке. И менять на лету.
|
|||
16
simol
11.10.11
✎
12:06
|
(15)Надо так понимать ,что ты еще так не отлаживал.
Сервер у тебя не в Дебаге и пытаешься форму открыть |
|||
17
БибиГон
11.10.11
✎
12:06
|
(15) +100
обновлять конфигурацию неохота каждый раз, тем более РИБ |
|||
18
simol
11.10.11
✎
12:06
|
+(16)попутал с автором
|
|||
19
БибиГон
11.10.11
✎
12:07
|
(12) процедуры выполнять только
|
|||
20
simol
11.10.11
✎
12:07
|
Сервер все равно придется переводить в отладку
|
|||
21
БибиГон
11.10.11
✎
12:07
|
(16) прав, и не в дебаге и регзадания отключены у базы. )
|
|||
22
БибиГон
11.10.11
✎
12:08
|
(20) мне он не доступен
|
|||
23
БибиГон
11.10.11
✎
12:08
|
поэтому буду судить только по результату работы обработки.
|
|||
24
simol
11.10.11
✎
12:08
|
(22)Как же ты отлаживать будешь, Сообщениями?
|
|||
25
simol
11.10.11
✎
12:09
|
Тогда см (8)(11), но если часто вызывается, то тормозить будет
|
|||
26
БибиГон
11.10.11
✎
12:09
|
не часто, максимум 1 раз в день будет вызываться
|
|||
27
БибиГон
13.10.11
✎
00:46
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Двоичныеданные=ВыборкаДетальныеЗаписи.ХранилищеВнешнейОбработки.Получить(); Если Двоичныеданные=неопределено Тогда продолжить; КонецЕсли; Если Не ВыборкаДетальныеЗаписи.Наименование="РегламентноеЗадание1" Тогда продолжить; КонецЕсли; ИмяФайла = ПолучитьИмяВременногоФайла("epf"); попытка ДвоичныеДанные.Записать( ИмяФайла ); Ошибка при вызове метода контекста (Записать). Почему? |
|||
28
БибиГон
13.10.11
✎
00:47
|
Это в регламентном задании
|
|||
29
БибиГон
13.10.11
✎
01:15
|
подскажите в чем может быть проблема?
|
|||
30
catena
13.10.11
✎
07:30
|
(27)А текст ошибки?
|
|||
31
БибиГон
13.10.11
✎
08:24
|
(30) нема :)
запускаю вручную фоновое задание, этот текст выходит в графе ошибки. Там так и написана ошибка. Я не могу отлаживать, режим не дебаг. по другому пишу АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные); ИмяОбработки = Строка(ВыборкаДетальныезаписи.Ссылка.УникальныйИдентификатор() + ".epf"); //ИмяФайла = ПолучитьИмяВременногоФайла("epf"); ИмяФайла = ВнешниеОбработки.Подключить(АдресХранилища, ИмяОбработки ,); попытка ДвоичныеДанные.Записать( ИмяФайла ); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонецЦикла; ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); ВнешняяОбработка.КнопкаВыполнитьНажатие0(); УдалитьФайлы(ИмяФайла); уже другая ошибка вылезла. "Преобразование к типу число не может быть выполнено" :( Подозреваю что обработка из временного хранилища всеже запустилась, теперь в ней править нужно чтото. Когда текст из (1) запускаю внешней обработкой, то все нормально отрабатывало. На сервере сохранять файл в каталог не получилось. ) Буду дальше гадать где ошибка вылезает...это все особенности выполнения кода на сервере. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |