Имя: Пароль:
1C
1С v8
Вопрос по реквизитам формы
0 murzo1
 
20.01.12
15:19
Нужно на основании одного документа, заполнить другой документ:


   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ПеремещениеТоваровВПроизводство.Ссылка КАК ПеремещениеТоваровВПроизводство,
   |    ПеремещениеТоваровВПроизводство.ДокументОснование КАК ДокументОснованиеПеремещениеТоваровВПроизводство,
   |    ИзвлечениеТоваровИзПроизводства.Ссылка КАК ИзвлечениеТоваровИзПроизводства,
   |    ИзвлечениеТоваровИзПроизводства.ДокументОснование КАК ДокументОснованиеИзвлечениеТоваровИзПроизводства
   |ИЗ
   |    Документ.ПеремещениеТоваровВПроизводство КАК ПеремещениеТоваровВПроизводство
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ИзвлечениеТоваровИзПроизводства КАК ИзвлечениеТоваровИзПроизводства
   |        ПО ПеремещениеТоваровВПроизводство.ДокументОснование = ИзвлечениеТоваровИзПроизводства.ДокументОснование
   |ГДЕ
   |    ПеремещениеТоваровВПроизводство.ДокументОснование = &ДокументОснование
   |    И ПеремещениеТоваровВПроизводство.Проведен";
   Запрос.УстановитьПараметр("ДокументОснование", ЭлементыФормы.ЗаказНаряды.ТекущаяСтрока.Документ);
   Запрос.УстановитьПараметр("ДокументОснование", ЭлементыФормы.ЗаказНаряды.ТекущаяСтрока.Документ);
   
   Результат = Запрос.Выполнить().Выгрузить();
   
   Для Каждого Стр Из Результат Цикл
       Для Каждого СтрПеремВП Из Стр.ПеремещениеТоваровВПроизводство.Товары Цикл
           Если Элемент.ТекущаяСтрока.Номенклатура = СтрПеремВП.Номенклатура Тогда
               
               Если ЗначениеЗаполнено(Стр.ИзвлечениеТоваровИзПроизводства) Тогда
                   ДокументОбъектИТИП = Стр.ИзвлечениеТоваровИзПроизводства.ПолучитьОбъект();
                   СтрИТИП = ДокументОбъектИТИП.Товары.Добавить();
                   ЗаполнитьЗначенияСвойств(СтрИТИП, СтрПеремВП);
               Иначе
                   ДокументОбъектИТИП = Документы.ИзвлечениеТоваровИзПроизводства.СоздатьДокумент();
                   ДокументОбъектИТИП.Заполнить(Стр.ПеремещениеТоваровВПроизводство);
                   ДокументОбъектИТИП.ДокументОснование = ЭлементыФормы.ЗаказНаряды.ТекущаяСтрока.Документ;
               КонецЕсли;
               
               ФормаДокументИТИП = ДокументОбъектИТИП.ПолучитьФорму("ФормаДокумента");
               ФормаДокументПТВП = Стр.ПеремещениеТоваровВПроизводство.ПолучитьФорму("ФормаДокумента");
               ФормаДокументИТИП.СвойствоПолучил = ФормаДокументПТВП.СвойствоОтпустил;
               
               ДокументОбъектИТИП.Записать(РежимЗаписиДокумента.Запись);
               
           КонецЕсли;
       КонецЦикла;
   КонецЦикла;



но реквизиты СвойствоОтпустил и СвойствоПолучил  это реквизиты форм, вот как мне из одно формы выцепить реквизит и чтобы пихнуть его в другую форму?
1 John83
 
20.01.12
15:20
посмотреть, как они заполняются?
2 murzo1
 
20.01.12
15:22
(1) вручную, а что?
3 John83
 
20.01.12
15:27
(1) да я тоже, что ничего :)
4 Buster007
 
20.01.12
15:30
хм... ) странный вопрос. раз это реквизиты формы и нигде они не хранятся, значит они заполняются на основании каких-то других данных, а если нет, то какой смысл их переносить в другой документ раз они всё равно ничего не значат?...
5 Maxus43
 
20.01.12
15:31
(2) реквизит формы точно? он в базу не пишется. где-то хранится должен же, а в ПриОткрытии() например заполняться на форме
6 murzo1
 
20.01.12
15:52
(5) ясно, спасибо