| 
    
 | 
        v7: Непонятки с переносом данных по OLE         | 
☑ | 
    
        | 
    0
    
        DCKiller    
       
    
    12.10.11 
            ✎
    07:05 
 | 
         
        Есть обработка, которая переносит справочники по OLE из одной базы 1с в другую (конфигурации идентичные). Когда идет загрузка периодических реквизитов справочника, то на след. участке
  
  РеквПериодОле     = Оле.CreateObject("Периодический");
  РеквПериод        = Создатьобъект("Периодический");
  РеквПериодОле.ИспользоватьОбъект(ИдентификаторРекв, СпрОле);
  РеквПериод.ИспользоватьОбъект(ИдентификаторРекв, Спр.ТекущийЭлемент());
  
  выскакивает ошибка:
  
  РеквПериодОле.ИспользоватьОбъект(ИдентификаторРекв, СпрОле);
  {C:\BASE_1C\NEW_BASE\КОПИЯ ЗАГРУЗКАДАННЫХОЛЕ_V1_011\ЗАГРУЗКАОБЪЕКТОВОЛЕ.ERT(927)}: 1С:Предприятие: Руководитель не является константой или периодическим параметром!
  
  Это при том, что предварительно ВЫПОЛНЯЕТСЯ условие, что и у базы ОЛЕ, и у базы-приемника реквизит "Руководитель" справочника "СвоиЮрЛица" периодический. Что за глюк?     
         | 
 | 
    
    
        | 
    1
    
        Escander    
       
    
    12.10.11 
            ✎
    07:16 
 | 
         
        (0) ИдентификаторРекв="Руководитель" ?
  
  Какая задача у кода? получить текущее значение или все значения навыбирать?     
         | 
 | 
    
    
        | 
    2
    
        DCKiller    
       
    
    12.10.11 
            ✎
    07:20 
 | 
         
        (1) Да.
  Задача конкретно этого участка - спозиционироваться на объектах типа "Периодический" обеих баз, чтобы выбрать историю значений данного пер. реквизита справочника базы-источника и записать ее в историю реквизита аналогичного справочника базы-приемника.     
         | 
 | 
    
    
        | 
    3
    
        DCKiller    
       
    
    12.10.11 
            ✎
    07:58 
 | 
         
        Есть идеи?     
         | 
 | 
    
    
        | 
    4
    
        Escander    
       
    
    12.10.11 
            ✎
    08:01 
 | 
         
        (3) как-то не особо... а если вместо переменной попробовать поставить имя в явном виде?     
         | 
 | 
    
    
        | 
    5
    
        1Сергей    
       
    
    12.10.11 
            ✎
    08:01 
 | 
         
        РеквПериодОле.ИспользоватьОбъект(ИдентификаторРекв, СпрОле.ТекущийЭлемент());     
         | 
 | 
    
    
        | 
    6
    
        Escander    
       
    
    12.10.11 
            ✎
    08:04 
 | 
         
        (5) точно!     
         | 
 | 
    
    
        | 
    7
    
        ЧеловекДуши    
       
    
    12.10.11 
            ✎
    08:09 
 | 
         
        Оле ЗЛО, лучше воспользуйся готовой обработкой с инфостарта :)     
         | 
 | 
    
    
        | 
    8
    
        DCKiller    
       
    
    13.10.11 
            ✎
    06:57 
 | 
         
        (5) спасибо, попробуем. Хотя там я так понял, косяков до фига еще. Сегодня утром еще один вылез... Видимо, придется по ходу дела все исправлять.
  (7) Инфостарт закрыт для свободного скачивания. Кстати, эта хрень и так с инфостарта (успел вытянуть до того, как там приняли такие драконовские законы насчет скачивания :)     
         | 
 |