Копировать строки таблицы значений #450007


#0 by Полата
Добрый день. Подскажите, можно ли скопировать строки таблицы значений в другую НЕПУСТУЮ таблицу значений без перебора всех колонок? Заранее балгодарю.
#1 by Волшебник
Да
#2 by Полата
Подскажите, пожалуйста, каким образом.
#3 by Икогнито
1.добавить нужные строки в массив 2. Скопировать необходимые колонки из таблицы источника в новую таблицу 3. Перебирая массив использовать функцию ЗаполнитьЗначения
#4 by Икогнито
п. 2 можно опустить, если в таблице приемнике существуют одноименные, совпадающие по типам колонки.
#5 by Икогнито
при желании и п.1 тоже можно пропустить
#6 by ice777
п.3 самый короткий и разумный путь не писать много кода. И без промежуточных таблиц, конечно.
#7 by Полата
ЗаполнитьЗначения(<Значение>, <Колонки>) - заполняет все строки таблицы значений указанным значением.  Мне не надо заполнять имеющиеся строки таблицы источника какими-либо значениями... Или не догоняю чего-то?
#8 by Икогнито
Синтаксис: ЗаполнитьЗначенияСвойств(<Приемник>, <Источник>, <Список свойств>, <Исключая свойства>) Параметры: <Приемник> (обязательный) Тип: Произвольный. Значение, чьи свойства будут заполнены значениями соответствующих свойств <Источника>. <Источник> (обязательный) Тип: Произвольный. Значения свойств данного объекта будут установлены в соответствующие свойства <Приемника>. <Список свойств> (необязательный) Тип: Строка. Список имен свойств, разделенный запятыми, которые необходимо заполнить. <Исключая свойства> (необязательный) Тип: Строка. Список имен свойств, разделенный запятыми, которые необходимо исключить из заполнения. Описание: Копирует значения свойств <Источника> в свойства <Приемника>. Сопоставление производится по именам свойств. Если указаны копируемые свойства, то в заполнении участвуют только они, параметр <Исключая свойства> игнорируется. В противном случае, если указан параметр <Исключая свойства>, то свойства перечисленные в нем, исключаются из обработки.
#9 by Murzz
запросом с использованием временных таблиц делайте. Довольно быстро работает
#10 by Murzz
таблицы значений должны быть типизированными
#11 by Икогнито
ЗаполнитьЗначенияСвойств(СтрокаТЗПриемник, СтрокаТЗИсточник)
#12 by Икогнито
имхо, гемор несусветный
#13 by Шёпот теней
ОбщийМодуль - ОбщегоНазначения : ... возможно это то, что Вы ищите ... ... там есть и :         ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриемника, СтрокаТаблицыИсточника); которую вам советуют в ... ... вот ...
#14 by DUDE
:) Не все работают с типовыми конфами чтобы вот так по ссылке найти процедуру .
#15 by Рэйв
А чем ТЗ2=ТЗ1.Скопировать не устраивает?
#16 by Шёпот теней
ТЗ2=ТЗ1.Скопировать даст полную копию ТЗ а 1. ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриемника, СтрокаТаблицыИсточника); в цикле или 2. ЗагрузитьВТаблицуЗначений(ТаблицаИсточник, ТаблицаПриемник) присоединяет одну таблицу к другой ... ... вот ...
#17 by Рэйв
Не углядел, что в непустую:) Тогда можно так гдето: //--------- только у ТЗ естественно должны колонки совпадать и быть типизированными
#18 by 73
Спорное утверждение. Если добавить надо большое количество строк - наиболее разумно использовать запрос.    Запрос = Новый Запрос("
#19 by TheNewOne
А в клиент-серверном варианте такой запрос не будет ли выполняться на сервере?.
#20 by Рэйв
Вот таких тонкостей фик его знает
#21 by 73
Скорее всего на сервере. Помещать-то куда-то надо. Но при большом количестве строк с точки зрения быстродействия это оправдано. При сотнях тысяч строк - запрос в разы быстрее. При сотнях строк - медленнее. В любом случае, замер производительности рулит.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С