| 
    
            
         
         | 
    
    
  | 
Как создать хранилище в com-соединении? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Холодильник    
     07.07.14 
            ✎
    15:23 
 | 
         
        как записать данные в хранилище? так:
 
        ХранилищеКартинки = Новый ХранилищеЗначения("C:\Мои документы\обработка.epf"); а как создать хранилище в сом-соединении? cntr = Новый COMObject("V83.COMConnector"); // создается объект COM-соединение connection = cntr.Connect(СтрокаПодключения); connection.NewObject("ХранилищеЗначения('C:\Мои документы\обработка.epf'); Ошибка в последней строке - тип не определен. Как быть?  | 
|||
| 
    1
    
        H A D G E H O G s    
     07.07.14 
            ✎
    15:24 
 | 
         
        connection.NewObject("ХранилищеЗначения","C:\Мои документы\обработка.epf");     
         | 
|||
| 
    2
    
        Холодильник    
     07.07.14 
            ✎
    15:26 
 | 
         
        спасибо     
         | 
|||
| 
    3
    
        Холодильник    
     07.07.14 
            ✎
    15:53 
 | 
         
        хм.
 
        не хочет так: Путь = "C:\Мои документы\обработка.epf" ; файл = Новый Файл(путь); ПомещенныеФайлы = Новый Массив; ВыборВыполнен = ПоместитьФайлы(, ПомещенныеФайлы,путь , ЛОЖЬ, ); Если ВыборВыполнен Тогда ОписаниеФайла = ПомещенныеФайлы[0]; файло = ПолучитьИзВременногоХранилища(ОписаниеФайла.Хранение) ; ХранилищеОбработки = connection.NewObject("ХранилищеЗначения",файло); КонецЕсли; грит: Ошибка при вызове метода контекста (NewObject): Произошла исключительная ситуация (1C:Enterprise 8.3.4.389): Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент  | 
|||
| 
    4
    
        Necessitudo    
     07.07.14 
            ✎
    15:53 
 | 
         
        (3) И что не так?     
         | 
|||
| 
    5
    
        1cVandal    
     07.07.14 
            ✎
    15:55 
 | 
         
        (3) файло да кривое, ты этим хотел похвастаться?     
         | 
|||
| 
    6
    
        Холодильник    
     07.07.14 
            ✎
    15:57 
 | 
         
        (5) файло - обработка. напрямую в базе этот код работает, а по com - почему-то не хочет     
         | 
|||
| 
    7
    
        Холодильник    
     07.07.14 
            ✎
    16:00 
 | 
         
        + пишу для проверки:
 
        файло.записать(КаталогВременныхФайлов()+"123.epf"); - создается православная работающая обработка. почему она не создается  | 
|||
| 
    8
    
        H A D G E H O G s    
     07.07.14 
            ✎
    16:01 
 | 
         
        файло  - ДвоичныеДанные, не?     
         | 
|||
| 
    9
    
        Холодильник    
     07.07.14 
            ✎
    16:05 
 | 
         
        (8) они. двоичные. сериализуются.     
         | 
|||
| 
    10
    
        Холодильник    
     07.07.14 
            ✎
    16:06 
 | 
         
        +
 
        Сообщить(типЗнч(файло)); выдает Двоичные данные  | 
|||
| 
    11
    
        Холодильник    
     07.07.14 
            ✎
    16:25 
 | 
         
        ну чего? мыслей нет ни у кого?     
         | 
|||
| 
    12
    
        DmitrO    
     07.07.14 
            ✎
    16:32 
 | 
         
        а так?
 
        ТипДвоичныеДанные = connection.NewObject("ОписаниеТипов","ДвоичныеДанные").Типы().Получить(0); ХранилищеОбработки = connection.NewObject("ХранилищеЗначения", connection.XMLЗначение(ТипДвоичныеДанные, XMLСтрока(файло)));  | 
|||
| 
    13
    
        H A D G E H O G s    
     07.07.14 
            ✎
    16:33 
 | 
         
        (11) Какие тут могут быть мысли? Ты в Com засовываешь объект текущей базы. Окстись, нуб.     
         | 
|||
| 
    14
    
        Холодильник    
     07.07.14 
            ✎
    17:23 
 | 
         
        (13) Ок. а как ты предлагаешь передавать в com объект?
 
        двоичное значение из файла напрямую в сом-базе создать не получится(не будет прав у внешн подкл). т.е. я не могу написать: файло = connection.NewObject("ДвоичныеДанные","C:\Мои документы\обработка.epf"); ХранилищеОбработки = connection.NewObject("ХранилищеЗначения",файло); мне нужно в текущем соединении загрузить файл во врем хранилище, оттуда - как-то передать его ком-базе  | 
|||
| 
    15
    
        H A D G E H O G s    
     07.07.14 
            ✎
    17:29 
 | 
         
        ДвоишноеТам=connection.Base64Значение(Base64Строка(файло));     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |