Имя: Пароль:
1C
 
Как при программном копировании документа и открытии его формы, скопировать ТЧ?
0 vicof
 
03.03.15
13:17
Собственно, сабж.

ПараметрыОткрытия = Новый Структура;
    ПараметрыОткрытия.Вставить("Организация", ТекущиеДанные.ДОкумент.Организация);
    ПараметрыОткрытия.Вставить("ОбеспечиваемыеДоговоры", ТекущиеДанные.ДОкумент.ОбеспечиваемыеДоговоры);
    
    ЗначенияЗаполнения = Новый Структура("ЗначенияЗаполнения", ПараметрыОткрытия);

ОткрытьФорму("Документ.фдПоступлениеДополнительногоОбеспечения.Форма.ФормаДокумента", ЗначенияЗаполнения, Элементы.СписокДокументовПоДоговору);

так ругается на передачу данных между клиентом и сервером.
1 butterbean
 
03.03.15
13:22
Элементы.СписокДокументовПоДоговору
это что?
2 vicof
 
03.03.15
13:23
Таблица формы
3 butterbean
 
03.03.15
13:23
а ТекущиеДанные.ДОкумент.ОбеспечиваемыеДоговоры? таб. часть?
4 vicof
 
03.03.15
13:24
ПараметрыОткрытия.Вставить("ОбеспечиваемыеДоговоры", ТекущиеДанные.ДОкумент.ОбеспечиваемыеДоговоры);

Документ - ссылка на документ в этой табличке
ОбеспечиваемыеДоговоры - табличная часть

Мне нужно открыть форму, и ее заполнить этими договорами.

(3) Не, реквизит формы - таблица значений.
5 чувак
 
03.03.15
13:33
а чем не устраивает типовой Скопировать()?
6 vicof
 
03.03.15
13:40
(5)
ДокОбъект = ТекущиеДанные.Документ.ПолучитьОбъект();
    НовыйДокумент = ДокОбъект.Скопировать();
            
    ПараметрыОткрытия = Новый Структура;
    ПараметрыОткрытия.Вставить("Ключ", НовыйДокумент.Ссылка);
    
        ОткрытьФорму("Документ.фдПоступлениеДополнительногоОбеспечения.Форма.ФормаДокумента", ПараметрыОткрытия, Элементы.СписокДокументовПоДоговору);


в этом случае открывается пустая форма, поскольку, видимо, документ не записан в базу.

Чувствую, что где-то туплю.
7 trooba
 
03.03.15
13:44
(6) Есть еще ЗаполнитьЗначенияСвойств()
8 vicof
 
03.03.15
13:50
Надо было так
ОткрытьФорму("Документ.фдПоступлениеДополнительногоОбеспечения.Форма.ФормаДокумента",Новый Структура("ЗначениеКопирования", ТекущиеДанные.Документ));

Всем сочувствующим спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший