| 
    
            
         
         | 
    
  | 
Ошибка ПолучитьИзВременногоХранилища в управляемом приложении | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        DomenER    
     14.05.19 
            ✎
    10:12 
 | 
         
        Всем привет.
 
        Пытаюсь передать шаблон ActiveDocument с сервера на клиент, но появляется ошибка. Подскажите как можно исправить? Код общего модуля: &НаСервере Функция ПолучитьДанныеМакета(ИмяМакета) экспорт АдресХранилища = Новый УникальныйИдентификатор(); Макет = Справочники.гпаДоговора.ПолучитьМакет(ИмяМакета); //ОбработкаОбъект.ПолучитьМакет(ИмяМакета); Возврат ПоместитьВоВременноеХранилище(Макет, АдресХранилища); КонецФункции Код из формы: &НаКлиенте Процедура Тест(Команда) Индификатор = гпаОбщийМодуль.ПолучитьДанныеМакета("Макет"); МакетПисьма = ПолучитьИзВременногоХранилища(Индификатор); Индификатор заполняется и вижу ссылку в конфигураторе, а вот на 2-й строке вываливается ошибка: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) Office на серваке нету.  | 
|||
| 
    1
    
        fisher    
     14.05.19 
            ✎
    10:17 
 | 
         
        Боюсь, у меня плохие новости...     
         | 
|||
| 
    2
    
        DomenER    
     14.05.19 
            ✎
    10:18 
 | 
         
        (1) Что не так делаю?     
         | 
|||
| 
    3
    
        palsergeich    
     14.05.19 
            ✎
    10:19 
 | 
         
        Наверное не надо передавать ActiveDocument в другой контекст. Логично же     
         | 
|||
| 
    4
    
        DomenER    
     14.05.19 
            ✎
    10:23 
 | 
         
        (3) Т.е. 1С-ка не может принять в контексте клиента шаблон ActiveDocument?
 
        Здесь в комментах пишут пример с передачей через хранилище http://catalog.mista.ru/public/270277/  | 
|||
| 
    5
    
        Cyberhawk    
     14.05.19 
            ✎
    10:25 
 | 
         
        "Индификатор" лол     
         | 
|||
| 
    6
    
        DomenER    
     14.05.19 
            ✎
    10:26 
 | 
         
        (5) Взято из примера. И имена переменных пока не важна.     
         | 
|||
| 
    7
    
        Cyberhawk    
     14.05.19 
            ✎
    10:31 
 | 
         
        (6) Какого примера?     
         | 
|||
| 
    8
    
        DomenER    
     14.05.19 
            ✎
    10:34 
 | 
||||
| 
    9
    
        sqr4    
     14.05.19 
            ✎
    10:38 
 | 
         
        Так в статье из (4) 
 
        Таким образом наша предыдущая схема превращается вот во что: 1 – &НаСервере Получаем макет ActiveDocument 2 – &НаСервере Сохраняем полученный макет в файл и возвращаем на клиент полное имя файла (полный путь + наименование с расширением) 3 – &НаКлиенте Инициализируем COM-объект из файла 4 - &НаКлиенте заполняем и выводим этот COM-объект  | 
|||
| 
    10
    
        DomenER    
     14.05.19 
            ✎
    10:39 
 | 
         
        (9) В комментах написан пример через временное хранилище.     
         | 
|||
| 
    11
    
        Cyberhawk    
     14.05.19 
            ✎
    10:40 
 | 
         
        ВХ надо к форме привязанный передавать, а не генерировать на сервере     
         | 
|||
| 
    12
    
        sqr4    
     14.05.19 
            ✎
    10:43 
 | 
         
        (10) Так там в качестве макета передаются двоичные данные, а у вас?     
         | 
|||
| 
    13
    
        DomenER    
     14.05.19 
            ✎
    10:44 
 | 
         
        (12) У меня ActiveDocument. Выходит двоичные данные передать можно, а ActiveDocument через ВХ уже нельзя.     
         | 
|||
| 
    14
    
        sqr4    
     14.05.19 
            ✎
    10:46 
 | 
         
        (13) Так там и весь прикол в этом     
         | 
|||
| 
    15
    
        DrZombi    
     гуру 
    14.05.19 
            ✎
    10:46 
 | 
         
        (0) Передать на клиент "Двоичный тип", т.е. файлик сохранить...
 
        И открыть на клиенте :)  | 
|||
| 
    16
    
        palsergeich    
     14.05.19 
            ✎
    10:47 
 | 
         
        (13) совершенно верно     
         | 
|||
| 
    17
    
        DrZombi    
     гуру 
    14.05.19 
            ✎
    10:47 
 | 
         
        (13) ActiveDocument  - это ОЛЕ, карл, ОЛЕ :)
 
        https://docs.microsoft.com/ru-ru/office/vba/api/word.application  | 
|||
| 
    18
    
        DomenER    
     14.05.19 
            ✎
    10:49 
 | 
         
        (15) Похоже так и придётся. Хотелось проще - через ActiveDocument.
 
        Или вариант сохранять файл на сервере во временный каталог и передавать его на клиент. Нет простых путей у 1С-ки...  | 
|||
| 
    19
    
        sqr4    
     14.05.19 
            ✎
    11:02 
 | 
         
        (18) наверно на делфи, такое вообще офигеешь делать.     
         | 
|||
| 
    20
    
        palsergeich    
     14.05.19 
            ✎
    11:09 
 | 
         
        (18) А при чем тут одинэска, окружение меняется, на чем не делай - просто не выйдет     
         | 
|||
| 
    21
    
        DomenER    
     14.05.19 
            ✎
    11:36 
 | 
         
        (20) В обычных (не управляемых) формах как то проще всё получалось с шаблонами работать...     
         | 
|||
| 
    22
    
        palsergeich    
     14.05.19 
            ✎
    11:37 
 | 
         
        (21) а вот попробовал бы ты его передать в ОМ с директивой компиляции Сервер без Клиент обычное приложение     
         | 
|||
| 
    23
    
        palsergeich    
     14.05.19 
            ✎
    11:37 
 | 
         
        Результат был бы абсолютно тот же     
         | 
|||
| 
    24
    
        Franchiser    
     14.05.19 
            ✎
    12:04 
 | 
         
        АдресХранилища = Новый УникальныйИдентификатор(); 
 
        Это адрес хранилища???  | 
|||
| 
    25
    
        DomenER    
     14.05.19 
            ✎
    15:44 
 | 
         
        (24) генерируется строка вида "d550ae44-43e2-4e0c-a3e7-9f655747015f"     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |