![]() |
![]() |
![]() |
|
Запуск внешней обработки через ОЛЕ | ☑ | ||
---|---|---|---|---|
0
Мисти
05.12.12
✎
14:07
|
Объект_Обработка = БазаОле.ВнешниеОтчеты.Создать(ПутьКОбработке);
Фирма= Объект_Обработка.ОснованаяОрганизацияТекст(); Украла где-то такой кусок. ОснованаяОрганизацияТекст - это функция, описанная в модуле? Или можно в форме? |
|||
1
Kreont
05.12.12
✎
14:08
|
в модуле
|
|||
2
YHVVH
05.12.12
✎
14:09
|
45 лет огооо
|
|||
3
Schwonder
05.12.12
✎
14:09
|
Не взлетит.
|
|||
4
Serginio1
05.12.12
✎
14:10
|
||||
5
Мисти
05.12.12
✎
14:15
|
(4) Вау! Спасибо!
|
|||
6
Serginio1
05.12.12
✎
14:16
|
Тьфу не то. Это функция модуля. Для формы нужно получить форму.
|
|||
7
Serginio1
05.12.12
✎
14:20
|
6+ Объект_Обработка = БазаОле.ВнешниеОтчеты.ПолучитьФорму(ПолноеИмяФайла,ИмяФормы,Владелец,КлючУникальности);
|
|||
8
Serginio1
05.12.12
✎
14:29
|
При подключении Через COMConnector выдает ошибку
ВОТест=Сервер.ВнешниеОтчеты.ПолучитьФорму(ПутьКОбработке,"ФормаОтчета"); 1C:Enterprise 8.3.2.172: Интерактивные операции недоступны |
|||
9
Мисти
05.12.12
✎
14:43
|
А я уже всё в модуль перенесла!
|
|||
10
Мисти
05.12.12
✎
14:44
|
Еще вопрос (пока все добрые) Зачем бывают реквизиты объекта и еще "просто реквизиты, на отдельной закладке? Чем они отличаются?
|
|||
11
Kreont
05.12.12
✎
14:46
|
Одни общие для обработки, другие собственность конкретной формы
|
|||
12
Мисти
05.12.12
✎
14:51
|
(11) Спасибо!
А у меня обычно только одна форма, вот я и не видела разницы. |
|||
13
Мисти
05.12.12
✎
15:56
|
Объект_Обработка = БазаОле.ВнешниеОтчеты.Создать(ПутьКОбработке) - нет у Базы Оле таких реквизитов.
Ругается! |
|||
14
Мисти
05.12.12
✎
15:57
|
в (4) - для 7!
|
|||
15
Мисти
05.12.12
✎
16:00
|
Ух ты!
Если //БазаОле = Новый COMОбъект("V82.COMConnector"); то не работает, а если БазаОле = Новый COMОбъект("V82.Application"); то получается! |
|||
16
Мисти
05.12.12
✎
16:24
|
ТЗ= Объект_Обработка.ДействияФормыОтчетСформировать(ДатаНач,ДатаКон);
Отработало всё в той базе, а вернулся - сомобъъект. Что делать, если мне надо вернуть таблицу? |
|||
17
Мисти
05.12.12
✎
16:29
|
Еще простой вопрос!
Закрываю обработку, вроде как и та база закрывается, при этом выдает вопрос "закрыть базу?", вопроса не видно, кажется, что всё зависло. Если в настройках той базы указать, чтоб закрывалась без вопросов, то он попадает. но в обычной-то жизни этот вопрос нужен! |
|||
18
Serginio1
05.12.12
✎
16:31
|
Смотри права.
У меня прекрасно работает Сервер=СоздатьОбъект("V83.COMConnector"); Сервер=Сервер.Connect(СтрокаПодключения); ВОТест= Сервер.ВнешниеОтчеты.Создать(ПутьКОбработке); Сообщить(ВОТест.Тест()); Это и есть таблица, только обернутая. Работай с ней как с обычной таблицей, только внутри кроме примитивных типов (чило, строка, дата) будет обернута через ком |
|||
19
Serginio1
05.12.12
✎
16:41
|
Кроме ВнешниеОтчеты есть и ВнешняяОбработка
|
|||
20
Мисти
05.12.12
✎
16:41
|
Новый COMОбъект("V82.COMConnector"); - подключается, но внешних отчетов не находит.
Таб = Новый ТаблицаЗначений; ТЗ= Объект_Обработка.ДействияФормыОтчетСформировать(ДатаНач,ДатаКон,Таб); А в той обработке Таб= Таб2.Скопировать(); Возврат(Таб2);// Юля Ни там, ни там никаких данных нет! |
|||
21
Мисти
05.12.12
✎
16:43
|
Возврат(5) - вернуло мне число!
Ту обработку в той базе запустила - таблица заполняется. ХОЧУ ДАННЫЕ!! Я раньше всегда подключалась к базе и поштучно брала там то, что нужно, а теперь - вот такой фокус. |
|||
22
Мисти
05.12.12
✎
16:44
|
Какой-то фокус, может, волшебные слова, чтоб из комобъекта-таблицы получить столбцы и строчки?
|
|||
23
Serginio1
05.12.12
✎
16:45
|
Таб=БазаОле.NewObject("ТаблицаЗначений");
|
|||
24
Serginio1
05.12.12
✎
16:48
|
Ну в Таб у тебя будет СОМ таблица.
С ней можешь работать так же Для каждого стр из Таб Цикл КонецЦикла Но через Application долго. |
|||
25
Мисти
05.12.12
✎
16:49
|
(23)Это если мне нужна там таблица, а она у меня там уже сформирована, мне нужно, что та внешняя обработка мне ее вернула.
(24) Нет разницы по скорости на моих данных. |
|||
26
Мисти
05.12.12
✎
16:50
|
Таб - это я пыталась в параметры засунуть, ТЗ - то, что возвращает обработка.
Таб - пустой оказалась. |
|||
27
Serginio1
05.12.12
✎
16:53
|
Книга знаний: Архив статей по технологии COM
Сделай тестовую функцию. Заранее заполни данными. Тз на самом деле хранится на стороне сервера, ты только дергаешь методы и свойства через маршалинг. |
|||
28
Мисти
05.12.12
✎
16:55
|
Уря!!! И правда, всё там есть, в моем ТЗ!
Спасибо огромное! (17) еще вопрос остался. |
|||
29
Serginio1
05.12.12
✎
16:59
|
Кстати если в Тз только примитивные типы можешь передавть через сериализованные текст
v8: Выгрузить таблицу в xml Смотри 11 12 |
|||
30
Serginio1
05.12.12
✎
17:06
|
Может версии разные.
Сделай в модуле с флагами внешнее соединение функцию которая будет возвращать внешнюю обработку Функция ВернутьВнешнийОтчет(ПутьКОтчету) Экспорт возврат ВнешниеОтчеты.Создать(ПутьКОтчету); КонецФункции |
|||
31
Serginio1
05.12.12
✎
17:07
|
И ее можно использовать через COMConnector
|
|||
32
Serginio1
05.12.12
✎
17:10
|
Смотри что у тебя в ПередЗавершениемРаботыСистемы и устанавливай нужные флаги через Com соединение
|
|||
33
Serginio1
05.12.12
✎
17:13
|
Например в упп
можно установить БазаОле.ПропуститьПредупреждениеПередЗавершениемРаботыСистемы=истина; |
|||
34
Мисти
05.12.12
✎
23:06
|
(33) Спасибо большое!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |