| 
    
        
     
     | 
    
  | 
v7: Как создать и записать документ по образцу? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        heap    
     07.10.11 
            ✎
    10:32 
 | 
         
        Как создать и записать документ по образцу? Не хочется пореквизитно копировать заголовочную часть (много реквизитов). А вот конструкция:
  
        Док=СоздатьОбъект("Документ.РасходнаяНакладная"); Док.Новый(); Док=Образец; Док.Записать(); работать не желает, потому что видите ли "не выбран документ" ((  | 
|||
| 
    1
    
        filh    
     07.10.11 
            ✎
    10:33 
 | 
         
        и правильно!     
         | 
|||
| 
    2
    
        filh    
     07.10.11 
            ✎
    10:34 
 | 
         
        что есть Образец?     
         | 
|||
| 
    3
    
        golden-pack    
     07.10.11 
            ✎
    10:34 
 | 
         
        ЗаполнитьЗначенияСвойств     
         | 
|||
| 
    4
    
        heap    
     07.10.11 
            ✎
    10:34 
 | 
         
        Образец - это такой же (но другой) документ     
         | 
|||
| 
    5
    
        Grusswelle    
     07.10.11 
            ✎
    10:35 
 | 
         
        ...но ход мыслей мне нравится...     
         | 
|||
| 
    6
    
        filh    
     07.10.11 
            ✎
    10:36 
 | 
         
        и есть в типовых:
  
        //****************************************************************************** // глЗаполнитьШапкуНаОсн(Конт, ДокОсн, ВидОперации = "") // // Параметры: // Конт - текущий контекст формы // ДокОсн - документ, на основании которого вводится новый документ // ВидОперации - необязаетельный, строка вида операции ("покупка" или "продажа"), // если не передан, то реквизиты, зависящие от вида операции, не заполняются // // Возвращаемое значение: // Нет // // Описание: // Процедура предназначена для заполнения общих реквизитов документов // Данная функция вызывается в предопределенных процедурах ВводНаОсновании() из // модулей форм всех документов. Процедура выполняет заполнение общих // реквизитов новых документов при вводе на основании. //  | 
|||
| 
    7
    
        filh    
     07.10.11 
            ✎
    10:36 
 | 
         
        А в 8-ке это реализовано?     
         | 
|||
| 
    8
    
        heap    
     07.10.11 
            ✎
    10:37 
 | 
         
        (6) То есть просто так, как мне захотелось, не получится?     
         | 
|||
| 
    9
    
        heap    
     07.10.11 
            ✎
    10:40 
 | 
         
        Что интересно, так это то, что "Док" по образцу формируется так, как требуется (видно в отладчике), но дальше - абзац ((     
         | 
|||
| 
    10
    
        Эльниньо    
     07.10.11 
            ✎
    10:42 
 | 
         
        Для х = 1 По Метаданные.Документ(ВидДока).РеквизитШапки()  Цикл
  
        КонецЦикла;  | 
|||
| 
    11
    
        G-Re    
     07.10.11 
            ✎
    10:46 
 | 
         
        (8) Получится вот так
  
        Док=СоздатьДокПоОбразцу(Образец); Текст функции СоздатьДокПоОбразцу() может быть таким Функция СоздатьДокПоОбразцу(пОбразец) ДР=СоздатьОбъект("Документ."+пОбразец.Вид()); ДР.Новый(); Далее по метаданным - Общие реквизиты, реквизиты шапки, построчно реквизиты строки ДР.Записать(); Возврат(ДР.ТекущийДокумент()); КонецФункции Где-то так.  | 
|||
| 
    12
    
        heap    
     07.10.11 
            ✎
    10:52 
 | 
         
        Всем откликнувшимся спасибо за внимание!     
         | 
|||
| 
    13
    
        heap    
     07.10.11 
            ✎
    10:54 
 | 
         
        Если сегодня будет последним днем в моем жизни, буду ли я делать то, что запланировал на сегодня?
  
        Так жить нельзя, сгорать - можно!  | 
|||
| 
    14
    
        G-Re    
     07.10.11 
            ✎
    10:57 
 | 
         
        (13) Самое смешное, что все, что происходит с нами, это и есть наша жизнь.     
         | 
|||
| 
    15
    
        dk    
     07.10.11 
            ✎
    10:58 
 | 
         
        с табличной частью попроще
  
        Док1.ВыгрузитьТабличнуюЧасть(ВремТЗ); Док2.ЗагрузитьТабличнуюЧасть(ВремТЗ); А вообще в типовых должна быть процедурка для создания копии  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |