1С8.1 и Шаблон Word
21.08.2009
16:34
#1
Конфигурация УТ 10.3
Есть необходимость хранить шаблоны договоров в самой базе (шаблоны могут изменяться и заменяться новыми версиями) и распечатывать по мере надобности.
Как хранить файл - понятно (в в иде бинарных данных),
Как выводить данные в полях шаблона - тоже понятно.
Не могу понять самую малость, как открыть файл шаблона из хранилища для заполнения его данными...
Есть необходимость хранить шаблоны договоров в самой базе (шаблоны могут изменяться и заменяться новыми версиями) и распечатывать по мере надобности.
Как хранить файл - понятно (в в иде бинарных данных),
Как выводить данные в полях шаблона - тоже понятно.
Не могу понять самую малость, как открыть файл шаблона из хранилища для заполнения его данными...
22.08.2009
21:14
#2
"сбрасывать на диск, редактировать, и обратно загонять
пример небольшой
Процедура Кнопка2Нажатие(Элемент)
//создаем в спр-ке новый элемент
Если Справочники.Справочник2.НайтиПоКоду("000000001") = Справочники.Справочник2.ПустаяСсылка() Тогда
НовСтрока = Справочники.Справочник2.СоздатьЭлемент();
НовСтрока.Код ="000000001";
НовСтрока.Наименование ="Документ1";
//реквизит ШаблонВорд -типа хранилищеЗначения
НовСтрока.ШаблонВорд = Новый ХранилищеЗначения(НовыйДвоичныеДанные("C:\Files\ШаблоныВорд\ДокументWord1.doc"));
НовСтрока.Записать();
КонецЕсли;
//находим этот элемент по коду и ворд-файл сбрасываем на диск
Элемент = Справочники.Справочник2.НайтиПоКоду("000000001");
ИмяДокумента =Элемент.Наименование;
КаталогВремФайлов = КаталогВременныхФайлов()+ ИмяДокумента + ".doc";
Элемент.ШаблонВорд.Получить().Записать(КаталогВремФайлов);
//создаем объект Ворд
Word = Новый COMОбъект("Word.Application");
Word.Visible =1;
//открываем сброшенный файл
Word.Documents.Open(КаталогВремФайлов);
Документ = Word.ActiveDocument();
//прерываем действие алгоритма для редактирования файла Ворд
//сам файл сохранять и закрывать не надо!
строка = "Закрыть после редактирвания файла Ворд!";
ВвестиСтроку(строка,строка,0,);
//сохраняем файл ворд в новой редакции
//Документ.SaveAs(КаталогВремФайлов,0);
Документ.Save();
//закрываем
Документ.Close();
Word.Quit();
//записываем измененный ворд файл в реквизит спр-ка ШаблонВорд (типа хранилище)
СпрОбъект = Элемент.ПолучитьОбъект();
СпрОбъект.Наименование = "Документ2";
СпрОбъект.ШаблонВорд = Новый ХранилищеЗначения(Новый ДвоичныеДанные(КаталогВремФайлов));
СпрОбъект.Записать();
КонецПроцедуры
"
пример небольшой
Процедура Кнопка2Нажатие(Элемент)
//создаем в спр-ке новый элемент
Если Справочники.Справочник2.НайтиПоКоду("000000001") = Справочники.Справочник2.ПустаяСсылка() Тогда
НовСтрока = Справочники.Справочник2.СоздатьЭлемент();
НовСтрока.Код ="000000001";
НовСтрока.Наименование ="Документ1";
//реквизит ШаблонВорд -типа хранилищеЗначения
НовСтрока.ШаблонВорд = Новый ХранилищеЗначения(НовыйДвоичныеДанные("C:\Files\ШаблоныВорд\ДокументWord1.doc"));
НовСтрока.Записать();
КонецЕсли;
//находим этот элемент по коду и ворд-файл сбрасываем на диск
Элемент = Справочники.Справочник2.НайтиПоКоду("000000001");
ИмяДокумента =Элемент.Наименование;
КаталогВремФайлов = КаталогВременныхФайлов()+ ИмяДокумента + ".doc";
Элемент.ШаблонВорд.Получить().Записать(КаталогВремФайлов);
//создаем объект Ворд
Word = Новый COMОбъект("Word.Application");
Word.Visible =1;
//открываем сброшенный файл
Word.Documents.Open(КаталогВремФайлов);
Документ = Word.ActiveDocument();
//прерываем действие алгоритма для редактирования файла Ворд
//сам файл сохранять и закрывать не надо!
строка = "Закрыть после редактирвания файла Ворд!";
ВвестиСтроку(строка,строка,0,);
//сохраняем файл ворд в новой редакции
//Документ.SaveAs(КаталогВремФайлов,0);
Документ.Save();
//закрываем
Документ.Close();
Word.Quit();
//записываем измененный ворд файл в реквизит спр-ка ШаблонВорд (типа хранилище)
СпрОбъект = Элемент.ПолучитьОбъект();
СпрОбъект.Наименование = "Документ2";
СпрОбъект.ШаблонВорд = Новый ХранилищеЗначения(Новый ДвоичныеДанные(КаталогВремФайлов));
СпрОбъект.Записать();
КонецПроцедуры
"
Читают тему
(гостей: 1)