Имя: Пароль:
1C
1С v8
1C + MS office
0 РеализоВано
 
08.09.14
10:55
Имеется обработка, которая формирует договор в мс офисе, периодически вываливается такая ошибка https://yadi.sk/i/aq77pBqNbDTPc
В терминале всегда появляется. С чем это связано, как побороть её???
1 rs_trade
 
08.09.14
11:01
(0) Там вроде все расписано подробно.
2 РеализоВано
 
08.09.14
11:47
(1)А что может очищать буфер терминале? Куда капать?
Такая же ошибка возникает и при печати типовых документов к примеру акта выполненных работ. Конфигурация УТ 11.1.4.14.
3 РеализоВано
 
08.09.14
12:03
Проверте у кого есть возможность, это только у меня такой косяк??
4 rs_trade
 
08.09.14
12:06
(2) Это ошибка Ворда.

1. Пишем текст ошибки на руском в гугл.
2. Пытаемся найти решение.
3. Если на русском решение проблемы не найдено, ищем текст ошибки на английском.
4. Пишем текст ошибки в гугл на английском.
5. Пытаемся найти решение.
6. Ничего не нагуглили? Пишем на форум.
5 РеализоВано
 
08.09.14
15:22
Нашел проблемную функцию, которая отвечает за вставку текста
Не желает в терминале она работать, не копирует в буфер или копирует но что то затирает его.

Функция ПрисоединитьОбласть(знач ПечатнаяФорма,
                            знач ОбластьHandler,
                            знач ПереходНаСледСтроку = Истина,
                            знач ПрисоединитьСтрокуТаблицы = Ложь) Экспорт
    
    //ОбластьHandler.Document.Range(ОбластьHandler.Start, ОбластьHandler.End).Copy();
    
    ПФ_ActiveDocument = ПечатнаяФорма.COMСоединение.ActiveDocument;
    ПозицияОкончанияДокумента    = ПФ_ActiveDocument.Range().End;
    ОбластьВставки                = ПФ_ActiveDocument.Range(ПозицияОкончанияДокумента-1, ПозицияОкончанияДокумента-1);
    
    Если ПрисоединитьСтрокуТаблицы Тогда
        ОбластьВставки.PasteAppendTable();
    Иначе
        ОбластьВставки.InsertAfter(ОбластьHandler.Document.Range(ОбластьHandler.Start, ОбластьHandler.End));
        //ОбластьВставки.Paste();
    КонецЕсли;
    
    // возвращаем границы вставленной области
    Результат = Новый Структура("Document, Start, End",
                            ПФ_ActiveDocument,
                            ПозицияОкончанияДокумента-1,
                            ПФ_ActiveDocument.Range().End-1);
    
    Если ПереходНаСледСтроку Тогда
        ВставитьРазрывНаНовуюСтроку(ПечатнаяФорма);
    КонецЕсли;
    
    Возврат Результат;
    
КонецФункции


Пытаюсь вставить костыль, но теряется форматирование

ОбластьВставки.InsertAfter(ОбластьHandler.Document.Range(ОбластьHandler.Start, ОбластьHandler.End));


Какие методы есть VB что бы вставить текст, не теряя форматирование??
6 rs_trade
 
08.09.14
15:24
(5) MSDN в помощь
7 Зойч
 
08.09.14
15:27
МС не рекомендует юзать ком объекты офис на серверах
8 Зойч
 
08.09.14
15:27
категорически не рекомедует
9 rs_trade
 
09.09.14
09:16
(7) Наверняка в целях безопасности. Всем пофигу на это.
Независимо от того, куда вы едете — это в гору и против ветра!