|
Получение табличного документа через COM соединение. | ☑ | ||
---|---|---|---|---|
0
cojko
03.12.14
✎
10:53
|
Добрый день.
Подскажите, можно ли получить Табличный документ из другой базы через COM соединение? ДокОб = Соединение.Документы._ЗаказИнтернетМагазина.НайтиПоНомеру(НомерВх, ДатаВх).ПолучитьОбъект(); ТабДок = ДокОб.ПечатьОтборочныйЛист(); Такой код выдает ошибку: {ОбщийМодуль.БИТ_Общий.Модуль(302)}: Метод объекта не обнаружен (ПечатьОтборочныйЛист) ТабДок = ДокОб.ПечатьОтборочныйЛист(); |
|||
1
Остап Сулейманович
03.12.14
✎
10:54
|
Через КОМ ходят только простые типы + КомОбъект (который не может быть табличный документ).
|
|||
2
Остап Сулейманович
03.12.14
✎
10:55
|
+ (1) Описалово ошибки к передаче ТД через КОМ ни какого отношения не имеет.
|
|||
3
cojko
03.12.14
✎
10:55
|
(1) Спасибо. Что тогда можно использовать?
|
|||
4
Остап Сулейманович
03.12.14
✎
10:57
|
(3) Самый безгеморый - заполнить ТД (там) - записать в файл (там) - открыть файл (здесь).
|
|||
5
Остап Сулейманович
03.12.14
✎
10:58
|
+ (4) Можно использовать сериализацию и передать ТД в виде строки ХМЛ.
|
|||
6
dk
03.12.14
✎
11:07
|
(1) скорее всего ошибаешься
(0) а что ты с этим таб документом дальше делать собираешься? |
|||
7
cojko
03.12.14
✎
11:09
|
(6) Отправить на печать
|
|||
8
DrWatson
03.12.14
✎
11:11
|
(7) Не открывая, сразу на печать? А на прямую из COM на печать не отправляется?
|
|||
9
dk
03.12.14
✎
11:11
|
тогда может прокатит
а вот с предпросмотром могут проблемы возникнуть --- осталось разобраться почему метод объекта не обнаружен |
|||
10
cojko
03.12.14
✎
11:14
|
(9) Предпросмотр не нужен. Попробую отправить на печать из com соединения.
|
|||
11
dk
03.12.14
✎
11:17
|
не по кому этот код отрабатывает?
|
|||
12
cojko
03.12.14
✎
11:19
|
(11) Да, отрабатывает.
|
|||
13
DrWatson
03.12.14
✎
11:20
|
(9) Экспорт на функции стоит?
|
|||
14
cojko
03.12.14
✎
11:22
|
(13) Экспорт стоит
|
|||
15
dk
03.12.14
✎
11:22
|
проверь что у тебя в ДокОб возвращает, может не находит документ
|
|||
16
cojko
03.12.14
✎
11:24
|
(15) Вот, что возвращается.
ДокОб COMОбъект COMОбъект AdditionalProperties COMОбъект COMОбъект BelongingToSequences COMОбъект COMОбъект DataExchange COMОбъект COMОбъект DataVersion Ошибка чтения значения Date 02.12.2014 19:11:36 Дата DeletionMark Ложь Булево InputXML "" Строка Number "204-1056" Строка Posted Истина Булево Ref COMОбъект COMОбъект RegisterRecords COMОбъект COMОбъект ThisObject COMОбъект COMОбъект АдресДоставки "" Строка АдресЕМС "" Строка АдресЗаМКАДом Ложь Булево ВидДоставки COMОбъект COMОбъект ВидОплаты COMОбъект COMОбъект ВремяДоставкиКонец 01.01.0001 0:00:00 Дата ВремяДоставкиНачало 01.01.0001 0:00:00 Дата ДатаБлокировки 01.01.0001 0:00:00 Дата ДатаОбработкиДокумента 01.01.0001 0:00:00 Дата Заблокирован Ложь Булево ИнформационнаяКарта COMОбъект COMОбъект ИнформационныеКарты COMОбъект COMОбъект КодЗаказаКС "" Строка Количество 1 Число Комментарий "" Строка КомплектыДокументов COMОбъект COMОбъект Контрагент COMОбъект COMОбъект КурьерскаяСлужба COMОбъект COMОбъект МагазинСамовывоза COMОбъект COMОбъект НомерВнутр 1 056 Число НомерЕМС "" Строка НомерЗаказаВЕБ "204-1052" Строка НомерЗаказаКС "" Строка Организация COMОбъект COMОбъект Ответственный COMОбъект COMОбъект Отгрузка 01.01.0001 0:00:00 Дата ПКО COMОбъект COMОбъект ПоступлениеВБК COMОбъект COMОбъект ПредпочтительноеВремяДоставки "" Строка РеализацияНаБК COMОбъект COMОбъект РеализацияНаКлиента COMОбъект COMОбъект СкидкаСуммой 0 Число Склад COMОбъект COMОбъект СтоимостьДоставки 0 Число СуммаДокумента 1 000 Число СуммаДокументаВЕБ 290 Число Товары COMОбъект COMОбъект ФормироватьДокументыТекущейДатой Истина Булево ХарактеристикаНоменклатуры COMОбъект COMОбъект ЯрлыкКурьерскойСлужбы COMОбъект COMОбъект кмОтМКАД 0 Число мБезПроверкиЗаполнения Ложь Булево мВалютаРегламентированногоУчета COMОбъект COMОбъект мНовыйСтатус Неопределено термМагазин COMОбъект COMОбъект термПродавец COMОбъект COMОбъект |
|||
17
dk
03.12.14
✎
11:30
|
объект есть
проверь какие директивы стоят перед функцией ПечатьОтборочныйЛист() |
|||
18
cojko
03.12.14
✎
11:35
|
(17) Не понял, что проверить.
|
|||
19
Остап Сулейманович
03.12.14
✎
11:40
|
(18) Поясняю : определение "ПечатьОтборочныйЛист()" - в студию
|
|||
20
DrWatson
03.12.14
✎
11:44
|
(13) В каком модуле находится ПечатьОтборочныйЛист()?
|
|||
21
Остап Сулейманович
03.12.14
✎
11:45
|
(20) С учетом (12) - в модуле объекта.
|
|||
22
ВРедная
03.12.14
✎
11:47
|
(18) где-то перед ПечатьОтборочныйЛист() в коде встречается
"#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда" ? |
|||
23
cojko
03.12.14
✎
11:47
|
(20) ПечатьОтборочныйЛист() находится в модуле документа.
|
|||
24
cojko
03.12.14
✎
11:49
|
(17) (22)
#Если НаКлиенте Тогда Функция ПечатьОтборочныйЛист() Экспорт |
|||
25
Serginio1
03.12.14
✎
11:55
|
Через сохранение в файл через Сериализацию
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.2/data/spreadsheet}. Имя типа XDTO: SpreadsheetDocument. |
|||
26
Serginio1
03.12.14
✎
11:59
|
(0) Проверь на синаксис установив Сервис-Параметры-Модули-Проверка галку внешнее соединение
|
|||
27
dk
03.12.14
✎
12:02
|
а у тебя ВнешнееСоединение вместо Клиента
|
|||
28
cojko
03.12.14
✎
12:06
|
(27) Можно просто закоментировать?
|
|||
29
cojko
03.12.14
✎
12:10
|
Я теперь пытаюсь обратится к процедуре Печать() документа из общего модуля, тоже пишет, что метод объекта не обнаружен.
|
|||
30
DrWatson
03.12.14
✎
12:11
|
(29) ну значит там тоже есть инструкции препроцессора
|
|||
31
DrWatson
03.12.14
✎
12:12
|
(28) менее радикально будет написать
#Если НаКлиенте ИЛИ ВнешнееСоединение Тогда Но потом (26) |
|||
32
cojko
03.12.14
✎
12:12
|
(29) это я ошибся.
|
|||
33
DrWatson
03.12.14
✎
12:13
|
+(31) потому что скорее всего не зря поставили инструкцию "только на клиенте"
|
|||
34
cojko
03.12.14
✎
12:23
|
Я почти сделал методом (8).
Как обратиться через COM к процедуре из общего модуля второй базы. Соединение.ПечатьБИТ.ПечатьБланкаПодбора(НомерВх, ДатаВх); Выдает такую ошибку. Произошла исключительная ситуация (1C:Enterprise 8.3.5.1119): Ошибка инициализации модуля: Документ._ЗаказИнтернетМагазина {Документ._ЗаказИнтернетМагазина(806,10)}: Переменная не определена (РаботаСДиалогами) |
|||
35
cojko
03.12.14
✎
12:26
|
Я так понял, что к общему модулю другой базы я подключился, но там не все функции отрабатывают.
|
|||
36
dk
03.12.14
✎
12:28
|
интерактив низзя
|
|||
37
Serginio1
03.12.14
✎
12:35
|
Есть еще вариант. v8: печать через веб-сервис
|
|||
38
cojko
03.12.14
✎
12:39
|
Все таки через COM Табличный документ передается.
|
|||
39
cojko
03.12.14
✎
12:40
|
Теперь проблема его вывести.
|
|||
40
Остап Сулейманович
03.12.14
✎
12:42
|
(38) Не передается. Передается КОМобъект с ПРОСТЫМИ свойствами твоего табличного документа. Для составных имеем очередной КОМобъект. И так далее вниз иерархии.
|
|||
41
cojko
03.12.14
✎
12:44
|
Вот у меня и получилось, что вместо Табличного документа я получил Com объект, что с ним дальше делать.
|
|||
42
Остап Сулейманович
03.12.14
✎
12:50
|
(41) см. (4), (5), (25).
|
|||
43
cojko
03.12.14
✎
12:54
|
(42) этот метод еще не пробывал.
Сейчас пытаюсь отправить на прямую печать табличный документ из базы к которой присоединяюсь. ТабДокумент.Напечатать () Ошибка при вызове метода контекста (Напечатать) Метод недоступен на сервере |
|||
44
cojko
03.12.14
✎
12:54
|
Каким еще можно методом?
|
|||
45
dk
03.12.14
✎
12:59
|
с напечатать засада
таки придется сохранять и открывать тут |
|||
46
DrZombi
гуру
03.12.14
✎
13:02
|
(0) Запиши макет в файл MXL. И потом открой его, и делай с ним шо хошь.
|
|||
47
Остап Сулейманович
03.12.14
✎
13:03
|
(45) Может случиться засада и в таком варианте. Если "там" и "здесь" - разные машинки с разными правами доступа к файловым ресурсам. Самый надежный и универсальный - сериализовать там и десериализовать здесь.
|
|||
48
DrZombi
гуру
03.12.14
✎
13:03
|
+(0) Либо в конфигураторе пропиши функцию печати, без получения макета :)
|
|||
49
DrZombi
гуру
03.12.14
✎
13:04
|
(47) Разного не будет, Ком то один :)
|
|||
50
DrZombi
гуру
03.12.14
✎
13:05
|
+(48) функцию в Общем модуле. (если не будет работать в документе) :)
|
|||
51
cojko
03.12.14
✎
13:55
|
(50) Приведи, пожалуйста, пример
|
|||
52
cojko
03.12.14
✎
14:12
|
через сохранения файла получилось.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |