Имя: Пароль:
1C
1С v8
8.2 тонкий клиент. Программное копирование документа.
0 rombombes
 
20.10.11
14:21
Есть дерево на форме, в нем документы, хочу программно скопировать документ и открыть его форму. Видимо есть трудности с пониманием, как правильно это сделать. Как поправить? Вот код:

&НаКлиенте
Процедура КопироватьДокумент(Команда)
   Ссылка    =  Элементы.ДеревоКомандировок.ТекущиеДанные.Командировки;
   ПолучитьСтруктуруДанных(Ссылка);
   
   ОткрытьФорму("Документ.спКомандировки.ФормаОбъекта",СкопированныйДок);
КонецПроцедуры

&НаСервере
Процедура ПолучитьСтруктуруДанных(Ссылка)
   Струк = Новый Структура;
   НовДок = Ссылка.Скопировать();
   ЗначениеВДанныеФормы(НовДок,СкопированныйДок);
КонецПроцедуры
1 Mort
 
20.10.11
14:22
ЗначениеКопирования
2 rombombes
 
20.10.11
14:29
Не пойму как этот параметр использовать. Он может быть при интерактивном копировании доступен?
3 vmv
 
20.10.11
14:43
ПолучитьФорму("Документ.Заказ.ФормаОбъекта",,СсылкаДокументИзДерева).Открыть();
4 rombombes
 
20.10.11
14:49
(3) Открывается форма, но пустая
5 vmv
 
20.10.11
14:51
СсылкаНового = Документы.Заказ.ПолучитьСсылку();
НовыйОбъект = ОбъектМенеджер.СоздатьДокумент();
ЗаполнитьЗначенияСвойств(НовыйОбъект, СсылкаДокументИзДерева.ПолучитьОбъект());
НовыйОбъект.УстановитьНовыйНомер();
НовыйОбъект.УстановитьСсылкуНового(СсылкаНового);

ПолучитьФорму("Документ.Заказ.ФормаОбъекта",,СсылкаНового ).Открыть();

Так пробуй, поправь там списки исключаемых свойств и пр.
6 Mort
 
20.10.11
14:54
Мдя...

ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ЗначениеКопирования", ТвояСсылка);

ОткрытьФорму("Документ.спКомандировки.ФормаОбъекта", ПараметрыФормы );
7 vmv
 
20.10.11
14:54
(4) если пустая, то подумай как перечитать данные объекта, посмотри параметры и т.д. - дальше все проще, познаешь сам - лучше запомнишь. Тут отпишись как получилось, я написал из своих скудных знаний пока в тонком)
8 vmv
 
20.10.11
14:56
(6) но ведь так откроет форму существующего документа, а не скопированного)

За наводку спасибо, теперь все знаем как копировать и открывать новый.
9 rombombes
 
20.10.11
14:56
(6) Спасибо, помогло
vmv - спасибо за попытку!!! )))
10 rombombes
 
20.10.11
14:58
Форма нового документа создается, все правильно
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.