Имя: Пароль:
1C
 
Вставить Дату и ФИО в документ 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) через ком
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший