|
Как получить внешнюю обработку из встроенной обработки | ☑ | ||
---|---|---|---|---|
0
_Natsha_
21.03.12
✎
11:19
|
Суть вот в чем: есть регл задание, в модуле которого вызывается обработка выгрузки данных (в общем модуле стоят галки Сервер, Клиент,Внешнее соединение):
ОбработкаВыгрузки = Обработки.ВыгрузкаДанных.Создать(); ОбработкаВыгрузки.ВыполнитьВыгрузку(); В процедуре ВыполнитьВыгрузку() происходит поиск другой внешней обработки в справочнике и затем выгрузка данных: Процедура ВыполнитьВыгрузку() Экспорт Обработка= Справочники.ВнешниеОбработки.НайтиПоНаименованию("Выгрузка в CSV"); ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); ФормаОбработки = ВнешниеОбработки.ПолучитьФорму(ИмяФайла); ФормаОбработки.ЗаполнитьЕдиницыИзмерения(); ФормаОбработки.ЗаполнитьСклады(); ..... .....далее идет выгрузка в csv из этой обработки и отправка файлов по почте не могу получить ФормуОбработки. Надо видимо разделить &НаСервере,&НаКлиенте, но никак не получается... Подскажите... |
|||
1
sanja26
21.03.12
✎
11:21
|
ВыполнитьВыгрузку() процедура обработки ведь
|
|||
2
Axel2009
21.03.12
✎
11:21
|
ВнешниеОбработкиМенеджер (ExternalDataProcessorsManager)
Создать (Create) Вариант синтаксиса: По имени файла Синтаксис: Создать(<ПолноеИмяФайла>, <БезопасныйРежим>) Параметры: <ПолноеИмяФайла> (обязательный) Тип: Строка. Полное имя файла внешней обработки. <БезопасныйРежим> (необязательный) Тип: Булево. Признак создания внешней обработки в безопасном режиме. Если параметр не указан, внешняя обработка будет работать в безопасном режиме. Значение по умолчанию: Истина Вариант синтаксиса: По имени обработки Синтаксис: Создать(<Имя>) |
|||
3
_Natsha_
21.03.12
✎
11:24
|
(1)Да, это процедура во встроенной обработке
|
|||
4
sanja26
21.03.12
✎
11:26
|
(3)и форму обработки ты получаешь в модуле объекта?
|
|||
5
_Natsha_
21.03.12
✎
11:28
|
(4)да, в модуле объекта встроенной обработки получаю ещё форму внешней обработки
|
|||
6
m-serg74
21.03.12
✎
11:48
|
(21) >ФормаОбработки = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
а вот это правильно "ИмяФайла", там же случайный темповский файло будет? |
|||
7
m-serg74
21.03.12
✎
11:48
|
(6) для (0)
|
|||
8
_Natsha_
21.03.12
✎
11:53
|
(6)если я обработку ВыгрузкаДанных встроенную сохраняю как внешнюю и запускаю, то все норм проходит. но как только запускается регл задание и вызывает уже встроенную обработку, то программа не может получить форму внешней обработки
|
|||
9
m-serg74
21.03.12
✎
11:58
|
(8) ну
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); ФормаОбработки = ВнешняяОбработка.ПолучитьФорму(); дальше .... |
|||
10
Axel2009
21.03.12
✎
12:00
|
прав нет на файловые операции
|
|||
11
_Natsha_
21.03.12
✎
12:01
|
(9)ПОлучитьФорму() не срабатывает
|
|||
12
m-serg74
21.03.12
✎
12:02
|
(11) ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
у тебя этого нет а получить форму из файла 1Сина не умеет |
|||
13
Axel2009
21.03.12
✎
12:04
|
(12) хы.. умеет.. =) сам тока что увидел
|
|||
14
m-serg74
21.03.12
✎
12:07
|
извиняюсь был не прав...
|
|||
15
m-serg74
21.03.12
✎
12:35
|
может проблема в том что регл. задания выполняются на сервере, а там Формы нельзя использовать, кстати непонятно зачем ТСу форма, если пользовать ее будет регл. задание?
|
|||
16
БибиГон
21.03.12
✎
12:42
|
(15) +100
в форме находятся нужные процедуры. Нужно перенести их в модуль объекта и вызывать их из модуля. |
|||
17
_Natsha_
21.03.12
✎
12:43
|
написала вот так:
ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = Обработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла); ФормаОбработки = ВнешняяОбработка.ПолучитьФорму("Форма"); ошибок никаких при выполнении регл задания не выдается, пишет , что задагние выполнено но при этом ничего не происходит, хотя если опять как внешнюю запускаю, то все выгружается вот код, который написан далее, каталог не создается(: МассивПУтейФайлов = Новый Массив; Каталог = СокрЛП("D:\Bases1С8\Vigruzka\"+ Строка(Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd"))); ФормаОбработки.ЭлементыФормы.ВыборПапки.Значение = Каталог; СоздатьКаталог(ФормаОбработки.ЭлементыФормы.ВыборПапки.Значение); КнопкаВыполнить = ФормаОбработки.ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ОсновныеДействияФормыВыполнить; |
|||
18
_Natsha_
21.03.12
✎
12:43
|
(15)наверное, именно из-за этого, но как по другому сделать не знаю(
|
|||
19
m-serg74
21.03.12
✎
12:46
|
ну как (16) сказал все из формы перенести в модуль... попробуй обработку свою выложить, если не замороченная помогу...
|
|||
20
m-serg74
21.03.12
✎
12:47
|
а лучше обе
|
|||
21
_Natsha_
21.03.12
✎
12:50
|
||||
22
m-serg74
21.03.12
✎
13:05
|
тестовое задание что ли? извини убивать время на разбор чего там ваще происходит не тема(((
|
|||
23
_Natsha_
21.03.12
✎
13:13
|
(22)нет, не тестовое
|
|||
24
m-serg74
21.03.12
✎
13:28
|
непонятно что из того что есть в этой обработке нужно что нет, в смысле выгружать если все что там заполняется, то не 5 минутное дело переделать ее
|
|||
25
m-serg74
21.03.12
✎
13:31
|
легче подключиться в нужное время и запустить вручную)))
|
|||
26
Axel2009
21.03.12
✎
13:40
|
(23) что из слов в (10) не понятно?
|
|||
27
_Natsha_
21.03.12
✎
14:00
|
(24)выгружать все, что там есть, получается 7 отчетов
|
|||
28
m-serg74
21.03.12
✎
14:18
|
значит надо Выгрузку не через регл. задание, а через какую нить реализацию "По таймеру" запускать от имени "живого" пользователя, т.е. интерактивно... или внимательно (значит не быстро) переделать в чистый код без Форм...
|
|||
29
Axel2009
21.03.12
✎
14:27
|
(28) при чем тут это?
|
|||
30
m-serg74
21.03.12
✎
14:33
|
(29) в серверном модуле можно создавать Формы, Открывать их, нажимать им кнопки? если можно то я не прав)
|
|||
31
m-serg74
21.03.12
✎
15:32
|
например - http://infostart.ru/public/120665/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |