helpf.pro
Регистрация
 +3 
Распечатать

1С 8.3 : Пример работы с общим макетом типа ActiveDocument в клиент-серверном варианте

Код 1C v 8.х
 //**********************************************************************************
//получаем макет на сервере, сохраняем в файл и передаем на клиента
&НаСервере
Функция ПолучитьДанныеМакета()
    АдресХранилища = Новый УникальныйИдентификатор();
    Макет          = ПолучитьОбщийМакет("Договор");
 
    ВременныйФайл = ПолучитьИмяВременногоФайла("doc");
    Макет.Записать(ВременныйФайл);
 
 Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВременныйФайл), АдресХранилища);
 УдалитьФайлы(ВременныйФайл);
 
 Возврат Адрес;
   
КонецФункции
//**********************************************************************************
//код сотрудника, нужно для создания уникального имени файла для каждого пользователя
&НаСервере
Функция КодПользователя(Пользователь)
 
 Возврат СокрЛП(Пользователь.Сотрудник.Код);
 
КонецФункции
//**********************************************************************************
//Ссылка - ссылка на договор(ссылка справочника, нужно для подстановки реквизитов)
//РеквизитыДляПечати - структура с нужными реквизитами
&НаКлиенте
Процедура ПечатьДоговора(Ссылка,РеквизитыДляПечати)
 
 Пользователь = ОбщегоНазначения.ТекущийПользователь();
 Каталог = КаталогВременныхФайлов();
 Каталог = ?(Прав(Каталог,1) = "\", Каталог, Каталог+"\");
 ПолноеИмяФайла = Каталог+"Договор_"+КодПользователя(Пользователь)+".doc";
 
    Попытка
        Индификатор = ПолучитьДанныеМакета();
        МакетДоговора = ПолучитьИзВременногоХранилища(Индификатор);
        МакетДоговора.Записать(ПолноеИмяФайла);
    Исключение
        Сообщить(ОписаниеОшибки());
    КонецПопытки;
 
 Попытка
  MSWord = Новый COMОбъект("Word.Application");
 Исключение
  Сообщить("Ошибка при попытке создать объект ""MS Word""!" + Символы.ПС +
  "Возможно приложение ""MS Word"" не установлено или установлено неправильно.", СтатусСообщения.Внимание);
 КонецПопытки;
 
 MSWord.Documents.Open(ПолноеИмяФайла);
 
 Попытка
  Документ = MSWord.Application.Documents(1);
  Документ.Activate();
 Исключение
  // Если произойдет ошибка, выводятся данные об ошибке, и объект закрывается.
  Сообщение = Новый СообщениеПользователю();
  Сообщение.Текст = ОписаниеОшибки();
  Сообщение.Сообщить();
  
  MSWord.Application.Quit();
  
  Возврат;
 КонецПопытки;
 
 
 //*******************************************
 //тут выполняем замену
 Попытка
  Замена = Документ.Content.Find;
  Замена.Execute("{ЧтоМеняем}", Ложь, Истина, Ложь, , , Истина, , Ложь,   "На что меняем");
 Исключение
 КонецПопытки;
 
 // Делаем видимым приложение и активизируем его.
 MSWord.Application.Visible = Истина;
 MSWord.Activate();
 
КонецПроцедуры

 
Разместил:   Версии: | 8.2 УП | 8.3 |  Дата:   Прочитано: 22294
 +3 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 24
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.