|
Таблицу-COM объект вставить в запрос | ☑ | ||
---|---|---|---|---|
0
ЕлАнКо
23.12.13
✎
13:11
|
Добрый день! Подскажите, как вставить в запрос таблицу, являющуюся COM объектом?
|
|||
1
Wobland
23.12.13
✎
13:12
|
никак
|
|||
2
Wobland
23.12.13
✎
13:13
|
я у себя преврашал такое в родную ТЗ с родными ссылками
|
|||
3
Wobland
23.12.13
✎
13:13
|
а без фото совсем браться не стоит
|
|||
4
ЕлАнКо
23.12.13
✎
13:14
|
(1) а, преобразовать в таблицу значений (желательно безе перебора, если не ошибаюсь именно у вы писали, что есть такой способ)?
|
|||
5
ДенисЧ
23.12.13
✎
13:15
|
(4) только перебор, только хардкор
|
|||
6
Wobland
23.12.13
✎
13:15
|
(4) не знаю, что я там писал, но способ есть
|
|||
7
ЕлАнКо
23.12.13
✎
13:16
|
(6) можете поделиться?
|
|||
8
Wobland
23.12.13
✎
13:16
|
(5) или немного магии
|
|||
9
Wobland
23.12.13
✎
13:17
|
ТаблицаПродаж=ПолучитьТаблицуПродаж(ДатаНачала, ДатаОкончания); //КОМ
стрТаблицаПродаж=Астор.ЗначениеВСтрокуВнутр(ТаблицаПродаж); ТЗ=ЗначениеИзСтрокиВнутр(стрТаблицаПродаж); //родная ТЗ |
|||
10
sapphire
23.12.13
✎
13:17
|
(5) Фи, сериализация в xml десереализация в ТЗ
|
|||
11
ДенисЧ
23.12.13
✎
13:18
|
(10) какая пошлость...
|
|||
12
ЕлАнКо
23.12.13
✎
13:33
|
(9) что-то не получается, что не так:
Результат = Запрос.Выполнить().Выгрузить(); //КОМ Временно = ЗначениеВСтрокуВнутр(Результат); Результат1 = ЗначениеИзСтрокиВнутр(Временно); В результате получаю Результат1 Неопределено |
|||
13
Wobland
23.12.13
✎
13:35
|
(12) попробуй ещё раз
|
|||
14
Serginio1
23.12.13
✎
13:39
|
Проще использовать внешние отчеты на стороне сервера и предавать параметры в виде сериализованных данных
v8: Получение ссылки на элемент ПВХ через COM-коннектор |
|||
15
Serginio1
23.12.13
✎
13:40
|
(12) Вообще проще использовать СериализаторXDTO
Только База.ЗначениеВСтрокуВнутр(Результат); |
|||
16
ЕлАнКо
23.12.13
✎
13:41
|
(9) Что такое Астор. в строке
стрТаблицаПродаж=Астор.ЗначениеВСтрокуВнутр(ТаблицаПродаж); |
|||
17
Wobland
23.12.13
✎
13:46
|
(16) Астор=v81.Connect()
|
|||
18
ЕлАнКо
23.12.13
✎
14:00
|
(17) да, уже поняла, но все равно не получается :(. Пишет, что метод объекта не обнаружен. Что же все таки тут не так:
db = Новый COMобъект("V82.COMConnector"); Попытка Источник = db.Connect ("File=""D:\1_Источник"";Usr="""";Pwd="""";"); сообщить("Получилось"); Исключение сообщить("база не открыта"); Возврат; КонецПопытки; Запрос = Источник.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ .............. текст запроса Результат = Запрос.Выполнить().Выгрузить(); Временно = Источник.ЗначениеВСтрокуВнутр(Результат); Результат1 = ЗначениеИзСтрокиВнутр(Временно); |
|||
19
ЕлАнКо
23.12.13
✎
14:03
|
(18) ругается на строку
Временно = Источник.ЗначениеВСтрокуВнутр(Результат); |
|||
20
Wobland
23.12.13
✎
14:06
|
(19) раз ругается, значит она ему не нравится. оно просто так ругаться не станет
|
|||
21
ЕлАнКо
23.12.13
✎
14:08
|
(20) а есть варианты, чем не нравиться?
|
|||
22
Wobland
23.12.13
✎
14:09
|
(21) конечно, есть. оно тебе чёрным шрифтом по белому фону рассказывает
|
|||
23
ЕлАнКо
23.12.13
✎
14:14
|
(22) ответ не впечатлил, так и не понятно, можно реализовать эту задачу как было предложено в (9) или нет?
|
|||
24
Serginio1
23.12.13
✎
14:15
|
ЗаписьXML = ВнешнееСоединение.NewObject("ЗаписьXML");
ЗаписьXML.УстановитьСтроку(); ВнешнееСоединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Результат); ХранилищеВСтроке = ЗаписьXML.Закрыть(); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(ХранилищеВСтроке); Тз = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); |
|||
25
Wobland
23.12.13
✎
14:16
|
(23) ну я ж сделал
|
|||
26
ЕлАнКо
23.12.13
✎
14:19
|
(25) ну я тоже, переименовала Источник и все пошло, так что спасибо
|
|||
27
ЕлАнКо
23.12.13
✎
14:29
|
(24) Это для меня пока вообще темный лес. Этот способ получает ТЗ, в которой тоже данные только примитивных типов?
|
|||
28
Serginio1
23.12.13
✎
14:37
|
(27) Не только. Только вот обратное преобразование будет не совсем то, если базы не синхронизированы по УИД.
В 24 ты получаешь тз в сериализованном в XML. Вообще 1С длч передачи данных все сериализует в XML. Так в описании ТаблицаЗначений Возможен обмен с сервером. Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: ValueTable. Можешь посмотреть в чем различие строк ЗначениеВСтрокуВнутр СериализаторXDTO.ЗаписатьXML визуально. Они занимаются одним и тем же только по разному. А вот стандарт обмена выбран XML |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |