📋 Содержание
1. Обзор обновления
2. Что такое групповые шаблоны
3. Что нового в версии 1.5.12
4. Полная инструкция по работе
5. Практические примеры
6. Устранение проблем
7. Частые вопросы (FAQ)
🎯 Обзор обновления
Версия 1.5.12 представляет полностью переработанный механизм обработки групповых шаблонов — одну из самых мощных функций Smart Doc Gen для создания сводных документов.
Ключевые улучшения:
✅ Умное определение области данных — программа автоматически различает данные «шапки» документа и данные для таблицы
✅ Плейсхолдеры везде — теперь работают не только в таблицах, но и в любом месте документа
✅ Корректное форматирование чисел — исправлены артефакты float (712.8000000001 → 712.8)
✅ Сохранение форматирования — полное копирование стилей, шрифтов и оформления
✅ Расширенное логирование — подробные логи для диагностики и поддержки
📖 Что такое групповые шаблоны
Определение
Групповой шаблон — это специальный тип Word-документа, который позволяет объединить данные из нескольких строк Excel в один итоговый документ.
Отличие от обычных шаблонов
Типичные сценарии использования
— 📋 Реестры и списки — сводный список всех участников, студентов, сотрудников
— 📊 Накладные и инвойсы — документ с несколькими позициями товаров
— 🎓 Ведомости — итоговая ведомость по группе студентов
— 📄 Протоколы — список участников собрания или мероприятия
— 💼 Отчёты — сводные отчёты по проектам или клиентам
—
🆕 Что нового в версии 1.5.12
Проблемы старой версии (до 1.5.10)
❌ Проблема 1: Заполнение по индексам
Было:
Таблица заполнялась по порядковым номерам столбцов (0→0, 1→1, 2→2), а не по именам плейсхолдеров.
Последствия:
— Если в шаблоне 3 столбца, а в Excel 5 — не работает
— Изменение порядка столбцов в Excel ломает документ
— Невозможно выборочно использовать данные
❌ Проблема 2: Игнорирование плейсхолдеров вне таблиц
Было:
Плейсхолдеры {{…}} вне таблиц просто игнорировались и оставались в документе как есть.
Последствия:
— Нельзя было заполнить «шапку» документа
— Номер инвойса, дата, контрагент — всё приходилось вводить вручную
❌ Проблема 3: Удаление всех строк таблицы
Было:
Программа удаляла ВСЕ строки таблицы кроме заголовка, а затем добавляла новые.
Последствия:
— Терялось форматирование строк
— Невозможно было иметь «шапку» таблицы с постоянными данными
— Терялись объединённые ячейки
❌ Проблема 4: Артефакты float
Было:
Числа с плавающей точкой отображались с ошибками округления: 712.8000000000001
Последствия:
— Некрасивый вид документов
— Числа занимают больше места
— Выглядит непрофессионально
Решения в новой версии (1.5.12)
✅ Решение 1: Заполнение по именам плейсхолдеров
Теперь:
Каждый плейсхолдер {{ИмяСтолбца}} ищет соответствующий столбец в Excel по имени, а не по позиции.
Преимущества:
Excel:
| Товар | Цена | Количество |
Шаблон:
| Наименование | Кол-во |
| {{Товар}} | {{Количество}} |
✅ Работает! Столбец «Цена» просто не используется.
✅ Решение 2: Плейсхолдеры работают везде
Теперь:
Плейсхолдеры {{…}} заменяются в любом месте документа: в заголовках, параграфах, колонтитулах.
Пример:
Логика:
— Плейсхолдеры вне таблиц → заполняются данными первой строки Excel
— Плейсхолдеры в таблицах → размножаются для всех строк Excel
✅ Решение 3: Умное разделение на «шапку» и «таблицу»
Теперь:
Программа автоматически определяет:
— header_keys — данные только в первой строке (номер инвойса, дата, клиент)
— table_keys — данные во всех строках (товар, количество, цена)
Алгоритм:
1. Анализирует Excel
2. Если значение есть ТОЛЬКО в первой строке → header_key
3. Если значение есть в нескольких строках → table_key
4. Строки с header_keys заменяются один раз
5. Строки с table_keys размножаются для всех данных
✅ Решение 4: Корректное форматирование чисел
Теперь:
Специальная функция _format_value() обрабатывает числа с плавающей точкой:
712.8000000000001 → 712.8
930.0 → 930
3.14159 → 3.14159
Правила:
— Округление до 10 знаков после запятой
— Удаление trailing zeros (незначащих нулей)
— Целые числа без десятичной точки
📚 Полная инструкция по работе
Шаг 1: Определение группового шаблона
Как программа распознаёт групповой шаблон?
Шаблон считается групповым, если в его имени файла содержится слово «group» (без учёта регистра).
Примеры:
✅ Групповые:
— Инвойс group.docx
— group реестр.docx
— Накладная GROUP.docx
— Протокол Group 2025.docx
❌ Обычные:
— Инвойс.docx
— Сертификат.docx
— Приказ.docx
💡 Совет: Используйте понятные имена, например «Реестр студентов group.docx», чтобы сразу было ясно назначение файла.
Шаг 2: Подготовка данных в Excel
Структура данных
Данные в Excel для групповых шаблонов имеют специфическую структуру:
Анализ структуры:
- Первая строка — содержит ВСЕ данные (номер, дата, клиент, первая позиция товара)
- Остальные строки — содержат только данные таблицы (товар, цена, количество)
- Пустые ячейки — в столбцах «НомерИнвойса», «Дата», «Клиент» для строк 2 и 3
Классификация:
- header_keys: НомерИнвойса, Дата, Клиент (данные только в строке 1)
- table_keys: Товар, Цена, Количество (данные во всех строках)
Шаг 3: Создание шаблона Word
Структура шаблона

Правила создания:
1. Плейсхолдеры вне таблиц
— Используйте для данных «шапки»: номер документа, дата, контрагент
— Будут заполнены данными первой строки Excel
2. Таблица с плейсхолдерами
— Создайте таблицу с заголовками
— Добавьте одну строку с плейсхолдерами {{ИмяСтолбца}}
— Эта строка будет размножена для всех строк данных
3. Форматирование
— Оформите шаблонную строку так, как хотите видеть все строки
— Шрифты, выравнивание, границы — всё скопируется
Процесс:
- Запустите Smart Doc Gen
- Выберите Excel-файл с данными
- Укажите папку с шаблонами (где есть групповой шаблон)
- Выберите папку для результатов
- Нажмите «Запустить обработку»
Что происходит:
1. Программа обнаруживает группой шаблон (по слову «group» в имени)
2. Загружает все строки из Excel (с учётом флага «Генерация»)
3. Анализирует данные:
— header_keys: НомерИнвойса, Дата…
— table_keys: Товар, Цена…
4. Заполняет плейсхолдеры вне таблиц данными первой строки
5. Находит шаблонную строку таблицы (содержит плейсхолдеры из table_keys)
6. Размножает строку для всех данных:
— Копирует XML-структуру строки
— Заполняет плейсхолдеры
— Вставляет новую строку
7. Удаляет шаблонную строку
8. Сохраняет документ
Результат:
Файл: Инвойс_group.docx (без суффикса _group в имени результата с версии 1.5.12)
Пример 1: Инвойс с несколькими позициями
:
Шаблон: Invoice_group.docx

Результат 1: Invoice_group.docx (для INV-001)

📌 Примечание: Если в Excel несколько «групп» инвойсов (INV-001, INV-002), создайте для каждого отдельный Excel-файл или используйте столбец «Генерация» для фильтрации.
Пример 2: Реестр студентов
Шаблон: Реестр_group.docx
═══════════════════════════════════════════════
РЕЕСТР СТУДЕНТОВ
Группа: {{Группа}}
Курс: {{Курс}}
Специальность: {{Специальность}}
═══════════════════════════════════════════════
┌────┬──────────────────┬─────────────────┐
│ № │ ФИО │ Дата рождения │
├────┼──────────────────┼─────────────────┤
│ 1 │ {{ФИО}} │ {{Дата рождения}}│
└────┴──────────────────┴─────────────────┘
Результат: Реестр_group.docx

💡 Совет: Нумерация строк (1, 2, 3) — это статический текст в шаблоне. Если нужна автоматическая нумерация, используйте встроенные возможности Word (нумерованный список).
Пример 3: Протокол собрания
Excel-данные:

Шаблон: Протокол_group.docx

Проблема 1: Таблица не заполняется / остаются плейсхолдеры
Возможные причины:
1. Имена столбцов не совпадают
— ✅ Решение: Проверьте, что имена в Excel точно совпадают с плейсхолдерами (регистр не важен)
— Пример: {{Товар}} должен соответствовать столбцу «Товар» (или «товар», «ТОВАР»)
2. Данные только в первой строке
— ✅ Решение: Убедитесь, что данные для таблицы есть во всех строках, а не только в первой
— Программа классифицирует столбцы как header_keys, если данные только в первой строке
3. Пустые значения
— ✅ Решение: Заполните все ячейки в Excel, даже пустые значения должны быть пробелом или «-«
Проблема 2: Документ генерируется пустым
Возможные причины:
1. Флаг «Генерация» = «Нет» для всех строк
— ✅ Решение: Проверьте столбец «ГЕН» в Excel
2. Неправильная структура Excel
— ✅ Решение: Убедитесь, что первая строка содержит данные
Проблема 3: Форматирование теряется
Возможные причины:
1. Используется старая версия
— ✅ Решение: Обновитесь до версии 1.5.12
2. Сложное форматирование (объединённые ячейки через несколько строк)
— ✅ Решение: Упростите шаблон, используйте объединение только внутри одной строки
Проблема 4: Числа отображаются с артефактами
Пример: 712.8000000000001
Решение:
— ✅ Убедитесь, что используете версию 1.5.12 или новее
— В новой версии эта проблема исправлена автоматически
Проблема 5: Изображения не вставляются
Возможные причины:
1. Неправильный путь к изображениям
— ✅ Решение: Убедитесь, что изображения находятся в папке шаблонов или её подпапках
2. Имя файла не совпадает
— ✅ Решение: Проверьте точное имя файла в Excel (с расширением или без)
3. Формат изображения не поддерживается
— ✅ Решение: Используйте PNG, JPG, JPEG, BMP, GIF
📝 Чек-лист для создания группового шаблона
Excel:
— [ ] Первая строка содержит ВСЕ данные (шапка + первая позиция таблицы)
— [ ] Последующие строки содержат только данные таблицы
— [ ] Имена столбцов понятные и без спецсимволов
— [ ] Нет лишних пустых строк между данными
— [ ] Столбец «ГЕН» (если используется) заполнен корректно
Word:
— [ ] Имя файла содержит слово «group» (например, Реестр_group.docx)
— [ ] Плейсхолдеры в «шапке» для данных первой строки
— [ ] Таблица с одной шаблонной строкой для размножения
— [ ] Плейсхолдеры соответствуют именам столбцов в Excel
— [ ] Форматирование шаблонной строки настроено как нужно
Обработка:
— [ ] Выбран правильный Excel-файл
— [ ] Указана папка с шаблонами (где лежит групповой шаблон)
— [ ] Указана папка для результатов
— [ ] Проверен результат после генерации
🎓 Заключение
Групповые шаблоны в Smart Doc Gen 1.5.12 — это мощный инструмент для создания сводных документов любой сложности. Новый алгоритм обработки делает работу интуитивной и надёжной.
Основные преимущества:
✅ Гибкость — размещайте плейсхолдеры где угодно
✅ Автоматизм — программа сама определяет, что размножать
✅ Надёжность — корректная работа с любыми данными
✅ Форматирование — полное сохранение стилей