Часто при создании документа из макета используют метод замены кусков текста. В примере представлен другой вариант выполнения того же действия - с использованием закладок. Также представлен пример построения нумерованного списка, вставки картинки, настройки ее параметров.
Пример использования описанных возможностей прост. При формировании коммерческого предложения бывает необходимо описать список условий, добавить изображение образца продукции.
Для отображения закладок включите эту опцию в настройках вашего Word'а.
В моем примере я заранее создал новый пустой документ, путь к документу и картинке прописан в тексте. Не забудьте указать свои пути.
Тестировалось на Office 2007.
Некоторые переменные переименованы по стандарту Office: Text --> S_election. Doc --> ThisDocument.
Вот текст модуля:
Написал Nikola23 - http://infostart.ru/public/68072/
Кроме прочего в статье присутствует пример создания таблицы с любым количеством колонок и столбцов. Несколько строк с форматированием текста и таблицы. Создание "объединенных" ячеек.
В качестве примера использования можно указать вот такую ситуацию: в зависимости от типа клиента (договора, документа и т.п) формируются разные тексты договоров с разным количеством таблиц. В реальности, конечно должены использоваться и макет и описанные здесь динамические механизмы.
В моем примере я заранее создал новый пустой документ.
Тестировалось на Office 2007.
Исп. переменные: "ПутьКФайлу" - строка. Полное имя файла в формате MSWord.
"Ссылка" - ДокументСсылка (в моем случае - счет).
Вот текст модуля:
Написал Nikola23 - http://infostart.ru/public/67727/
У разработчиков на платформе 1С иногда возникает задача по взаимодействию системы 1С: Предприятие с различными почтовыми программами и протоколами. 1С Предприятие 8.0 имеет довольно удобные средства для отправки сообщений, импорта писем из почтового клиента в справочник или другой объект конфигурации, работы с MAPI, SMTP или POP3.
При работе с почтой разделяют два способа доступа к почтовому ящику, почтовому клиенту:
объект "Почта" и объект "Интернет почта", каждый из объектов имеет свои достоинства.
Почта - предоставляет доступ к почте через встроенный почтовый клиент, работает по технологии MAPI.
Интернет почта - объект открывает возможности по доступу непосредственно к почтовым ящикам и учетным записям находящимися на почтовом сервере, использование и работа данного объекта не зависит от установленных в системе почтовых клиентов, даже если почтовый клиент установлен в системе "ИнтернетПочта" будет работать параллельно с ним, объект использует интернет-протоколы SMTP, POP3.
1.Получение сообщений объектом "Почта".
Для работы с объектом Почта необходимо наличие установленного на компьютере почтового клиента с описанными учетными записями.
Для подключения к почтовому клиенту у объекта есть метод "Подключиться".
Первый параметр - имя профиля, к примеру, если в системе установлен MS Outlook, то как правило его профиль называется Outlook. Следовательно при подключении строка выглядела бы так:
Второй параметр отвечает за пароль к учетной записи.
Далее необходимо произвести выбор необходимых нам писем, для этой цели объект Почта имеет метод "Выбрать". У метода два параметра, первый отвечает за выбор непрочитанных писем - Истина (при Ложь будут выбраны все письма, находящиеся в папке "Входящие" почтового клиента), второй отвечает за выборку вложений, при Ложь, вложения выбираются.
//Выбираем все письма, со всеми вложениями.
(иногда при взаимодействии с Outlook 2003 возникает проблема, при которой 1С 8 просто аварийно завершает работу с ошибкой, именно на данной строке кода, это лечится установкой пакета обновления SP2 для MS Office 2003).
Далее после выборки сообщений необходимо перебрать их в цикле и сохранить, на форме необходимо добавить ТабличноеПоле1 куда будут сохраняться входящие письма.
Все реквизиты входящих писем сохраняются в соответствующие поля табличного поля, вложения сохраняются в каталог временных файлов, а имена вложений в реквизит табличного поля. Для более удобного хранения вложений писем, 1С 8 имеет тип "Хранилище значения", который позволяет хранить двоичные данные, далее при получении сообщений объектом ИнтернетПочта рассмотрим возможность хранения в "Хранилище значения".
2.Отправка сообщений объектом "Почта"
При отправке сообщения, подключение к почтовому клиенту производится точно так же, как и при получении, перед отправкой необходимо подготовить письмо.
В методе Почта.Послать(Сообщение,Истина) два параметра, первый принимает ссылку на почтовое сообщение, второй параметр определяет, требуется ли запрос на подтверждение о получении письма адресатом (Истина - запрос включен). После этих операций письмо попадает в папку "Исходящие" почтового клиента, и в зависимости от настроек клиента отправляется сразу или по команде пользователя.
В MS Outlook встроена защита от несанкционированного доступа к адресной книге и базе почтовых сообщений, и защита от несанкционированной отправки электронных писем через службы Outlook. В Outlook 2003 система безопасности срабатывает не только при попытке получить адрес отправителя письма, но даже при попытке получить его текст. В действительности защита выражается в показываемом пользователю окне системы безопасности при обращении к некоторым объектам и свойствам объектов Outlook и предлагает открыть доступ на определенное время, следует разрешить доступ.
3.Получение сообщений объектом "ИнтернетПочта".
Перед подключением к почтовому серверу, для объекта ИнтернетПочта необходимо заполнить данные Профиля учетной записи, и затем передать эти данные в метод "Подключиться".
Метод Почта.Выбрать(Истина,Заголовки); имеет два параметра, первый отвечает за удаление писем с сервера (при Истина-удалять), второй параметр отвечает за массив сообщений для выборки (т.е. закачки на компьютер клиента с сервера), если параметр пуст, то выбираются все сообщения находящиеся на сервере.
При переборе вложений, данные полученные из письма сохраняются в реквизит типа ХранилищеЗначения, заранее созданного справочника "СправочникВложения" в конфигураторе, т.к. данные первоначально сохраняются на диск, а затем загружаются в справочник, то, после загрузки в соответствующий реквизит справочника данные можно удалить. Не рекомендуется хранить данные типа ХранилищеЗначения в Табличных частях справочников, т.к. при больших объемах данных это затормаживает работу конфигурации.
4.Отправка сообщений объектом "ИнтернетПочта".
При отправке сообщения используется Функция ПолучитьПрофиль().
Удобно подключить автополучение/автоотправку почты командой "ПодключитьОбработчикОжидания(,)". Первый параметр в команде отвечает за наименование вызываемой процедуры, и второй, период ожидания процедуры в секундах, обычно обработчик ожидания вставляется в глобальный модуль системы (например, в процедуру ПриНачалеРаботыСистемы()) и указывает на процедуру с пометкой Экспорт.
Например, можно создать процедуру ПроверитьПочту, в которую вставить загрузку писем из почтового ящика и вставить ее в следующую строку:
ПодключитьОбработчикОжидания("ПроверитьПочту",60)
Также для обработки и просмотра сообщений в формате HTML удобно пользоваться компонентом "Поле HTML документа", для загрузки HTML текста в компонент используется метод ПолеHTMLдокумента.УстановитьТекст(Html), где Html-это документа полученный из текста сообщения. Есть вариант загрузки HTML с диска (если это вложение), ПолеHTMLдокумента.Перейти("file:\\C:\File.html").
После использования нескольких или сразу всех способов работы с электронной почтой, образуется полноценный почтовый клиент с возможностью хранения и обработки писем с вложениями на базе 1С предприятие 8.0.
Для заключения договоров с контрагентами разработан типовой договор (шаблон).
При его оформлении (для реального контрагента) в определенные места документа вставляются данные о контрагенте.
Подобные фрагменты определены следующим образом: <ИмяОбласти> (на практике можно использовать другие способы, в нашем примере квадратные скобки [ ]). Пример договора: Договор
на оказание услуг
Я, [Заказчик], с одной стороны, именуемый в дальнейшем ЗАКАЗЧИК, и [Исполнитель],
с другой стороны, именуемый в дальнейшем ИСПОЛНИТЕЛЬ, заключили договор о настройке
системы 1С:Предприятие под нужды заказчика.
Оформленный таким образом документ сохранен в файле, который загружен в 1С v 8 в качестве макета (при его создании указывается, что тип макета – Active document).
Далее в соответствующем обработчике события (например, в обработчике нажатия на кнопку Создать договор) размещается следующий код:
Печатная форма договора в Word/Writer для Управление Торговлей 11 (с использованием БСП)Позволяет выводить договор с контрагентом в Word (MS Office)...
Печатная форма договора в Word/Writer для Управление Торговлей 11 (с использованием БСП)
Позволяет выводить договор с контрагентом в Word (MS Office) или Writer (OpenOffice/LibreOffice) с заполненными реквизитами обеих сторон, с возможностью правки и сохранения данных о договоре (№, дата, срок действия), о подписантах с обоих сторон (должность, ФИО) и использованием штатных возможностей встроенной в Управление Торговлей 11 Библиотеки Стандартных Подсистем (БСП). Обработка использует исключительно штатные возможности УТ11, поэтому не требует внесения каких-либо изменений в конфигурацию. Обработка писалась и тестировалась на релизах УТ 11.0.8 и 11.0.9, для релизов УТ 11.1 потребуется доработка.
Краткое описание возможностей:
1. Установка
Установка производится при помощи штатного функционала панели "Администрирование"\"Печатные формы, отчеты и обработки"\"Дополнительные отчеты и обработки" - нажимаем "Создать", указываем файл "ПечатьДоговораВOffice.epf", записываем, в итоге получаем две команды для договоров с контрагентами: "Печать договора" и "Печать договора (настройка)". Первая производит непосредственную печать указанного договора с использованием сохранённых настроек, вторая - позволяет просмотреть сохранённые настройки и изменить их, а также вывести на печать.
2. Настройки
Настройки подписанта со стороны организации сохраняются для каждой организации в отдельности кнопкой "Сохранить настройки организации".
Кнопкой "Сохранить" сохраняются глобальные настройки обработки (тип используемого шаблона (Word/Writer), место хранения шаблонов (макеты обработки/справочник приосединённых к физ.лицам файлов)), а также указанные настройки для договора (№, дата, срок действия, данные о подписантах) (последние сохраняются в справочнике присоединённых к договору файлов).
3.Шаблоны
Шаблоны договоров можно размещать как в макетах самой обработки, так и в базе данных, "прикрепив" их к какому-нибудь физ.лицу. Правила именования макетов:
{ТипДоговора}{ТипШаблона} , где
{ТипДоговора} - Покупатель или Поставщик
{ТипШаблона} - DOC (для Word) или ODT (для Writer)
например, шаблон договора с покупателем для Word должен называться "ПокупательDOC"
Перечень доступных парметров печатной формы можно просмотреть в прилагающихся примерах шаблонов, они имеют вид {v8 ИмяПараметра}
4. Примечания
4.1. Шаблоны для Word
В БСП присутствует ошибка, из-за которой для некоторых типов файлов шаблонов (содержат более одной секции с разными настройками и/или имеют очень большой размер) из них не переносятся параметры страницы в конечный документ. Происходит это из-за использования для доступа к параметрам документа объекта ActiveDocument.PageSetup, который в указанных выше случаях возвращает часть настроек как "Неопределено".
У меня при формировании форм в пакете OpenOffice 3.3 для некоторых участков текста "слетало" форматирование (выравнивание, шрифт и/или его размер, выделение курсивом или жирным), однако из этого же шаблона в LibreOffice 3.5/3.6 всё формировалось корректно, поэтому рекомендую использовать именно этот пакет.