Имя: Пароль:
1C
1С v8
Выгрузка из 1с 8.3 в Word Внешняя печатная форма
0 artur83
 
30.05.18
16:54
#Область ШаблонВнешнейПечатнойФормы

Функция СведенияОВнешнейОбработке() Экспорт
    
Функция ПолучитьТаблицуКоманд()
    
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")


#КонецОбласти




Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
      
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СозданиеСублицензионногоДоговора") Тогда
        
        ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
            "СозданиеСублицензионногоДоговора",
            НСтр("ru='Создание сублицензионного договора'"),
            СформироватьПечатнуюФормуСублицензионногоДоговора(МассивОбъектов, ОбъектыПечати));    
            
    КонецЕсли;
    
    ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
    
КонецФункции

Функция СформироватьПечатнуюФормуСублицензионногоДоговора(МассивОбъектов, ОбъектыПечати)
                  
        ТабличныйДокумент = Новый ТабличныйДокумент;
        //ТабличныйДокумент.ЭкземпляровНаСтранице = 2;
        
        ТабличныйДокумент.КоличествоЭкземпляров = 2;
        //ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_Договор";

      Word = ПолучитьМакет("Договор").Получить();
    
      
      Попытка
          
          //открываем и активируем документ
          СсылкаМакет = Word.Application.Documents(1);
          СсылкаМакет.Activate();
          
          НаименованиеФирмы = "ООО Флексмар";
          НашДиректор = "Шахов С.В.";
          Номер = СсылкаНаОбъект.Номер;
          ДатаДоговора = Формат(СсылкаНаОбъект.Дата, "ДЛФ=DD");
          Заказчик = СсылкаНаОбъект.Контрагент;
          ПредставительЗаказчика = СсылкаНаОбъект.КонтактноеЛицо;
          
          
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<Организация>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + НаименованиеФирмы + """");
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<Номер>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Номер + """");          
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<Дата>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Формат(ДатаДоговора,"ДЛФ=DD") + """");
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<Контрагент>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Заказчик + """");
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<ГенДирОрг>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + НашДиректор + """");          
          Замена = СсылкаМакет.Content.Find;
          Замена.Execute("<ГенДирКонтр>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + ПредставительЗаказчика + """");
          
                  
          //включаем видимость приложения
          СсылкаМакет.Application.Visible = Истина;
          
          
      Исключение
          // Если произойдет ошибка, выводятся данные об ошибке, и объект закрывается.
          Сообщение = Новый СообщениеПользователю();
          Сообщение.Текст = ОписаниеОшибки();
          Сообщение.Сообщить();
                                                                      
      КонецПопытки;    
          
          Возврат ТабличныйДокумент
          
КонецФункции


Печать не доступна.Помогите разобраться?????
1 anatoly
 
31.05.18
10:34
(0) помогите разобраться в чем собственно проблема???
2 Serg_1960
 
31.05.18
10:42
Текст ошибки "как есть", а не своими словами.

Проверь: а был ли мальчик? Тьфу, есть ли принтера в 1С или они может быть уже отвалились.

Если дело касается MS Word - то сразу озвучивай платформу, конфигурацию, режим работы и т.д. Иначе непонятно о чём речь - 8.2 или 8.3, обычные формы или УФ файловый или клиент-серверный, НаКлиенте или НаСервере, 32 или 64бит
3 Serg_1960
 
31.05.18
10:45
Имхо, я тебе не помощник - сам страдаю и мучаюсь от неразделенной любви к Microsoft Office Word :))
4 anatoly
 
31.05.18
10:47
(3) 10 лет печатаю в Вордовские шаблоны всякие приказы (обычно из ЗУП) никаких проблем.

так что в (0) надо яснее вопрос излагать - это половина ответа.
5 Alexandr_U1982
 
31.05.18
10:59
(0)Судя по фрагментам кода, ты на сервере формируешь и заполняешь вордовский документ. И показываешь его тоже на сервере, а увидеть хочешь на клиенте. Разумеется, на клиенте его не видно.
6 artur83
 
31.05.18
11:06
(2) Есть ли принтера ахаха , конечно есть и даже подключены, хотя какая разница, достаточно иметь предварительный просмотр.Вам не понятно о чем речь???? Ну функция СведенияОВнешнейОбработке в 8.2 не употребляется, хотя в заголовке темы написано "Выгрузка из 1с 8.3 в Word Внешняя печатная форма". Писалось в модуле  объекта, там насколько мне известно все серверные. 64 бит. Тест ошибки: "i печатная форма недоступна." - без ссылки на код
7 Alexandr_U1982
 
31.05.18
11:06
(0)Документ нужно формировать и заполнять на клиенте в форме обработки.
В функции "СведенияОВнешнейОбработке()" вид обработки должен быть "ПечатнаяФорма", у команды свойство "Использование" должно быть "ВызовКлиентскогоМетода".
8 Alexandr_U1982
 
31.05.18
11:08
На ИТС про дополнительные отчеты и обработки
http://its.1c.ru/db/bsp245doc#content:31:1
http://its.1c.ru/db/bsp245doc#content:1801:hdoc
9 Serg_1960
 
31.05.18
12:41
(4) Когда однажды увидишь на экране "-2147467262(0х80004002) Интерфейс не поддерживается." - тогда мне будет о чём с тобой поговорить :))

(6) Да, ты прав, меня смутила "выгрузка из 8.3", подумал что продолжение обработки будет в базе на 8.2. Чисто, теоретически, сервер может быть как 64-так и 32-битовый. Забей, всё равно это всё не в тему.
Лучше почитай про БСП и использование макета MS Word в типовых:
https://its.1c.ru/db/bsp246doc#content:52:hdoc:issogl2_разработка_печатных_форм_с_использованием_макетов_в_формате_офисных_документов_microsoft_word_и_openoffice_writer
10 artur83
 
31.05.18
14:09
(8) (9) Комрады зарегился на тестовую версию сроком на 7 дней.Много всего интересного, но 30 К за год, что то меня жаба душит платить такую сумму (((((
11 Alexandr_U1982
 
31.05.18
14:37
(10)Так это не ты должен платить, а организация, которая хочет получать обновления от 1С.
12 ildary
 
31.05.18
14:59
(10) Я сложил журавлика и поменял аватарку в цвета ИТС. Надеюсь это помогло вашему горю.
13 Said_We
 
31.05.18
15:02
(0) Может быть по этому?
http://catalog.mista.ru/public/270277/
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.