v7: Как программно скопировать строку табличной части документа? #711638


#0 by Dolphinbet
Как программно скопировать строку табличной части документа? Т е добавить новую строку и заполнить реквизиты ТЧ значениями соответствующих реквизитов строки источника (ЗаполнитьЗначения в восьмерке)
#1 by Dolphinbet
т е аналог ЗаполнитьЗначенияСвойств с семере какой-нибудь нужен
#2 by Dolphinbet
похоже я один остался на семерке :(
#3 by NikVars
Метода нет - изобретай. Получай строку и бегай по столбцам в цикле и копируй.
#4 by Dolphinbet
это не будет изобретением велосипеда?
#5 by vcv
Там велосипеда на пяток строк. Если в документе нет реквизитов неопределенного вида/вида.
#6 by Ёпрст
выгрузитьТабличнуючасть - загрузитьТабличнуючасть.. с ТЗ делай че хочешь - копируй, удаляй..
#7 by vcv
У ТЗ есть штатная возможность копирования строки? Или это с ТЗ делается проще, чем с документом?
#8 by NikVars
Будет маленький велосипедик ввиду отсутсвия нужного метода реализованного средствами платформы 7.7.
#9 by Ёпрст
кончно есть, КоличествоСтрок + Заполнить
#10 by NikVars
Нет. Нет.
#11 by Dolphinbet
чтобы скопировать строку нужно выгрузить всю ТЧ документа в таблицу значений? фигасе!
#12 by vcv
Боюсь, таким образом скопируешь только первую строку. Или несколько первых. А как Заполнить скопировать, например, четвертую.
#13 by Ёпрст
не хочешь работать с ТЗ, ничто не мешает бегать по метаданным и копировать через ПолучитьАтрибут-УстановитьАтрибут
#14 by NikVars
Такой подход тоже может быть оправдан в отдельных случаях. Не подходит этот вариант - рубай другим.
#15 by Ёпрст
че как маленький ? Выгрузил во временную че надо, заполнил этими данными что надо.
#16 by vcv
На практике использовать метод типа Заполнить, может оказаться быстрее перебора всех реквизитов МнЧ.
#17 by vcv
Разъяснись. У тебя ТЗ из, например, 10 строк. Нужно скопировать четвертую. Добавляешь новую строку, вызываешь ТЗ.Заполнить(ТЗ,ТЗ.КоличествоСтрок) Получаешь копию первой строки. Как произвольную скопировать?
#18 by Ёпрст
:)))))
#19 by Ёпрст
можно и так написать:
#20 by Ясный перец
В ТиС я прикручивал для подобного сабжу глОбработкаПодбора с параметрами.
#21 by vcv
Точно. Туплю. Совсем уже эти кластера с репликациями голову забили. Публично извиняюсь.
#22 by Dolphinbet
хороший вариант, а можно без выгрузки табличной части в ТЗ, чет мне кажется тормоза будут... выгрузить, потом загрузить обратно
#23 by Ёпрст
можно, см
#24 by Dolphinbet
видел, но как конкретно сделать не понял)
#25 by Ёпрст
Хотя, если в документе у тебя не 100 тыщ строк, то через ТЗ вполне приемлимый вариант
#26 by Dolphinbet
а если хотя бы 1000?
#27 by Ёпрст
Док.НоваяСтрока;
#28 by Ёпрст
это слишком мало, чтоб задумываться о размерах тз.
#29 by Ёпрст
+27 только, нужно еще условие в пихать на Тип реквизита, если он неопределенный - то сперва назначать тии, получив его из значения реквизита источника.
#30 by Ёпрст
Тип глядеть как Метаданные.Документ(НужныйВид).РеквизитТабличнойЧасти(к).Тип
#31 by Dolphinbet
а ДокИсточник это что? у меня модуле формы документа этого же нет)
#32 by Dolphinbet
т е мне нужно как то спозиционироваться на строку источник
#33 by Ёпрст
тебе в самом доке нужна копия ? Тогда так:
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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