Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Следующая версия Следующая версия справа и слева
common_all:priemyraboty:ole [2018/08/19 18:32]
alexander [Передача таблицы значений запросу через COM (OLE) соединение]
common_all:priemyraboty:ole [2018/08/19 18:48]
alexander
Строка 147: Строка 147:
  ПерегрузитьТаблицуСОМвТаблицуЗначений(сомНайденыеДоговора,​ НайденыеДоговора);​  ПерегрузитьТаблицуСОМвТаблицуЗначений(сомНайденыеДоговора,​ НайденыеДоговора);​
 </​code>​ </​code>​
 +
 +Еще вариант создания таблицы значений:​
 +<​code>​Таблица = v8.NewObject("​ТаблицаЗначений"​);​
 +Таблица.Колонки.Добавить("​Номенклатура",​ v8.NewObject("​ОписаниеТипов",​ "​СправочникСсылка.Номенклатура"​));​ //
 +КвалификаторСтроки = v8.NewObject("​КвалификаторыСтроки",​ "​100"​);​
 +ДоступныеТипы = v8.NewObject("​ОписаниеТипов",​ "​Строка",​ КвалификаторСтроки);​
 +Таблица.Колонки.Добавить("​КолонкаСтрока",​ ДоступныеТипы);</​code>​
 +
 +
 +==== Варианты получения данных из COM объекта ====
  
 <​code>​Процедура ПерегрузитьТаблицуСОМвТаблицуЗначений(сом_ТЗ,​ ТаблицаРезультатаВрем) <​code>​Процедура ПерегрузитьТаблицуСОМвТаблицуЗначений(сом_ТЗ,​ ТаблицаРезультатаВрем)
Строка 178: Строка 188:
  
 КонецПроцедуры</​code>​ КонецПроцедуры</​code>​
 +//​только для простых данных!//​
 +----
  
 +//​Непроверено://​ ;-)
  
-//Варианты передачи таблицы из базы по COM://+  * Варианты передачи таблицы из базы по COM:
  
 В базе-источнике надо преобразовать ТЗ в строку. В базе-источнике надо преобразовать ТЗ в строку.
Строка 203: Строка 216:
 ТЗРез = ЗначениеИзСтрокиВнутр(ТЗРезультатСтр);​ // Преобразуем из Строки в ТаблицаЗначений</​code>​ ТЗРез = ЗначениеИзСтрокиВнутр(ТЗРезультатСтр);​ // Преобразуем из Строки в ТаблицаЗначений</​code>​
  
-Перенести ссылки из другой базы можно:+  * Перенести ссылки из другой базы можно:
  
 <​code>​ОбъектТекущейБД = ЗначениеИзСтрокиВнутр(COMСоединение.ЗначениеВСтрокуВнутр(COMОбъект))</​code>​ <​code>​ОбъектТекущейБД = ЗначениеИзСтрокиВнутр(COMСоединение.ЗначениеВСтрокуВнутр(COMОбъект))</​code>​
Строка 213: Строка 226:
 <​code>​ОбъектТекущейБД = Справочники.СтатьиЗатрат.НайтиПоНаименованию(COMОбъект.Наименование)</​code>​ <​code>​ОбъектТекущейБД = Справочники.СтатьиЗатрат.НайтиПоНаименованию(COMОбъект.Наименование)</​code>​
 если ни идентификатор вида объекта ни ссылка на объект не совпадают,​ то остается поиск по коду, наименованию и прочим полям. если ни идентификатор вида объекта ни ссылка на объект не совпадают,​ то остается поиск по коду, наименованию и прочим полям.
 +----
 +
  
  
Строка 362: Строка 377:
 [[common_all:​ole77|Статья Андрея Егорова про работу с 7.7 через OLE соединение]] [[common_all:​ole77|Статья Андрея Егорова про работу с 7.7 через OLE соединение]]
  
-----￿￿+----��