|
скопировать элемент справочника в другой справочник | ☑ | ||
---|---|---|---|---|
0
I_learn_1c
18.01.18
✎
15:37
|
День добрый!
Есть задачка. Справочник Спецификации и Спецификации2. Второй создан копированием первого, то есть все реквизиты, табличные части у них одинаковые. Нужно в форме элемента справочника Спецификации2 описать команду(кнопка) по которой этот элемент скопируется в справочник Спецификации. То есть создать новый элемент и переписать в него все данные кроме ссылки. ЭтаФорма.Объект.Ссылка.Скопировать() не подходит так как в новой потом не могу изменить ссылку на ссылку другого справочника. вариант КопияСпецификации=Справочники.Спецификации.СоздатьЭлемент(); ЗаполнитьЗначенияСвойств(КопияСпецификации,ЭтаФорма.Объект.Ссылка,,"Ссылка,Родитель"); КопияСпецификации.Записать(); работает,но не до конца, не переносит табличные части. Может есть еще варианты чтобы не перебирать табличные части циклом? Есть какие-то идеи? |
|||
1
lapinio
18.01.18
✎
15:43
|
Очень странная запись ЭтаФорма.Объект.Ссылка. Если у тебя Упр.интерфейс. Просто объект. И что такое копия спецификации
|
|||
2
lapinio
18.01.18
✎
15:45
|
ЗаполнитьЗначенияСвойств - Не заполняет Табличные части
|
|||
3
1Сергей
18.01.18
✎
15:45
|
ЗаполнитьВащеВсеЗначенияСвойств(
|
|||
4
Мыш
18.01.18
✎
15:50
|
Метаданные()
|
|||
5
I_learn_1c
18.01.18
✎
15:50
|
(1) мне нужно создать копию элемента справочника Спецификации2, и поместить ее в справочник Спецификации.
ЭтаФорма.Объект -ну да, странно.поняла. |
|||
6
I_learn_1c
18.01.18
✎
15:50
|
(2) это я поняла уже до написания вопроса сюда. А что заполняет?
|
|||
7
I_learn_1c
18.01.18
✎
15:51
|
(4) всмысле перебрать все в цикле?
|
|||
8
lapinio
18.01.18
✎
15:53
|
Можешь проще сделать. Объект.Заполнить(Передать реквизиты ) в модуле объекта заполнить.
|
|||
9
Мыш
18.01.18
✎
15:54
|
(7) А как иначе.
|
|||
10
lapinio
18.01.18
✎
15:55
|
И копии спецификации в модуле объекта заполняешь. Процедура обработка заполнения. Я как бы не вижу смысла обходить метаданные. Если универсально сделать тогда да. Если только для этого объекта заполни и все его ТЧ.Загрузить(ТЧ.Выгрузить) итд
|
|||
11
1Сергей
18.01.18
✎
15:56
|
ТЗ = Объект.ТабличнаяЧасть.Выгрузить();
КопияСпецификации.ТабличнаяЧасть.Загрузить(ТЗ); |
|||
12
I_learn_1c
18.01.18
✎
16:07
|
(11) точноо.. спасибо большое)))
остановилась на варианте ниже КопияСпецификации=Справочники.Спецификации.СоздатьЭлемент(); ЗаполнитьЗначенияСвойств(КопияСпецификации,ЭтаФорма.Объект.Ссылка,,"Ссылка,Родитель"); ТЗ = Объект.Состав.Выгрузить(); КопияСпецификации.Состав.Загрузить(ТЗ); ТЗ.Очистить(); ТЗ= Объект.Операции.Выгрузить(); КопияСпецификации.Операции.Загрузить(ТЗ); КопияСпецификации.Записать(); |
|||
13
I_learn_1c
18.01.18
✎
16:08
|
без
ЭтаФорма. |
|||
14
Мыш
18.01.18
✎
16:10
|
(10) Универсально проще.
Для Каждого ТабличнаяЧасть Из ОбъектИлиСсылка.Метаданные().ТабличныеЧасти Цикл ОбъектВКоторыйКопируем[ТабличнаяЧасть.Имя].Загрузить(ОткудаКопируем[ТабличнаяЧасть.Имя].Выгрузить()); КонецЦикла; |
|||
15
I_learn_1c
18.01.18
✎
16:20
|
(14) да, так проще будет. спасибо)
|
|||
16
Серёжа_
программист 19.01.18
✎
05:09
|
(3) Должно сработать ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |