// Блог

Тридцать документов за один раз

Пакетная генерация. Архив с папками или таблица вместо тридцати одинаковых заполнений руками, с видимым прогрессом и возможностью повторить только то, что не получилось.

Тридцать документов за один раз

Седьмая и последняя функция второй волны закрывает то, с чего волна начиналась: в DocuTract одинаково удобно сделать один документ и неудобно сделать тридцать. Тридцать трудовых договоров это тридцать раз одно и то же: создать, выбрать шаблон, загрузить скан, проверить значения, сгенерировать. Время уходит не на документ, а на повторение.

Теперь вход принимается целиком.

Экран пакетов: новый прогон и то, что уже запускали

Два входа, потому что в офисе бывает два

Архив с папками. Папка это дело, файлы внутри это его сканы. Вложенные папки не мешают: всё, что лежит под «Кравченко», принадлежит Кравченко, даже если оно в подпапке «сканы». Архив, сделанный на Маке, несёт в себе __MACOSX и .DS_Store, и мы не показываем их как отдельные дела. Кириллица в названиях папок читается так, как её написали, а не как «Ð Ñ€Ð°Ð²Ñ‡ÐµÐ½ÐºÐ¾». Это мелочи, которые решают, заработает ли импорт с первого раза.

Таблица. CSV или XLSX, строка это документ, колонка это поле. Заголовок сопоставляется с полем шаблона, так что «Full name» находит full_name, а точка с запятой, которую пишет Excel в наших краях, читается так же, как запятая. Колонка, которой в шаблоне нет, останавливает прогон до старта и называется поимённо. Узнать на двухсотой строке, что продукт молча игнорировал колонку, хуже, чем не начать вовсе.

Сначала вам говорят, чему это равно

Загрузка ничего не запускает. Мы читаем файл и показываем: найдено тридцать элементов, будет стоить тридцать генераций, у вас осталось двенадцать. И только потом кнопка Начать.

Если не хватает, прогон не начинается вообще. Частичного старта нет намеренно: человек, который загрузил тридцать папок и получил двенадцать документов, теперь должен выяснять, какие восемнадцать пропали и списаны ли они. Хуже этого ничего нет.

Сами деньги списываются как обычно, по одному документу по факту. Поэтому элемент, который не получился, не стоит ничего.

Экран прогона: счётчики, полоса и список с причинами

Прогон, который не останавливается из-за одной папки

Две папки пришли битыми. Это не повод останавливать остальные двадцать восемь. Те два элемента получают причину своими словами, остальные доходят до конца, а прогон завершается со статусом «частично», потому что он не «готово» и не «ошибка», и называть его одним из этих двух было бы неправдой.

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

Файлы в архиве названы так, как назывался ваш вход: «Кравченко.docx», а не наш внутренний номер. Вы будете искать именно это название.

Почему это не занимает всю очередь

Внутри нет новой механики: те же дела, те же воркеры, та же квота. Единственное, что добавлено, это ограничение одновременности: не больше нескольких элементов одного рабочего пространства работают вместе. Клиент с архивом на триста папок не должен становиться в очередь впереди человека, нажавшего «сгенерировать» на одном документе, и теперь не становится.

Пустая папка или пустая строка помечаются как пропущенные, а не как ошибка. Это не сбой, это то, что было во входном файле, и повторять здесь нечего.

Если прогон длится дольше нескольких минут, письмо о завершении приходит на почту. Более короткий не присылает ничего: человек ещё смотрит на экран, а письма, которые никому не были нужны, это то, из-за чего потом отключают все уведомления.

Что дальше

На этом вторая волна завершена: сбор документов от клиента, дела, кросс-проверки, справочник сторон, условные блоки с версиями, API с вебхуками и пакетная генерация. Семь функций, каждая из которых убирает один вид ручной работы, а не добавляет ещё один экран.

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

Читать дальше

Шаблон из документа, который у вас уже есть

Чтобы превратить договор в шаблон, не нужно размечать его вручную. Загрузите готовый документ, и DocuTract предложит, какие его части меняются от клиента к клиенту.

Одного пароля больше недостаточно

Двухфакторный вход заработал. Подключите к учётной записи приложение-аутентификатор, и украденный пароль перестанет открывать доступ к вашим документам. Владелец рабочего пространства может потребовать это от всей команды.