Страницы: 1
RSS
Какая база данных позволяет создавать вордовский документ?
 
Есть множество документов (типа инструкций) с одинаковой структурой, и частично общим и частично разным наполнением. Инструкции большие. Каждая состоит из большого количества элементов (пунктов). Вариантов комбинаций этих пунктов много.
Нужно все это содержание забить в базу данных, чтобы пользователь, отметив галочками свои потребности, выгрузил вордовский документ с нужным ему содержанием.
И чтобы я мог править эту базу, и одним изменением менять сразу все варианты возможных инструкций.
Что позволяет такое делать?
Здравствуйте.
Изменено: vikttur - 21.10.2021 22:29:50
 
VBA (Visual Basic for Application)
собственно, VBA уже есть в Excele осталось научиться им пользоваться
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
осталось научиться им пользоваться
Пполно видео, где Word заполняет шаблон, и вставляет в определенные поля нужную информацию. Но как собрать из кусочков длинный документ, выбирая нужные кусочки и пропуская ненужные - нигде не говорят.
 
В шаблон документа в word во все нужные для вставки места помешаете уникальный код (который точно не встретится в остальном тексте), затем в excel для каждого кода приписываете, что вместо него нужно вставить. Составляете макрос, подключаете библиотеку word, делаете цикл по файлам и по столбцу с кодами в excel. Ну и заменяете коды значениями.
 
Чем больше разнообразие документов, тем больше начальной ручной работы. От этого никуда не деться.
И еще: любые инструкции - это много текста. Excel не умеет так оформлять тексты, как текстовые редакторы. Если инструкции настолько разнообразны, что не получится в шаблоне Word задать форматирование отдельных участков, то не получится формировать нормальный текстовый документ из "базы" текстов, расположенных в ячейках. Тексты должны быть в нормальном формате в каком-то файле Word, из которого можно копировать это разнообразие (жуть задумка!).

Еще варианты
1. Сделать 100500 шаблонов  Word (на каждый документ свой шаблон), расположить в одной папке. Нужный файл находить по его названию.
2. Сгруппировать документы по их "похожести", создавать по одному шаблону для каждой группы. При минимальных правках/дополнениях из шаблона можно формировать любой документ этой группы.
 
В дополнение к словам vikttur:
Изменено: Jack Famous - 22.10.2021 11:49:17
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
iva2000,

Рекомендую начать с освоения этого очень практичного приёма:

https://www.planetaexcel.ru/techniques/7/93/

а когда упрётесь в недостаток функционала указанного выше приёма, переходите на освоение вот этой надстройки, использование которой, предполагаю, решит вашу задачу:

https://excelvba.ru/programmes/FillDocuments

При переходе на использование надстройки, мне очень (!) помог опыт, полученный при внедрения приёма от planetaexcel.

 
Спасибо вам, что подумали над вопросом. База действительно получается сложная.
Нужно эти инструкции формировать для разных продуктов, добавляя к общему шаблону уникальные для этого продукта пункты. И использовать разные шаблоны для документов разного типа по каждому продукту.
И пункты должны нумероваться, и быть вордовским текстом с примененным стилем. Чтобы получился нормальный вордовский документ. И на титульном листе впечатывать печать и факсимиле директора.
Плюс пользоваться нужно этим не только мне. Я должен наполнить базу, а генерировать документы будут другие люди. Боюсь, экселевский шаблон они не осилят.
Сделать множество кусочков каждый в отдельном файле .docx, - конечно жуть. Но на крайний случай может сработать. По крайней мере этот способ каждому кусочку назначить стиль, и позволяет рисуночек с подписью и факсимиле иметь на нужном месте.

Сейчас сяду, напишу ТЗ нашим айтишникам, спрошу - смогут ли они такое сделать на базе имеющейся на предприятии 1С. Или могут ли заставить 1с собирать один документ из маленьких кусочков, каждый в своем файле docx.
 
Цитата
Olga H. написал:
Рекомендую начать с освоения этого очень практичного приёма: https://www.planetaexcel.ru/techniques/7/93/
Спасибо вам. Я прочитал, и видео просмотрел. У меня задача несколько иная.
Одна из задач - сформировать индивидуальную инструкцию по испытаниям для каждого типа продукта для лаборатории. Она состоит и из общих требований и из индивидуальных. Куски получаются довольно большие. И нужно именно галочками отметить какой продукт и какие особенные дополнительные требования к продукту применяются. Механизмом заполнения бланков так не получается сделать.
 
iva2000,
но вы же в шаблоне (!) итогового документа делаете метки (в виде фигурных скобок, в которых номера нужных ячеек исходной таблицы с данными или в виде гиперссылки) и по ним в готовый документ из исходной таблицы вносятся те данные, которые вы отметили как подлежащие переносу.

Все равно должна быть исходная база, из которой вы переносите в шаблон итогового документа нужные данные. Я так понимаю.  
 
Olga H., не только внесение данных по меткам (отметка фигурными скобками или закладки - неважно), но и конструктор документов, игрушка LEGO
 
Цитата
Olga H. написал:
но вы же в шаблоне (!) итогового документа делаете метки
Шаблона итогового документа нет, есть структура разделов.
И эти разделы наполняются общими пунктами, и частными пунктами, относящими к этому конкретному продукту.
Сейчас я создал большой документ, в котором описаны требования и методы испытаний для нескольких продуктов. И предложил коллегам читать и исполнять только то, что относится к нужному продукту. И обещал наполнять этот документ дальше, погружая в него требования к другим продуктам.
И коллеги возмутились, сказали, что это невозможно прочитать, и что мне нужно к каждому продукту делать отдельные инструкции.
Но отдельную инструкцию делать невозможно, я не могу вносить синхронные изменения в двадцать документов. Могу вносить изменения только в один документ.
И выгружать нужный документ по своему запросу будут мои коллеги, это не должен делать я. То есть нужна какая-то база с пунктами требований и программами испытаний, из которой выгружается индивидуально созданный документ, с содержанием, которое настраивается путем проставления галочек.
 
iva2000,
может я не до конца понимаю суть вашей задачи, но из того что прочла понятно, что желаете связать две "вещи"- конкретный продукт и требования к конкретному продукту.

Грубо говоря, чтобы при выбора продукта "А" к нему автоматически подтягивались  требования именно к продукту "А". То есть необходимо привязать каждый продукт к определённым требованиям. Например, чтобы при выборе пользователем в ячейке B1 продукта "A" , в ячейке  бы"C1" вышло, что этот продукт испытывается по методике № 1, в ячейке "D1" выходили бы номера пунктов методики № 1, относящиеся к выбранному продукту, а в ячейке "E1" выходили все эти пункты методики.  
 
Цитата
Olga H. написал:
может я не до конца понимаю суть вашей задачи, но из того что прочла понятно, что желаете связать две "вещи"- конкретный продукт и требования к конкретному продукту.
Да. И требования состоят из общей части, из специфической для продукта части, и из дополнительной специфической части для специсполнений.
Кроме того, есть общее описание требований, есть конкретизированные требования, есть общие инструкции для испытателей, есть подробные инструкции для испытаталей, и есть формы протоколов. И вот вот это все должно быть в одном месте.
Грубо говоря, если в лабораторию покупают новый прибор, таблицы с приборами меняются и инструкция к измерению определенного параметра должна измениться. И все это должно происходить во всех возможных выгружаемых документах сразу.
 
iva2000,

Если правильно поняла вашу задачу, то воспользовалась бы приёмом, который ниже по ссылке.

Чтобы при выборе продукта на Листе 1  в ячейке, например, B1, работник получил в ячейке C1 Листа 1 «картинку» требования, относящегося к конкретному продукту.

Но в любом случае, вам потребуется создать исходную таблицу, например, на другом листе (например, на Листе 2), в которой будут «разнесены» продукты и требования к ним. Например, в ячейке A1 Листа 2 название продукта, а в ячейке B1 Листа 2 скан выдержки определённых пунктов из методики, относящихся к определённому продукту.

Ну и потом, проработав указанный ниже приём, свяжите Лист 1 с Листом 2.  

«Выбор фото из выпадающего списка»:

https://www.planetaexcel.ru/techniques/1/39/

Ну и потом, связав Листы 1 и 2 и создав шаблон протокола с метками (те данные, которые вы хотите переносить в протокол с Листа 1), можете составлять протокол согласно приёма "Автоматическое заполнение бланков".

Но на личном примере вам скажу, что такого рода "самоделки" хорошо работают, когда с ними работает только их разработчик. Для коллективного пользования эти "самоделки" надо защищать от самовольных "модернизаций" пользователей и быть готовым ходить и разъяснять-объяснять-показывать пользователям как это работает и "почему не получается".  

https://www.planetaexcel.ru/techniques/7/93/

Изменено: Olga H. - 22.10.2021 18:46:15
 
vikttur,
уточните пожалуйста, что вы имели ввиду под "конструктор документов"?
 
То и подразумевал.
LEGO знаете? Набор деталек, из которых можно собрать дом. Разобрать и собрать вертолет. Потом слепить трактор, потом человека с удочкой или межзвездный ковчег :)
Здесь: набор фрагментов текстов, формулы. таблицы, заголовки, еще всякой разности куча... Задали условия - имеем инструкцию, изменили условия - получили наряд, пошаманили - слепили договор, еще поигрались - на выходе билет на футбольный матч или ордер на арест )

Естественно, соорудить такую программу - если и можно, то с большими время_мозго_нерво_трудозатратами.. Поэтому в теме предлагали разные варианты, которые хоть как-то приближают получение желаемого
Страницы: 1
Наверх