Различия

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

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

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