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

1С 8.x : Как сформировать новый договор, документ на основании файла, шаблона Microsoft Office Word?

Для заключения договоров с контрагентами разработан типовой договор (шаблон).
При его оформлении (для реального контрагента) в определенные места документа вставляются данные о контрагенте.
Подобные фрагменты определены следующим образом: <ИмяОбласти> (на практике можно использовать другие способы, в нашем примере квадратные скобки [ ]).
Пример договора:
Договор
на оказание услуг

Я, [Заказчик], с одной стороны, именуемый в дальнейшем ЗАКАЗЧИК, и [Исполнитель],
с другой стороны, именуемый в дальнейшем ИСПОЛНИТЕЛЬ, заключили договор о настройке
системы 1С:Предприятие под нужды заказчика.

Дополнительные условия:
Глюки убирать сразу.

Оплата:
$100 в час. Обсуждению не подлежит.

Подписи сторон:

ЗАКАЗЧИК ИСПОЛНИТЕЛЬ
_____ [Заказчик] _____ [Исполнитель]



Оформленный таким образом документ сохранен в файле, который загружен в 1С v 8 в качестве макета (при его создании указывается, что тип макета – Active document).

Далее в соответствующем обработчике события (например, в обработчике нажатия на кнопку Создать договор) размещается следующий код:
Код 1C v 8.х
  Договор = ПолучитьМакет("Договор");
// Получить объект из макета.
MSWord = Договор.Получить();

Попытка
Документ = MSWord.Application.Documents(1);
Документ.Activate();
//Определим имена
Заказчик = "Петр Иванович КакВасТам";
Исполнитель = "helpf.pro - Помощник по 1С"

// Получить объект, который будем использовать для поиска и замены.
Замена = Документ.Content.Find;

// Заменить заранее определенные ключевые конструкции на требуемый текст.
Замена.Execute("[Заказчик]", Ложь, Истина, Ложь, , , Истина, , Ложь, Заказчик);
Замена.Execute("[Исполнитель]", Ложь, Истина, Ложь, , , Истина, , Ложь, Исполнитель);
// Далее аналогично для остальных ключевых конструкций.
// ...
// Делаем видимым приложение и активизируем его.
MSWord.Application.Visible = Истина;
MSWord.Activate();
Исключение
// Если произойдет ошибка, выводятся данные об ошибке и объект закрывается.
Сообщить(ОписаниеОшибки());
MSWord.Application.Quit();
КонецПопытки;


Код 1C v 7.x
 
Word = создатьОбъект("Word.Application");
wdDoc = Word.Documents;
wdDoc.Open(ИмяФайлаШаблона,0,1); //открываем только на чтение
// Делаем видимым приложение
Word.Visible = 1;
wdFindContinue = 1;
wdReplaceAll = 2;
True = 1;
False = 0;
Word.S_election.Find.Execute("[Заказчик]", True, True, False, False, False, True, wdFindContinue,False,"Петр Иванович КакВасТам", wdReplaceAll);
Word.S_election.Find.Execute("[Исполнитель]", True, True, False, False, False, True, wdFindContinue,False,"helpf.pro - Помощник по 1C", wdReplaceAll);
Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 35664
 0 
Распечатать
Возможно, вас также заинтересует
Ввод данных по командировкам в программе ЗУП 0
Ввод сведений о командировках в программе 1С: Зарплата и управление персоналом 8 (ред.30) осуществляется в Разделе Кадры - Все кадровые документы - Создать - Командировка Откроется документ: Ввод сведений о командировках в программ
Ввод дополнительного ежегодного отпуска 2
Вид расчета, используемый для начисления оплаты дополнительного ежегодного отпуска , описывается в плане видов расчета Основные начисления организаций . Новый вид расчета удобнее создать копированием предопределенного вида расчета Оплата отпуска п
ВКС - Высококвалифицированные специалисты - какие настройки нужно сделать ЗУП? 0
В этой статье мы вкратце расскажем - какие настройки нужно сделать ЗУП для временно пребывающих высококвалифицированных иностранных специалистов. Гражданство Откройте сотрудника и перейдите в настройки данных о Гражданстве Если сотрудник ВКС то
Внешняя печатная форма, дополнительные параметры для печати 5
Внешняя обработка (Печатная форма), содержащая: Необязательный реквизит « ДополнительныеПараметры » произвольного типа , которому будут передаваться дополнительные параметры примитивного типа в виде структуры. https://helpf.pro/uploads/img/_1-Y74bX
Выбрать Остатки и Обороты по указанным счетам, отбор по субконто и выгрузка результата в EXCEL 0
Запрос=Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Счет, | ХозрасчетныйОстаткиИОбороты.Субконто1, | ХозрасчетныйОстаткиИОбороты.Субконто2, | ХозрасчетныйОстаткиИОбороты.Субконто3, | ХозрасчетныйОстаткиИОбороты.Органи
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.