Имя: Пароль:
1C
1C 7.7
v7: Как из 1с послать на печать документ Word?
0 evgpinsk_
 
09.11.21
23:17
Собственно вопрос в заглавии. Хочется автоматизировать печать. Пусть есть десять счетов. У каждого счёта есть свой вордовский договор.
Хотелось бы по нажатию кнопки распечатать все эти договора, и с автоматической двусторонней печатью.
Это возможно?
Гугл толком ничего не подсказал
1 Ёпрст
 
гуру
09.11.21
23:28
Я нажми, правый верхний угол
2 evgpinsk_
 
09.11.21
23:57
Я помогло не многим больше чем G
)
3 timurhv
 
10.11.21
00:18
http://disk1c.ru/2016/07/
Принтер подцепить второй раз и выставить там двустороннюю печать
4 evgpinsk_
 
10.11.21
00:22
(3) Видел похожий код, но там также было только для 8ки
5 evgpinsk_
 
10.11.21
00:23
Хотя суть понял. попробую
6 evgpinsk_
 
14.11.21
22:25
Всё получилось, все договора выбранных счетов печатаются.
Одна загвоздка осталась:

В этих договорах изначально в виде рисунка вставлены печати (одна или две).
Перед распечаткой их нужно удалить (чтобы проставить оригиналы).

И почемуто код
Сообщить(Документ.InlineShapes.Count);
не находит эти рисунки, если рисунок имеет свойство обтекания "За текстом"

Какойто странный трабл: Получить доступ к рисункам через коллекцию я могу только если свойство обтекания поставить "В тексте".
Но это мне не подходит

Никто случаем не сталкивался?
7 evgpinsk_
 
14.11.21
22:35
Правильно задал вопрос гуглу и нашёл:
"Когда рисунок имеет обтекание "за текстом" он уже не является объектом InlineShape , а является просто Shape."
8 evgpinsk_
 
14.11.21
22:46
Была ещё задумка: найти в вордовском договоре "Дату договора", и проверить чтобы дата договора в 1с совпадала с вордовской.
Но пока простого способа не вижу.

В ворде руками дату могут писать по разомну, в т.ч. и через пробелы "01 11 2021"  и не понятно как её находить
9 hhhh
 
15.11.21
00:11
(8) ну, 01 11 2021 то же самое, что и 01.11.2021. В чем проблема?
10 evgpinsk_
 
15.11.21
00:34
(9) Ещё много других вариантов дат можно придумать, например "_01_" 11 2021, или "_01_" ноября.2021.
Получается нужно из куска текста (например первые 3-4 строки) вычленить все слова и понять какое из них есть дата. Причём дату могут составлять и одно и два и три слова
11 evgpinsk_
 
15.11.21
00:40
И тут два варианта решения:
1) тупо на экран пользователю выводить для каждого договора первые строки договора и он глазами проверяет дату в договоре с датой в 1с (сейчас так и сделано)
2) всё-таки поизвращаться и программно попытаться определить дату для многих вариантов её написания
12 МихаилМ
 
15.11.21
00:53
(11) правильный вариант - "мальчик отойди от комъютера".
13 evgpinsk_
 
16.11.21
22:47
Вылезла ещё одна неприятность: процесс пакетной печати подвисает /причём незаметно для пользователя/ если попадается документ, у которого слишком маленькие границы и по мнению Word текст не влезет на страницу. при таком раскладе и 1с модально может подвиснуть.

Есть какие мысли как побороть?
14 evgpinsk_
 
16.11.21
22:49
(13)  "Причём незаметно для пользователя" - т.е. сам Word не хотелось бы визуально открывать, поэтому и не виден затык
15 hhhh
 
16.11.21
23:18
(11) тупо вычленить основные варианты ввода даты, и реализовать их, хотя бы процентов на 90 всех дат чтобы отрабатывало. Дальше добавлять в этот список еще варианты по мере возникновения.
16 evgpinsk_
 
17.11.21
01:01
(15) посчитал что нет смысла тратить на это время. сложновато в не отформатированном тексте с непонятным количеством слов вычленить дату непонятного формата. овчинка не стоит выделки.
А вот проблема даилоговых окон ворда напрягает. Без её решения затея пакетной печати не имеет смысла
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn