|
Вставить Дату и ФИО в документ word из 1С
| ☑ |
0
SeregaMW
19.12.19
✎
15:06
|
Собственно сабж, при открытии большого количества документа необходимо вставлять ФИО в параметры текстового поле.
|
|
1
dka80
19.12.19
✎
15:30
|
Я параметры не вставлял. Я делал поиск ключевого слова и замену
|
|
2
SeregaMW
19.12.19
✎
15:39
|
Надо через ComApplication
|
|
3
Кирпич
19.12.19
✎
15:53
|
я бы на питоне накарябал скрипт и никаких вардов не надо. и быстро как пуля
|
|
4
Кирпич
19.12.19
✎
15:58
|
from docxtpl import DocxTemplate
fio = "Иванов Иван Иваныч"
dt = "01.10.1982"
doc = DocxTemplate("template.docx")
context = {'fio' : fio, "date": dt}
doc.render(context)
doc.save("generated_doc.docx")
бдымс и готово
|
|
5
Кирпич
19.12.19
✎
16:43
|
вот вам суперфреймворк. дарю
# устанавливаем python
# устанавливаем docxtpl
# pip install docxtpl
# запиcываем этот текст в файл toword.py
# записываем в файл data.txt данные из 1с в виде
# [
# ["Иванов Иван Иваныч","01.03.1968"],
# ["Петров Иван Иваныч","25.08.1978"],
# ["Сидоров Иван Иваныч","11.07.1938"],
# ]
# кладем data.txt рядом с toword.py
# переходим в папку, где лежат файлы и запускаем python toword.py
from docxtpl import DocxTemplate
def do(file_name)
data = ""
with open(file_name,"r",encoding='utf-8') as f:
data = f.read()
all = eval(data)
n = 0
for d in all:
fio, dt = d
doc = DocxTemplate("template.docx")
context = {'fio' : fio, "date": dt}
doc.render(context)
n += 1
doc.save(f"{n}.docx")
do("data.txt")
|
|
6
Кирпич
19.12.19
✎
16:45
|
после того, как всё будет готово, можно продолжать мудохаться с ComApplication
|
|
7
Кирпич
19.12.19
✎
16:57
|
а в template.docx вставляем куда надо
{{fio }}
{{date}}
|
|
8
singlych
19.12.19
✎
16:59
|
БСП умеет Word, правда там описывать такие функции довольно громоздко. Зато стандартно.
|
|
9
Кирпич
19.12.19
✎
17:04
|
(8) а БСП через Com работает или напрямую?
|
|
10
singlych
19.12.19
✎
17:06
|
(9) через ком
|
|