Имя: Пароль:
1C
 
1С ДО 2 - настройка заполнения файла шаблона
0 zippygrill
 
04.07.25
13:32
Привет,
Есть необходимость заполнить файл WORD данными нетиповой табличной части внутреннего документа, по установленному шаблону. В настройках заполнения файла, среди реквизитов - нет ни одной типовой ТЧ даже. Полагаю стандартным механизмом этого не сделать.
Вопрос - скриптом из табличной части Скрипты - это возможно?
1 zippygrill
 
04.07.25
13:38
расшифрую "Есть необходимость заполнить файл WORD данными нетиповой табличной части внутреннего документа" - хотим заполнить в ворд таблицу со списком из двух столбцов (ТЧ внутреннего документа которая заполняется по бесшовке например). Знаю что библиотека работы с Word это умеет делать, но насколько это интегрировано с функцией заполнения файла по шаблону..
2 Масянька
 
04.07.25
13:39
(0) А для чего они по-твоему?
https://postimg.cc/G4v5yB5g
https://postimg.cc/0KJf1FgX
3 zippygrill
 
04.07.25
13:43
(2) как мне показалось, скрипты не могут "нарисовать" таблицу  - вот хочу это выяснить
4 Garykom
 
гуру
04.07.25
13:45
(0) Можно
Но придется слегка допилить
https://infostart.ru/1c/articles/259510/

И будут проблемы с перезаполнением/обновлением в части сохранения данных внесенных вручную пользователями
5 Масянька
 
04.07.25
13:46
(3) С таблицами очень не просто (скрипты):
- добавлять строки не будет.
- заполняются только закладки.
Кодом - все работает.
6 zippygrill
 
04.07.25
13:47
(4) похоже то что надо
7 maxab72
 
04.07.25
14:12
Мне на курсах по ДО преподаватель показывал способ автозаполнения табличной части для Word-ового шаблона, но тетрадку с курсов кто-то потом увел...
8 Garykom
 
гуру
04.07.25
14:44
(6) угу
там в ОбщийМодуль.АвтозаполнениеШаблоновФайловВызовСервера или другой уже точно не помню надо подправить если ДО 2.1 КОРП свежий

и для удобства я наваял свой модуль с процедурами/функциями для формирования таблиц в виде xml для вставки в docx
ну типа
Функция ТаблицаDOCX(ТаблицаСтроки) Экспорт

в нее ТЗ передаешь заполненную с синонимами и шириной колонок
на выходе готовый xml
для шрифтов, размера и начертания так же можно
9 Garykom
 
гуру
04.07.25
14:22
(8)+ нашел АвтозаполнениеШаблоновФайловКлиентСервер

Процедура ЗаписатьВXMLСодержимое(ЗаписьXML, Знач Содержимое)
	
	Спецсимволы = Новый Соответствие;
	Спецсимволы.Вставить("<w:br/>", Символы.ПС);
	Спецсимволы.Вставить("</w:t><w:tab/><w:t>", Символы.Таб);
	
	Для Каждого Спецсимвол Из Спецсимволы Цикл
		Содержимое = СтрЗаменить(Содержимое, Спецсимвол.Значение, СтрШаблон("_###_%1_###_", Спецсимвол.Ключ));
	КонецЦикла;
	
	МассивПодстрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Содержимое, "_###_", Ложь);
	
	Для Каждого Подстрока Из МассивПодстрок Цикл
		Если Спецсимволы[Подстрока] <> Неопределено Тогда
			ЗаписьXML.ЗаписатьБезОбработки(Подстрока);
		//+ 
		ИначеЕсли СтрНайти(Содержимое, "<w:tbl>") > 0 Тогда
			ЗаписьXML.ЗаписатьБезОбработки(Подстрока);
		//- 
		Иначе
			ЗаписьXML.ЗаписатьТекст(Подстрока);	
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры
10 maxab72
 
04.07.25
14:22
(8) На курсах у преподавателя было как-то проще, не требовалось лезть в конфу. Но там в шаблон самого документа надо было добавить скрипт для создания новой строки таблицы, и заполнения ее полями для ввода с индексами.
11 Garykom
 
гуру
04.07.25
14:24
(9)+ еще АвтозаполнениеШаблоновФайловСервер.ПолучитьНастройкиАвтозаполненияШаблоновФайлов
надо подправить
12 Garykom
 
гуру
04.07.25
14:25
(10) Это было пока типовую ДО не обновили или не версия КОРП
в комментах в (4) есть
13 Garykom
 
гуру
04.07.25
14:27
Как правильно таблицы в docx вставлять я разбирался создавая пустой файлик docx с нужной табличкой, с нужными размерами колонок, шрифтами и прочим
Распаковывал как zip-архив и изучал xml - там все довольно просто как разберешься
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший