Первый запуск конвейера почти всегда заканчивается одинаково: в папке лежит двести файлов, они сформировались правильно, и работать с ними невозможно. Найти нужный — только открывая по одному. Понять, все ли на месте, — никак.
Это не проблема генерации, это проблема раскладки. Разберём три вещи, которые решают её раз и навсегда: куда складывать, как называть и как получить обратный реестр — таблицу того, что реально сформировалось.
Кажется, что имя файла — мелочь: главное же содержимое. На двадцати документах так и есть. На двухстах начинается другое.
Все пять проблем решаются на этапе подготовки таблицы и настройки, а не разгребанием результата.
У инструментов подстановки обычно есть два способа разложить результат, и они дают принципиально разную папку.
Раскладка по строкам. На каждую строку таблицы создаётся своя папка — Row_1, Row_2 и так далее, — а внутрь складываются все документы, сформированные по этой строке всеми шаблонами. Получается комплект на человека: приказ, договор и справка лежат вместе.
Раскладка по шаблонам. На каждый шаблон создаётся папка с его именем, а внутрь попадают документы по всем строкам. Получается двести приказов в одной папке и двести договоров в другой.
Правило выбора простое:
| Что делаете дальше | Какая раскладка |
|---|---|
| Выдаёте каждому его комплект документов | по строкам |
| Отправляете персональные файлы по почте | по строкам |
| Печатаете все приказы одной пачкой | по шаблонам |
| Отдаёте юристу все договоры на проверку | по шаблонам |
| Шаблон всего один | по шаблонам — папок будет меньше |
Полезная деталь раскладки по строкам: номер в имени папки — это номер строки данных. Если строка была пропущена, папки с её номером просто не будет, а нумерация остальных не сдвинется. Это превращает папку в готовый инструмент сверки: отсутствующий номер сразу показывает, какая именно строка не обработалась.
Часть имени вы не контролируете: к нему обычно добавляются название шаблона и номер строки — это и есть страховка от того, что два файла с одинаковыми данными затрут друг друга. Всё остальное задаёте вы через служебную колонку в таблице.
Рабочая схема для большинства случаев: фамилия — имя — вид документа.
| Плохо | Хорошо | Почему |
|---|---|---|
Документ (1) | Иванов И.И. приказ | видно, кто и что, без открытия |
приказ_иванов | Иванов И.И. приказ | фамилия первой — сортировка по алфавиту |
Иванов 21.07.2026 | 2026-07-21 Иванов И.И. | дата задом наперёд сортируется хронологически |
Договор №5/2026 | Договор 5-2026 | слэш в имени файла недопустим |
Про запрещённые символы стоит сказать отдельно. В именах файлов Windows нельзя использовать < > : " / \ | ? *. Инструмент обычно не роняет процесс из-за этого, а заменяет такие символы подчёркиванием — и вы получаете «Договор №5_2026» вместо ожидаемого. Не ошибка, но выглядит неряшливо, поэтому чистите значения формулой до генерации.
Имя собирается в таблице обычной сцепкой готовых колонок. Если фамилия и инициалы у вас в разных столбцах, сборка занимает одну формулу, растянутую вниз.
Дату в имя — только в формате «год-месяц-день». Это единственный формат, при котором сортировка по имени совпадает с хронологией. «21.07.2026» встанет между «20.12.2025» и «22.01.2024», и вы будете долго думать, почему папка выглядит бессмысленно.
Про неё вспоминают, только когда часть файлов «не сформировалась», а в журнале ошибок написано что-то невнятное.
В Windows суммарная длина пути к файлу традиционно ограничена 260 символами. Поддержка длинных путей существует, но включается отдельно и по умолчанию выключена — а значит, работает старый предел. Набирается он неожиданно легко:
C:\Users\Екатерина\OneDrive — ООО «Ромашка»\Документы\Кадры\2026\Приказы\Июль\Готовые\Row_147\Константинопольская А.В. приказ о предоставлении отпуска row147.docx
Здесь уже за триста символов, и виноват не какой-то один элемент, а сумма: длинный профиль пользователя, папка OneDrive с названием организации, вложенность по годам и месяцам, длинное имя шаблона.
Что с этим делать:
C:\Docs\2026-07-21. Это самая действенная мера, потому что сокращает начало пути для всех файлов сразу.Исходная таблица говорит, что вы собирались сделать. Обратный реестр говорит, что получилось. Между ними бывает разница, и находить её лучше самому.
Способ первый — реестр тем же запуском. Рядом с шаблоном документа кладётся групповой шаблон: документ с таблицей, где размечена одна строка. При обработке она разворачивается по всем строкам, попавшим в прогон, и на выходе получается готовая ведомость — номер, дата, ФИО, вид документа. Ключевое: в неё попадают ровно те строки, которые были обработаны, — пропущенные не попадут. Механика описана в статье про связку таблицы и шаблона.
Способ второй — список файлов из папки. Нужен, когда важно проверить именно результат на диске. Одна команда в PowerShell выгружает список в таблицу:
Get-ChildItem -Path "C:\Docs\2026-07-21" -Recurse -File |
Select-Object Name, Directory, Length, LastWriteTime |
Export-Csv "C:\Docs\reestr.csv" -Encoding UTF8 -NoTypeInformationПолученный файл открывается в Excel, и дальше вы сверяете его с исходной таблицей обычным поиском совпадений: подставляете фамилию из списка и смотрите, нашёлся ли файл.
Способ третий — арифметика. Самая быстрая проверка, которой хватает в девяти случаях из десяти: количество файлов в папке должно равняться количеству строк, помеченных к генерации, умноженному на число шаблонов. Не сошлось — значит, часть строк была пропущена или часть файлов не записалась.
Самая частая причина расхождения — служебная колонка-переключатель, которая исключает строки из обработки. Штука полезная: позволяет прогнать только новых сотрудников или только исправленные строки, не трогая остальные.
Но она же даёт неочевидный эффект. Проверка обычно устроена так: строка обрабатывается, если ячейка пустая или в ней написано «да». Всё остальное означает пропуск. Не «нет» — а именно всё остальное: «+», «1», «yes», «Да, нужно», случайный пробел после слова.
Отсюда практическое правило: не изобретайте свои значения в этой колонке. Либо пусто, либо «да», либо «нет». Если хочется отметить строку иначе — заведите отдельную колонку-комментарий, она на обработку не влияет.
И проверяйте эту колонку перед прогоном фильтром: сколько строк «да», сколько пустых, сколько всего. Число из фильтра — это и есть ожидаемое количество папок на выходе.
Конвейер запускается не один раз, и без правил папка результатов превращается в свалку за месяц.
Схема, которая работает: папка на прогон, датой в начале имени. Например C:\Docs\2026-07-21 приказы отпуск. Внутри — результат, и рядом два файла: копия таблицы, по которой сформировали, и копия шаблона.
Копии кажутся излишеством ровно до первого вопроса «а почему в приказе стоит эта должность». С таблицей и шаблоном под рукой ответ занимает минуту: видно, что было в данных и как выглядел шаблон на тот момент. Без них — это расследование.
Второй приём: никогда не генерировать поверх предыдущего результата. Новая папка на каждый запуск. Место это почти не занимает, а путаницу между «старой версией» и «новой» исключает полностью.
Проверять двести документов по одному не нужно и бессмысленно. Работает выборка по краям и по риску:
_ означает, что в данных был запрещённый символ, — стоит посмотреть, что именно.Пятый пункт заодно ловит мусор в исходных данных: подчёркивание в имени файла почти всегда означает, что в ячейке лежало что-то незапланированное.
По строкам, если каждому человеку выдаётся комплект документов или файлы рассылаются персонально: все документы одной строки лежат в её папке. По шаблонам, если документы одного вида нужны пачкой — распечатать все приказы, отдать все договоры на проверку.
Три обычные причины. Строка исключена служебной колонкой-переключателем — там обрабатывается только пустое значение или «да», всё остальное означает пропуск. Слишком длинный путь: в Windows предел 260 символов, и глубокие папки с длинными именами его превышают. Либо ошибка в данных конкретной строки — её видно в журнале выполнения.
Двумя способами. Групповой шаблон формирует ведомость тем же запуском, и в неё попадают ровно обработанные строки. Либо выгрузить список файлов из папки командой PowerShell в CSV и сверить с исходной таблицей в Excel.
В данных был символ, недопустимый в имени файла: < > : " / \ | ? *. Такие символы заменяются подчёркиванием, чтобы файл всё же записался. Чтобы этого не было, чистите значения формулой в таблице — чаще всего проблема в номерах вида «5/2026» и в двоеточиях.
Технически да, но лучше сначала в локальную. Во-первых, путь к облачной папке обычно длинный и приближает к пределу в 260 символов. Во-вторых, синхронизация во время записи двухсот файлов приводит к конфликтам версий. Скопировать готовую папку в облако — безопаснее.
Раскладка выбирается по тому, что вы делаете с документами дальше: комплект на человека — по строкам, пачка одинаковых — по шаблонам. Имя файла собирается в таблице по схеме «фамилия — вид документа», дата пишется как «год-месяц-день». Выходная папка живёт ближе к корню диска, чтобы не упереться в предел длины пути.
И главное — обратный реестр. Тремя способами, от арифметики до выгрузки списка файлов, он отвечает на единственный важный вопрос: всё ли на месте. Ответить на него до выдачи документов гораздо приятнее, чем после.
Смежные материалы: как устроена связка таблицы и шаблона, разметка шаблона Word с готовыми файлами, приказы по личному составу как пример массового прогона.
SmartDocGen умеет обе раскладки — по строкам и по шаблонам, берёт имя файла из колонки таблицы, добавляет к нему номер строки, заменяет запрещённые символы и разворачивает групповой шаблон в реестр. Обработка идёт локально, результат складывается в указанную вами папку.
Бесплатного демо-режима нет: установщик скачивается свободно, но нужен код активации. Проверить раскладку на своих данных дешевле всего по тарифу на месяц — 399 ₽.


