Создание документа Word 2007

24.02.09

Разработка - Инструментарий разработчика

Создание документа Word 2007 без установленного Word'а, без внешних компонент, исключительно средствами 1С

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
-
.1235482409 558,69Kb
459
459 Скачать бесплатно
Версия для 8.1
.1235498929 16,54Kb
357
357 Скачать бесплатно

Написано в ознакомительных целях.
При желании функционал можно расширить...

Использовать:

  1. Добавляем обработку в конфигурацию.
  2. Пишем код по примеру:

1С 8.х:

Процедура СоздатьДокументWord2007()
    Ворд2007 = Обработки.СозданиеДокументаWord2007.Создать();
	
    Док = "c:\test.docx";
	
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьЗаголовок1("Создание документов Word 2007 в 1С"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Создано Vasil aka Душелов'2008", "Italic"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Обработка, создающая документы, в формате Word 2007.
    |Предустановленный Word не требуется."));
	
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьЗаголовок2("Возможности:"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Заголовок 1"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Заголовок 2"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Заголовок 3"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Параграф"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Полужирный", "Bold"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Курсив", "Italic"));
    Ворд2007.Параграфы.Добавить(Ворд2007.СоздатьПараграф("Подчеркнутый", "Underline"));
	
    НовыйПараграф = Ворд2007.СоздатьПараграф("Текст может поддерживать мультиформаты строки, такие как ");
    НовыйПараграф.СписокСтрок.Добавить(Ворд2007.СоздатьСтрокуДок("полужирный и курсив", "Bold|Italic"));
    НовыйПараграф.СписокСтрок.Добавить(Ворд2007.СоздатьСтрокуДок(" или "));
    НовыйПараграф.СписокСтрок.Добавить(Ворд2007.СоздатьСтрокуДок("курсив и подчеркнутый", "Italic|Underline"));
    НовыйПараграф.СписокСтрок.Добавить(Ворд2007.СоздатьСтрокуДок(" "));
    НовыйПараграф.СписокСтрок.Добавить(Ворд2007.СоздатьСтрокуДок("и т.д., и т.п.", "Bold|Italic|Underline"));
    Ворд2007.Параграфы.Добавить(НовыйПараграф);
	
    Ворд2007.Упаковать(Док);
	
    Сообщить("Создан: " + Док);
КонецПроцедуры

1С 7.7:

Процедура СоздатьДокументWord2007()
    Док = "c:\test.docx";   
    Параграфы = СоздатьОбъект("СписокЗначений");
        
    Параграфы.ДобавитьЗначение(СоздатьЗаголовок1("Создание документов Word 2007 в 1С"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Создано Vasil aka Душелов'2008", "Italic"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Обработка, создающая документы, в формате Word 2007.
    |Предустановленный Word не требуется."));
        
    Параграфы.ДобавитьЗначение(СоздатьЗаголовок2("Возможности:"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Заголовок 1"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Заголовок 2"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Заголовок 3"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Параграф"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Полужирный", "Bold"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Курсив", "Italic"));
    Параграфы.ДобавитьЗначение(СоздатьПараграф("Подчеркнутый", "Underline"));
        
    НовыйПараграф = СоздатьПараграф("Текст может поддерживать мультиформаты строки, такие как ");
    НовыйПараграф.ДобавитьЗначение(СоздатьСтрокуДок("полужирный и курсив", "Bold|Italic"));
    НовыйПараграф.ДобавитьЗначение(СоздатьСтрокуДок(" или "));
    НовыйПараграф.ДобавитьЗначение(СоздатьСтрокуДок("курсив и подчеркнутый", "Italic|Underline"));
    НовыйПараграф.ДобавитьЗначение(СоздатьСтрокуДок(" "));
    НовыйПараграф.ДобавитьЗначение(СоздатьСтрокуДок("и т.д., и т.п.", "Bold|Italic|Underline"));
    Параграфы.ДобавитьЗначение(НовыйПараграф);
        
    Упаковать(Док);
        
    Сообщить("Создан: " + Док);
КонецПроцедуры

ИСТОРИЯ:

09.08.2008:

  • добавил пример для 1С 7.7 (не забываем, pkzipc.exe скопировать в каталог "BIN" 1С 7.7)

См. также

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    22278    57    Gvozdod    8    

16

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    168351    1882    Alexoniq    1596    

499

Инструментарий разработчика Программист Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    33404    61    O-Planet    78    

49

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21798    Reptile    5    

35

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Встала недавно задача для одной организации, которая все еще на 1С 7.7 немного автоматизировать работу отдела продаж. А именно уйти от ручного заполнения договоров, сделанных юристами в MS Word. Договора от разных фирм и разного назначения отличались. Переводить их в таблицы 1С очень не хотелось и нашел способ прямо в файлах Word сделать небольшие дополнения, чтобы можно было печатать, используя именно эти заготовки юристов.

1 стартмани

14.07.2013    27641    56    adamx    11    

14

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18343    36    MarSeN    14    

17

Инструментарий разработчика Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36347    51    venger    7    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 4018 09.08.08 04:37 Сейчас в теме
Вообщем, идея, надеюсь, понятна ;)
2. JohnyDeath 302 09.08.08 10:45 Сейчас в теме
Отличная идея!
Kolunya; AlexeyPapanov; +2 Ответить
3. Душелов 4018 09.08.08 14:47 Сейчас в теме
Добавил пример для 1С 7.7.
В принципе, можно и класс для 1С++ написать...
4. Velostrannik 203 13.08.08 19:58 Сейчас в теме
5. Душелов 4018 14.08.08 01:56 Сейчас в теме
А дальше все понятно. Можно и без документации по формату обойтись - посмотреть, какие теги на размер шрифта, цвет влияют и дополнить код.
Так же, как и добавить картинки, заполнение таблиц и прочее... Шаблон есть, а дальше - простор мысли ;)
6. shuka 22.08.08 05:00 Сейчас в теме
я правильно понял, что office ВААБЩЕ не нужен для запуска?
7. Душелов 4018 23.08.08 21:02 Сейчас в теме
Вообще не нужен для формирования файла. Естественно, для его открытия офис нужен :)
8. homutke 48 28.08.08 09:42 Сейчас в теме
ММмм. а как же надпись без внешних компонент, если используются внешние упаковщики.
9. Душелов 4018 28.08.08 18:08 Сейчас в теме
(8) Я для 7-ки не планировал делать, попросили.
8-ка пакует сама.
10. JohnyDeath 302 28.08.08 22:32 Сейчас в теме
(8) 1с++ тоже умеет упаковывать/распаковывать ;)
11. Душелов 4018 29.08.08 09:42 Сейчас в теме
(10) но 1с++ - это уже внешняя компонента ;)
12. fantasy2 21.12.08 16:50 Сейчас в теме
в 77 нет метода Упаковать() !?
как оно без внешних компонент будет работать?
13. Душелов 4018 21.12.08 17:53 Сейчас в теме
(12) - см. комменты 8-10, можно упаковать винраром через ЗапуститьПриложение()
14. Душелов 4018 13.02.09 19:37 Сейчас в теме
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
15. Душелов 4018 24.02.09 21:09 Сейчас в теме
16. пользователь 25.02.09 09:30
Сообщение было скрыто модератором.
...
17. Душелов 4018 25.02.09 09:36 Сейчас в теме
18. h00m 25.02.09 10:27 Сейчас в теме
плохо то, что формат docx не совсем универсален. согласен, есть, конечно плагины для 2003, но формат doc всё же универсальней, хотя docx лучше и удобнее - не спорю
19. Душелов 4018 25.02.09 10:32 Сейчас в теме
(18) Это пока... docx как раз более универсальный за счет OpenXML.
20. Lars Ulrich 625 25.02.09 11:38 Сейчас в теме
фантастишь :) пилюс нашальника
21. uzerdv 13 27.05.09 02:42 Сейчас в теме
Есть ли возможность приобретения? oip:316615837
22. Alex_Sun 23.06.09 10:34 Сейчас в теме
А можноли с ее помощью вставлять штрих код в документ ворда?
23. Душелов 4018 23.06.09 10:36 Сейчас в теме
(22) Ну не надо в каждую тему-то то спамить...
24. KukA.5 476 10.09.09 00:50 Сейчас в теме
Василий, ты умница!
...и как ведущий покатушек :)
Спасибо.
25. Душелов 4018 10.09.09 08:12 Сейчас в теме
26. GenTay 03.12.09 00:06 Сейчас в теме
Доброго времени суток! Идея хороша, но что-то у меня не вытанцовывается. Или я не понял идею. ввел код, добавил процедуру. Пишет "файл создан", но его нет на компе, есть все кроме него. В чем идея? Где файл?
27. GenTay 03.12.09 00:07 Сейчас в теме
Т.е. красоты как на скриншоте я не добился.
28. ndacoder 110 01.07.11 17:08 Сейчас в теме
а объединение ячеек корректно обрабатывается ?
29. mark-simf 16.10.11 18:20 Сейчас в теме
Интересная идея!!! Главное все просто и понятно) Давно искал нечто подобное и нашел)))..........
30. koka 87 18.10.11 14:38 Сейчас в теме
Отлично! Работает на "Ура"!
31. ASoft 02.01.12 10:52 Сейчас в теме
Идея интересная. Спасибо. Использую для создания печатных форм договоров с контрагентами.
32. amatisol 25.03.12 22:40 Сейчас в теме
Не вижу пользы от этого, бухгалтерия в doc редко работает, а если и работают то просто недоучки и сидят таблицы рисуют
33. VapPaha 26.03.12 09:08 Сейчас в теме
не понятно применение, но интересно!
34. Serge_ASB 16.07.12 14:46 Сейчас в теме
Что входит в обработку
СозданиеДокументаWord2007?
Сам файл не скачивается от отсутствия "баллов", и подробности работы тоже неясны, т.к. нет обработки, на которую процедура ссылается.
35. larisab 160 16.07.12 15:02 Сейчас в теме
(34) Файлы скачиваются без баллов, все работы Душелова открыты. К несчастью, его уже нет с нами, вечная память...
36. Serge_ASB 16.07.12 15:35 Сейчас в теме
(35) larisab,
знаком не был, но присоединяюсь к пожеланию вечной памяти.
P.S. посмотрю еще раз.
37. Serge_ASB 17.07.12 14:47 Сейчас в теме
файл создает, но при попытке открытия ругается что
"Не удается открыть файл из-за ошибок содержимого".
38. rasswet 82 01.03.13 11:11 Сейчас в теме
супер вещь. после небольшого изменения работает под управляемым интерфейсом.
умный человек писал.
41. Manticor 66 08.05.14 16:36 Сейчас в теме
(38) rasswet, скачать cf-ник, попытался загрузитm в чистую конфу - пишет структура конфигурации не совместима с текущей версией программы. Как Вы ее запустили?
39. Astrakhan_man 26.02.14 10:12 Сейчас в теме
Подскажите а как поставить защиту на сформированный документ WORD?
40. skunk 02.04.14 08:51 Сейчас в теме
не понял как плюсовать ... но зачет однозначно
42. Чарик 2 05.08.15 12:36 Сейчас в теме
Просто класс обработка!
43. SkyD 12.11.22 15:57 Сейчас в теме
А как просто выдать его на печать?
Оставьте свое сообщение