Имя: Пароль:
1C
1С v8
Word 1C
0 Gossar1C
 
28.02.13
10:40
Здраствуйте! Хочу открыть вордовский файл для начала ( в дальнейшем надо будет записывать туда программно значения и сохранять в pdf)

Модуль формы

&НаКлиенте
Процедура ФайлНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.ПолноеИмяФайла = "";
   Текст = НСтр("ru = ""Текст""; en = ""Text""");
   Диалог.Фильтр = НСтр(Текст) + "(*.docx)|*.docx";
   Диалог.МножественныйВыбор = Истина;
   Диалог.Заголовок = "Выберите файл";
   
   Если Диалог.Выбрать() Тогда
       МассивФайлов = Диалог.ВыбранныеФайлы;
       Для Каждого ИмяФайла Из МассивФайлов Цикл
           ВыбФайл = Новый Файл(ИмяФайла);
           Объект.Файл = ВыбФайл.ПолноеИмя;
       КонецЦикла;
   Иначе
       Текст = "ru = ""Файл(ы) не выбран!""; en = ""File(s) not selected!""";
       Предупреждение(НСтр(Текст));
   КонецЕсли;
   

КонецПроцедуры


&НаКлиенте
Процедура ИзменитьОбъект(Команда)
   
   ПередатьОбъектДляИзменения(Объект.Файл);
   
КонецПроцедуры

&НаСервере
Процедура ПередатьОбъектДляИзменения(Файл)
   
   Обработки.ОбработкаДоговора.ИзменениеМакета(Файл);
   
КонецПроцедуры


Модуль менеджера:

Функция ИзменениеМакета (Файл) Экспорт
   
       
   // Заполняем шаблон  MS Word
   Шаблон = Новый COMОбъект("Word.Application");
   Шаблон.Documents.Add(Файл);
   Шаблон.ActiveDocument.Open();
   
   ////Заполнение шаблона заменой
   //Find = Шаблон.ActiveDocument.Range().Find;
   //Find.ClearFormatting();
   //Find.Forward = -1;
       
   
   
   //Find.Execute("{НомерДоговора}",,,,,,,,, СокрЛП(Объект.НомерДоговора),2);
   
КонецФункции

Ругается говорит мол файл поврежден, хотя вордом нормально открывается, а в 1ске нифига =(
1 Wobland
 
28.02.13
10:41
это ты хвастаешься?
2 Wobland
 
28.02.13
10:41
а сохранять в пдф без ворда не хочешь?
3 Gossar1C
 
28.02.13
10:42
(2) а ты умеешь программно пдф заполнять? расскажи а?
4 Gossar1C
 
28.02.13
10:43
Есть договор в ворде, его надо будет заполнить, а потом в формате пдф приклеить к отправке на мыло
5 Wobland
 
28.02.13
10:43
(3) ТабДок умеет
6 le_
 
28.02.13
10:44
(3) 8.2 умеет сохранять отчеты в PDF.
7 Wobland
 
28.02.13
10:44
+(5) ну.. не заполнять, допустим, но записывать
8 le_
 
28.02.13
10:46
(0)
Ворд = Новый COMОбъект("Word.Application");
Документ = Ворд.Documents.Open(ПолныйПуть);
9 Gossar1C
 
28.02.13
10:46
Господа! Мне не нужно сохранять таб документ! У меня есть шаблон договора вордовский, в котором мне нужно заполнить поля о клиенте и приклеить вложением к отправке на почту
10 Cyberhawk
 
28.02.13
10:47
Чтобы что-то прикрепить, нужно что-то сохранить :)
11 Wobland
 
28.02.13
10:48
(9) а ты прикреплять что собрался?
12 Gossar1C
 
28.02.13
10:49
(10) так в том то и дело) мне нужно просто напросто внести небольшие изменения в уже существуещий шаблон (Тоесть заполнить информацию о клиенте) и потом уже через bullzip сохранить в пдф и приклеить
13 Wobland
 
28.02.13
10:50
(12) ответь на (2) всё равно
14 Gossar1C
 
28.02.13
10:51
(11) есть ЗаказКлиента когда мы печатаем счет ему и отправляем на мыло счет сохраненный в формате пдф(вот именно счет Печатную форму сохраняет в пдф), и к счету должно быть приложение Доп. Соглашение, которое мне начальник кинул в ворде, и его нужно сохранить в пдф и тоже приклеить предварительно заполнив вордовский шаблон
15 le_
 
28.02.13
10:52
(12) Word 2010, кстати, сам может в PDF сохранять, без bullzip.
16 Gossar1C
 
28.02.13
10:53
(13) мне начальник дал сначала шаблон в формате пдф, но порыскав по этому форуму и получив кучу ответов что никто не знает как редактировать pdf(тобишь заполнить что то данными 1ски) мне советовали wordом редактировать.
17 alexei366
 
28.02.13
10:53
(14) У вас форма счета из 1С сразу в Ворде получается?
18 le_
 
28.02.13
10:53
(14) Можно же сделать из этого вордовского шаблона макет в 1С-ке и заполнять его обычным образом.
19 Gossar1C
 
28.02.13
10:54
(15) пользуюсь тем что есть)
20 Gossar1C
 
28.02.13
10:55
(18) ActiveDocument Загрузить из файла?
21 Wobland
 
28.02.13
10:55
(14) а можно в табличном документе сделать это доп. соглашение
22 Cyberhawk
 
28.02.13
10:56
(0) попробуй так работать с вордом:

   Попытка
       WordАрр = Новый COMОбъект("Word.Application");
   Исключение
       Предупреждение("Возможно не установлено приложение ""Microsoft Word"".",,"Формирование договора невозможно. ");
       Возврат Неопределено;
   КонецПопытки;    

   Попытка
       ActiveDocument = WordАрр.Application.Documents.Add(ИмяВременногоФайла);
       ActiveDocument.Activate();
   Исключение
       Предупреждение("Ошибка открытия файла шаблона.",,"Формирование договора невозможно. ");
       Возврат Неопределено;
   КонецПопытки;
23 Gossar1C
 
28.02.13
10:56
Увы на таб документ я еще не умею натягивать вордовские шаблоны, а насчет актив и загрузить из файла так он вообще не загружает его кнопку жмешь а конструктору все непочем
24 Cyberhawk
 
28.02.13
10:57
(22) ну и в конце
       ActiveDocument.SaveAS(Каталог + "\" + ИмяФайла, ?(РасширениеФайла = "pdf", 17, 16));  //17-pdf   16-docx
       ActiveDocument.Close(0);
       WordАрр.Application.Quit();
25 Wobland
 
28.02.13
10:57
(23) я тоже. но текстом его заполнять я умею
26 le_
 
28.02.13
11:00
(23) Можно воспользоваться универсальным методом Copy&Paste.
27 mzelensky
 
28.02.13
11:01
(0) учитывая:

"Господа! Мне не нужно сохранять таб документ! У меня есть шаблон договора вордовский, в котором мне нужно заполнить поля о клиенте и приклеить вложением к отправке на почту"

и

"есть ЗаказКлиента когда мы печатаем счет ему и отправляем на мыло счет сохраненный в формате пдф(вот именно счет Печатную форму сохраняет в пдф), и к счету должно быть приложение Доп. Соглашение, которое мне начальник кинул в ворде, и его нужно сохранить в пдф и тоже приклеить предварительно заполнив вордовский шаблон"

Не понимаю проблемы автора и гемороя с Вордом?!

Шаблон у тебя есть! Заполнять тебе один хрен из 1С. Так сделай макет этого договора (соглашения) в 1С-ке (как обычный отчетик). Заполняй его, сохраняй в ПДФ (8.2 это умеет) и отправляй куда угодно.

При этом не надо гемороиться с Вордом + работать будет гораздо быстрее + уходят многие подводные камни (на которые ты обязательно наткнешься позже).
28 Gossar1C
 
28.02.13
11:01
(26) а копи паст все сделает ровно?) и фоновый рисунок (лого компании) закрепит также как в ворде?) за текстом
29 le_
 
28.02.13
11:07
(28) Что-то вручную, конечно, поправить придется. И полупрозрачный рисунок вставить возможность есть.
30 Gossar1C
 
28.02.13
11:08
31 Gossar1C
 
28.02.13
11:09
начало)
32 mzelensky
 
28.02.13
11:13
(30)  Это ПДФ-файл сформированный полностью из 1С (без вордов, виртуальных принтеров и т.д.)

http://s005.radikal.ru/i211/1302/c0/2fb1d170c2f5.jpg

П.С. и кстати он тожепотом по почте автоматом отправляется
33 Gossar1C
 
28.02.13
11:14
Ладно. Всем спасибо за советы) буду пытаться их использовать или искать что то другое)
34 Gossar1C
 
28.02.13
11:16
(32) он же ввиде табличного документа был? а потом его сохранили в формате pdf, насчет того как натянуть шаблон на макет я повторюсь, что пока у меня мало знаний для этого...
35 le_
 
28.02.13
11:19
(30) Реализуемо средсвами 1С на 100%.
Вот тебе пример фонового рисунка: http://s017.radikal.ru/i415/1302/9c/22caba3f235f.png
36 Gossar1C
 
28.02.13
11:25
(35) спасибо le_ буду пробовать)
37 Gossar1C
 
28.02.13
11:26
(35) но форматировать придется дофига)
38 mzelensky
 
28.02.13
11:27
(35) у меня с бибишкой красивее :)
39 Jaffar
 
28.02.13
11:28
первый раз вижу, чтоб одинэсники pdf-ками мерялись...
40 le_
 
28.02.13
11:29
(38) У меня красочнее )
41 le_
 
28.02.13
11:30
(37) Ну, иногда в 1С-ке что-то приходится делать вручную.
42 mzelensky
 
28.02.13
11:41
(40) ща вставлю красный Астон Мартин!
Независимо от того, куда вы едете — это в гору и против ветра!