Знакомая история
Конец квартала. Бухгалтер сводит данные и говорит, что в приемнике не хватает документов. Каких именно — неизвестно, за какой период — примерно, сколько всего — тем более.
Дальше начинается сверка руками: открыть два журнала рядом, выставить одинаковые отборы и глазами искать, чего нет справа. На месяц реализаций это вечер. И это при условии, что базы на одной конфигурации, — иначе документ в приемнике называется иначе, и глазами его не найти вовсе.
Штатные средства отвечают не на тот вопрос
Они показывают, что зарегистрировано к отправке. А знать нужно другое: что реально оказалось в целевой базе. Между этими двумя вопросами и живут потерянные документы — зависшие в очереди, не прошедшие по правилам конвертации, помеченные на удаление, исключенные признаком «не выгружать».
Что делает обработка
Запускается в базе-источнике, по COM-соединению подключается к целевой базе и по каждому виду документов за период показывает статус:
- Выгружен — документ в приемнике есть. В отдельной колонке видно, каким именно документом он там стал.
- Не выгружен — документ подлежит выгрузке, но в приемнике его нет. Такие строки подсвечены красным.
- Не подлежит выгрузке — исключен по признаку, например помечен «не выгружать».
Результат раскладывается деревом «база — вид документа — документ», с процентом выгрузки по базе и по каждому виду. Сразу видно, где дыра: у реализаций девяносто восемь процентов, а у корректировок сорок.
Документ, сменивший вид, тоже находится
Это главное, ради чего обработка написана. При обмене между разными конфигурациями внутренние идентификаторы у одного и того же документа разные — сопоставить их напрямую нельзя. Поэтому сверка идет в два слоя:
- по UUID — когда базы на одной конфигурации: РИБ, копии, самописная и ее же копия;
- по публичному идентификатору синхронизируемого объекта — когда конфигурации разные. Идентификатор документа-источника ищется в регистре приемника без привязки к типу.
Именно из-за поиска без привязки к типу находится документ, который в приемнике стал другим: заказ клиента — счетом покупателю. Сверка «в лоб» такой документ считает потерянным и заставляет искать его руками.
Несколько баз за один проход
Целевых баз можно указать сразу несколько — результат получается матрицей «документ на базу». Для распределенной сети, где источник один, а приемников пять, это разница между одной проверкой и пятью.
Признак «не выгружать» — как он заведен у вас
Почти в каждой базе есть свой способ пометить документы, которые выгружать не нужно. Обработка не навязывает свой: поддержаны и основной реквизит документа, и дополнительный реквизит или сведение из БСП. Значения задаются списком, а смысл выбирается — «подлежит выгрузке» или, наоборот, «исключить». Настраивается по виду документа или по разделу целиком.
Без этого любая сверка врет: половина «недостачи» окажется документами, которые и не должны были уехать.
Что делать с найденным
Невыгруженные документы отмечаются флажками, и дальше два пути:
- Зарегистрировать отмеченные — поставить их в очередь на выгрузку в выбранный узел плана обмена нужной базы;
- Выгрузить в файл — отдать список тому, кто будет разбираться, почему они не ушли.
Лишнего в отчет не попадает
- В список видов документов попадают только те, что входят в состав плана обмена: остальные через этот обмен не уедут в принципе, и показывать их как недостачу бессмысленно.
- Непроведенные и помеченные на удаление документы исключаются автоматически.
- Период задается сразу, а не отсекается потом глазами.
Как это выглядит по шагам
- Целевые базы. Добавьте приемники: путь или сервер, пользователя, при необходимости узел плана обмена — он нужен для повторной регистрации. Кнопка «Проверить соединение» подтверждает доступ до того, как вы запустите проверку.
- Период и виды. Укажите период, нажмите «Обновить виды», отметьте нужные. Здесь же настраивается признак выгрузки.
- Проверить выгрузку. Проверка идет шагами, в отдельном окне прогресса: видно, какая база и какой вид документов разбирается сейчас. Пока она работает, интерфейс занят — это не зависшая программа, а честно показанный ход работы.
- Результат. Красным — то, чего в приемнике нет. Отметить и зарегистрировать либо выгрузить списком.
Настройки запоминаются сами: базы, период, отмеченные виды и признак выгрузки восстановятся при следующем открытии. А если сверку делает не один человек или баз несколько, набор настроек сохраняется в файл и загружается на другом рабочем месте — собирать ежеквартальную сверку заново не придется.
Чего обработка не делает
- Не запускает обмен и не правит правила конвертации. Ее дело — показать, чего в приемнике нет, и вернуть документы в очередь. Почему они не ушли в прошлый раз, разбирается отдельно.
- Сверяет только документы. Справочники и регистры в сверку не входят.
- Кросс-конфигурационная сверка требует обмена через универсальный формат (EnterpriseData), при котором заполняется регистр публичных идентификаторов. Если обмен идет самописными правилами без этого регистра, между разными конфигурациями сверять нечем.
- Нужен COM. Значит Windows и зарегистрированный
comcntr.dllтой же версии и разрядности, что платформа. Пароли к целевым базам живут только внутри сохраненных настроек.
Установка и требования
Обработка открывается файлом или подключается как дополнительная через БСП. К конкретной типовой не привязана: виды документов и узлы планов обмена подбираются из метаданных на лету, поэтому работает и на типовых, и на самописных базах.
Платформа: 8.3 (проверено на 8.3.27.2214, совместимо с 8.3.10 и новее) или 8.5 (проверено на 8.5.1.1150), управляемые формы.
Два файла: 8.3 и 8.5
Обработка в них одна и та же. Внешняя обработка хранится в формате той платформы, на которой собрана, поэтому файл под 8.5 на 8.3 не откроется — берите тот, что соответствует вашей платформе.
Вступайте в нашу телеграмм-группу Инфостарт