Сверка остатков между двумя базами 1С с расшифровкой причин
Обработка сравнивает остатки по счетам бухгалтерского учета в двух базах 1С — например, в «Бухгалтерии предприятия» 3.0 и «Комплексной автоматизации» 2.5 — и по каждой разошедшейся строке называет причину: документа нет во второй базе, объект перенесен дважды, сумма или количество не совпали. Сверять можно любой счет плана счетов: товарные остатки, взаиморасчеты с контрагентами, забалансовые. Вторая база только читается, пароль в ней нигде не сохраняется.
Последняя версия: обновлено сегодня
Что вы получаете
Видно и без демо
Скриншоты и GIF ниже показывают работу вживую — по шагам, на реальных данных. Персональная демонстрация для такой разработки не нужна.
Готовое решение
Не идея и не ТЗ — рабочая разработка для текущего и предыдущих релизов конфигураций, со скриншотами и инструкцией.
Безопасно для конфигурации
Разработки подключаются без вмешательства в типовую конфигурацию. Снимаются за минуту, если что-то пойдет не так.
Полная прозрачность
Открытый код, честные отзывы, закрывающие документы.
Подробное описание
Швейное производство ведет оперативный учет в «Комплексной автоматизации» 2.5, а регламентированный — в «Бухгалтерии предприятия» 3.0. Документы переносятся из КА в БП синхронизацией, но через несколько месяцев остаток материалов на счете 10.01 в двух базах расходится. Обе стороны формально правы: в КА он один, в БП — другой. Найти, какая из тысяч проведенных операций стала причиной, можно только выгрузив обороты из каждой базы в Excel и построчно сведя их руками. На объеме в тысячу документов это работа на день, а результатом остается только цифра расхождения — не ее причина.
Обработка сверяет остатки счетов между двумя базами напрямую, без выгрузок: подключается ко второй базе, сравнивает регламентированный учет и по каждой разошедшейся строке называет документ, из-за которого это произошло. Сверять можно любой счет плана счетов — товарные остатки, взаиморасчеты с контрагентами, забалансовые. Одна сборка работает в «Бухгалтерии предприятия» 3.0, «Комплексной автоматизации» 2.4/2.5 и ERP 2 — запрос строится программно по регистру бухгалтерии «Хозрасчетный» той базы, где обработка запущена, а не привязан к жестко заданному списку реквизитов.
Что это дает
- Причина расхождения, а не только цифра. По каждой разошедшейся строке видно: документа нет в одной из баз, сумма или количество не совпали, документ помечен на удаление, или один и тот же объект перенесен в базу дважды под одним именем.
- Одна обработка для трех конфигураций. Файл один и тот же для «Бухгалтерии предприятия» 3.0, «Комплексной автоматизации» 2.4/2.5 и ERP 2 — состав аналитики счета обработка читает из метаданных той базы, где запущена, и сама сопоставляет разрезы по виду субконто.
- Входящее сальдо по обеим базам сразу в одной таблице — не нужно поднимать оборотку отдельно по каждой стороне.
- Диагностика самой связи баз. Обработка сама определяет, чем связаны базы — типовой синхронизацией, старыми правилами конвертации данных или обменом нет вовсе, — и пишет это в протокол до того, как вы начнете разбирать расхождения.
- Настройки сравнения сохраняются в файл и загружаются заново — период, счета и разрезы не нужно вводить каждый раз.
ℹ️ Обработка только читает вторую базу
Во второй базе обработка не проводит, не создает и не изменяет ни одной записи — только читает остатки и обороты через внешнее соединение. Для подключения достаточно пользователя с правами на просмотр, административные права не нужны ни в своей, ни во второй базе. Пароль второй базы нигде не сохраняется: поле Пароль (не сохраняется) нужно заполнять при каждом открытии обработки заново.
Подключение ко второй базе
Связь со второй базой — обычное внешнее соединение 1С, поэтому обе базы должны быть на платформе 8.3 под Windows, а не в сервисе 1С:Фреш и не на Linux без установленного COM-коннектора. В разделе Вторая база формы задаются: переключатель Вторая база на сервере 1С (иначе файловая), при файловом варианте — поле Каталог файловой базы (путь на сервере 1С), и обязательные Пользователь второй базы и Пароль (не сохраняется).
Раздел «Вторая база» и раздел «Что сверяем» задаются один раз и сохраняются в файл настроек
Кнопка Проверить подключение устанавливает внешнее соединение и сразу показывает в протоколе конфигурацию, редакцию и версию платформы второй базы — на моей проверке это была «Бухгалтерия предприятия, редакция 3.0, версия 3.0.201.16». Если соединение не устанавливается, протокол отдельно указывает, где сбой: не зарегистрирован компонент внешнего соединения на сервере или не проходит подключение по логину и паролю — это разные проблемы с разным решением, и обработка их не смешивает в одну общую ошибку.
Протокол сразу показывает конфигурацию и версию второй базы — это первая проверка, что подключились именно туда
Как обработка определяет, чем связаны базы
Прежде чем сопоставлять документы, обработка выясняет, как вообще связаны две базы, и пишет вывод в протокол при нажатии Проверить подключение. Здесь есть тонкость, которую я проверил отдельно, потому что она напрямую влияет на точность сопоставления.
При типовой синхронизации 1С через универсальный формат обмена (XDTO) связь объектов двух баз хранится в служебном регистре «Публичные идентификаторы синхронизируемых объектов». А регистр «Соответствия объектов информационных баз» — тот, который называют первым при слове «связь баз», — при таком обмене не заполняется вовсе. Его пишут только старые правила конвертации данных (КД 2.х) и ручной мастер сопоставления справочников. Поэтому опираться на этот регистр как на источник пар нельзя без проверки: пустой регистр при типовой синхронизации — это норма, а не признак того, что обмен не настроен.
В текущей версии эта диагностика работает как честное предупреждение, а не как источник пар для самого сопоставления: связь баз обработка определяет и показывает в протоколе, но сопоставление документов при поиске причины по-прежнему идет по аналитике, дате и сумме — использовать общий идентификатор объекта из XDTO-обмена в самом сопоставлении разработка следующей версии.
Настройка сравнения — период, счета, разрезы
Раздел Что сверяем задает, что именно сравнивается:
| Поле | Значение |
|---|---|
| Период | Одно поле стандартного выбора периода — месяц, квартал, год или произвольные даты. Остатки обеих баз читаются на конец периода, входящее сальдо считается отдельным запросом на его начало |
| Коды счетов через запятую | Субсчета берутся вместе с указанным счетом автоматически |
| ИНН организаций через запятую | Пусто — сравниваются все организации базы |
| Разрезы: Организация, Склад/подразделение, Партия/характеристика | Включать ли эти виды субконто в ключ сравнения. Остальная аналитика счета участвует всегда |
Разрезы включаются переключателями, а не жестко зашиты в код: обработка сама читает состав видов субконто у выбранного счета в метаданных каждой базы и сопоставляет их по виду субконто, а не по порядковому номеру. Это важно, потому что состав аналитики на счете 10.01 в «Бухгалтерии предприятия» и в «Комплексной автоматизации» разный: в БП на этом счете три вида субконто — номенклатура, партии и склады, а в КА — два, партий нет вовсе. Ключом сравнения становится пересечение разрезов, которые есть в обеих базах; разрез, которого нет на другой стороне (например, партии), в само сравнение не попадает и не может по ошибке сравняться со складом — вместо этого он показан отдельной заметкой.
Какие счета можно сверять: товары, взаиморасчеты, забалансовые
Обработка не привязана к товарным счетам, хотя чаще всего ее покупают именно ради них. В поле Коды счетов можно указать любой счет регистра бухгалтерии «Хозрасчетный» той базы, где обработка запущена: код ищется в плане счетов, а субсчета включаются в сравнение вместе с ним по иерархии. Никакого зашитого списка разрешенных счетов в коде нет, значение «10» в поле — просто умолчание формы, а не ограничение.
Аналитику обработка тоже не задает заранее: она читает фактический состав видов субконто выбранных счетов из метаданных каждой базы. Что это означает на практике:
- Товарные и производственные счета (10, 21, 41, 43) сверяются по номенклатуре, складу или подразделению и партии с характеристикой — то есть по тем разрезам, которые включаются флажками в разделе Что сверяем.
- Счета взаиморасчетов (60, 62, 76) сверяются по своей аналитике — контрагент, договор, документ расчетов. Отдельных флажков для этих разрезов нет и не нужно: аналитика, не попавшая под три номенклатурных переключателя, входит в ключ сравнения всегда, поэтому строки остаются разложенными по контрагентам и договорам, а не сворачиваются в одну сумму по счету.
- Забалансовые счета (003, 004, МЦ.04) ничем не выделены: признак забалансового учета в коде не проверяется, счет сверяется на общих основаниях.
- Денежные и любые другие счета — так же, по коду и фактической аналитике.
Ограничения, о которых честнее сказать сразу:
- Сравниваются сумма и количество регламентированного учета. Валютная сумма не сверяется: по счетам с валютным учетом (52, 62.21) валюта в ключ сравнения не входит, а проверка на объекты-двойники для таких счетов пропускается — обработка прямо пишет об этом в протокол.
- На счетах без количественного учета количество в регистре нулевое в обеих базах, поэтому разница количества по ним всегда нулевая, а сверка идет по сумме.
- Объекты аналитики сопоставляются по представлению, а не по внутреннему идентификатору: две карточки с одинаковым наименованием в одной базе обработка показывает отдельной заметкой о двойниках, потому что сравнить их по имени нельзя.
Причины расхождения остатков: не только разница, но и ее причина
По кнопке Сравнить обработка строит запрос по регистру «Хозрасчетный» в своей базе, передает параметры во вторую базу через внешнее соединение и там же строит аналогичный запрос по ее собственным метаданным. Между базами передаются только простые значения — представления объектов, а не ссылки: ссылка одной базы ничего не значит в другой. Данные читаются партиями по 5000 строк, а если пакетное чтение не проходит, обработка сама переключается на построчное — без остановки сверки на середине.
Результат — таблица расхождений с колонками Кол-во нач. (здесь), Сумма нач. (здесь), Кол-во нач. (там), Сумма нач. (там): входящий остаток по обеим базам в одной строке. Рядом с ними — колонки Разница количества, Разница суммы и Причина, так что величина и характер расхождения видны без арифметики в уме. Желтым выделяются строки, где пара найдена в обеих базах, но сумма или количество не совпали; красным — строки, у которых пары нет: позиция есть только в одной базе. Протокол под таблицей отдельно печатает, по каким разрезам шло сравнение, и сколько строк свода получилось в каждой базе. Таблицу можно искать по строкам полем Поиск (Ctrl+F), а результат выгрузить кнопкой Выгрузить в таблицу в Excel.
Желтым — пара найдена в обеих базах, но количество или сумма разошлись
По каждой строке кнопка Показать документы раскладывает расхождение по документам-виновникам — это запрос оборотов по регистратору за период, а не пересчет остатка заново. Причины ровно четыре:
- документ проведен в одной базе и отсутствует в другой;
- документ есть в обеих базах, но сумма или количество различаются;
- документ не проведен или помечен на удаление в одной из баз;
- объект не сопоставлен или сопоставлен дважды — тот самый случай задвоения, который разобран ниже.
Документы двух баз обработка сопоставляет по аналитике, дню и сумме, а не по номеру: номера и префиксы документов при переносе между базами обычно меняются, и сравнивать по ним бессмысленно. Это эвристика, а не точное соответствие, и я говорю об этом прямо: на объемной базе, где в один день по одной аналитике проходит несколько документов на одинаковую сумму, обработка может ошибиться парой. Точных идентификаторов обмена для сопоставления документов текущая версия не использует — только диагностирует связь баз, как описано выше. По самым крупным по сумме расхождениям расшифровка ограничена первыми документами по каждой строке, чтобы протокол оставался читаемым, а не превращался в полную выгрузку оборотки.
По каждой строке расхождения виден конкретный документ, а не только факт, что суммы не совпали
Двойники номенклатуры и валютные счета
Здесь — то, что нельзя увидеть в документации, только руками разобрав, как устроена виртуальная таблица остатков. Она отдает одну строку на каждую комбинацию ссылок: если одна и та же позиция заведена в базе двумя разными карточками с одинаковым наименованием, таблица остатков честно покажет их отдельными строками. Но в свод для сравнения между базами уходят не ссылки, а представления — потому что ссылка одной базы бессмысленна в другой. А следующим шагом свод сворачивается по представлению, и две карточки с одинаковым именем на этом шаге склеиваются в одну строку с суммарным остатком.
Значит, если считать задвоенные объекты после свертки, они уже неразличимы. Поэтому обработка ищет двойники до свертки — в исходном, еще не сгруппированном своде, по совпадению всех представлений разрезов, кроме суммы и количества: если таких строк больше одной, это и есть объект, перенесенный в базу дважды под одним наименованием. В отчетах и в оборотке эта проблема не видна вовсе, потому что суммы там сходятся — расходится только то, к какой карточке они привязаны.
На валютных счетах эта проверка намеренно отключена, и обработка честно пишет об этом в протоколе. Причина: остаток в разных валютах формирует отдельные строки свода (валюта в само сравнение не включена — суммы сверяются в валюте регламентированного учета), и такие строки внешне неотличимы от настоящих двойников. Признак валютного счета обработка не предполагает, а проверяет — по свойству «Валютный» плана счетов соответствующей базы.
Проверено на «Бухгалтерии предприятия» 3.0, редакция 3.0.201.16, под пользователем без полных прав, с ролью главного бухгалтера: обработка открывается и сравнивает базы так же, как под администратором — платформенных отказов по правам на этом функционале не возникает.
Настройки в файл и выгрузка в Excel
Заполненные параметры — период, счета, ИНН организаций, разрезы, данные второй базы кроме пароля — сохраняются в файл и загружаются обратно тем же файлом: повторную сверку не нужно настраивать заново. Пароль в список сохраняемых настроек не входит намеренно и вводится каждый раз вручную. Результат сравнения кнопка Выгрузить в таблицу переносит в отдельный табличный документ, откуда его можно сохранить как Excel-файл для отчета руководству или для дальнейшей работы вне 1С.
Как это выглядит в работе
- Открываете обработку в разделе Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки и заполняете параметры подключения ко второй базе и период.
- Нажимаете Проверить подключение — в протоколе видна конфигурация второй базы и вывод о том, чем связаны базы.
- Указываете коды счетов через запятую, отмечаете нужные разрезы и нажимаете Сравнить.
- В таблице расхождений красным и желтым видно, где остатки не совпали, — по каждой строке нажимаете Показать документы и получаете конкретную причину.
- Настройки сохраняете в файл, чтобы в следующий раз не вводить заново, а результат выгружаете в Excel для отчета.
Кому подходит и кому нет
- Компаниям, ведущим регламентированный учет в одной базе, а оперативный — в другой (типичная пара «Бухгалтерия предприятия» и «Комплексная автоматизация» или ERP), связанным обменом любого вида: типовой синхронизацией, старыми правилами конвертации или даже ручным вводом документов в обе базы.
- Бухгалтерам и внедренцам, которым нужно не просто увидеть расхождение по счету, а найти конкретный документ, из-за которого оно возникло, без ручной сверки оборотки в Excel.
Не подойдет, если хотя бы одна из баз работает в 1С:Фреш или недоступна по COM-соединению — обработке нужен именно внешний доступ к базе, а не веб-клиент. Не подойдет и тем, кому нужно автоматическое исправление расхождений: обработка только диагностирует и ничего не пишет ни в одну из баз, исправление документов остается за пользователем. Наконец, если номенклатура заведена в двух базах под разными наименованиями без объединяющего признака, точное автоматическое сопоставление позиций — задача следующей версии; сейчас обработка находит такие случаи как расхождение, но таблицы ручных соответствий пока нет.
Сколько стоит заказать такую доработку с нуля
| У стороннего программиста 1С | Готовое решение | |
|---|---|---|
| Стоимость | 27 000–45 000 ₽ | 7 500 ₽ |
| Сроки | 2 недели на ТЗ и согласование, затем ~9 часов работы | 5 минут на установку |
| Ваше участие | ~2 часа на постановку задачи, приемку и тесты | Скачать файл и подключить по инструкции |
| Риск | Результат виден только в конце работ | Разработка уже написана и работает у других компаний |
Расчет по рыночной ставке 3 000–5 000 ₽/час: столько стоит час стороннего программиста 1С. Итоговая экономия — от 19 500 ₽ и около двух недель ожидания.
Как установить — 5 минут
- Скачиваете архив сразу после оплаты — из личного кабинета или прямо с этой страницы — и распаковываете его.
- Открываете базу 1С и подключаете файл штатными средствами — конфигурация при этом не меняется. Пошаговая инструкция со скриншотами. Не хочется разбираться самому — при оформлении можно добавить установку под ключ за 1 000 ₽: подключимся удаленно и поставим сами.
- Перед первым запуском обработки желательно сделать копию рабочей базы.
Для вашего 1С-специалиста
- Как разработка встраивается в 1С?
- Это внешний файл (.epf или .erf) — запускается вручную для конкретной задачи и не встраивается в интерфейс типовой конфигурации; открывается через меню «Файл → Открыть» или из подсистемы дополнительных отчетов и обработок.
- Правится ли типовая конфигурация?
- Нет. Все разработки CoderStar подключаются как расширения или внешние обработки/отчеты — типовая конфигурация остается «чистой», ее код не меняется.
- Сохраняется ли поддержка вендора и ИТС?
- Да. Поскольку типовая конфигурация не дорабатывается напрямую, обновления от фирмы «1С» накатываются штатным образом, поддержка вендора и ИТС сохраняется.
- Как удалить разработку?
- Достаточно удалить элемент справочника «Дополнительные отчеты и обработки» — безопасный режим для этого не нужен.
- Открыт ли исходный код?
- Да. После покупки вы получаете файл без шифрования и защиты — его можно изучить, модифицировать или адаптировать в Конфигураторе под свои задачи без ограничений, без обращения к нам.
- Работает ли в 1С:Fresh?
- Нет — 1С:Fresh (облачный режим работы 1С) имеет свои ограничения, разработка в нем не работает.
Паспорт разработки — страница для согласования с руководителем
Оцените разработку
Общий рейтинг появляется при ≥ 3 оценках. Мы не скрываем плохие — все оценки идут в общую статистику.
Войдите, чтобы оценить разработку.
Частые вопросы
Как получить разработку и установить ее в 1С?
После оплаты картой или СБП ссылка для скачивания приходит на email в течение минуты. При оплате по счету от ИП — автоматически после поступления денег на расчетный счет. Ручные оплаты (USDT, перевод на казахскую карту) подтверждаем в рабочее время — обычно в течение часа.
К разработке приложена инструкция по подключению. Установка занимает 5–10 минут. Если что-то не получится — напишите, подключимся удаленно через AnyDesk и поставим за вас.
Какие способы оплаты доступны?
Можно ли оплатить в тенге, белорусских рублях или долларах?
А если что-то пойдет не так после установки?
Что произойдет после очередного обновления 1С?
Каждая разработка тестируется на новых релизах 1С до их публичного выхода. На момент, когда вы обновите конфигурацию, совместимая версия уже готова и ждет скачивания.
Если в течение 3 месяца после покупки выйдет новый релиз — обновление бесплатно (просто скачайте свежую версию из личного кабинета). Дальше доступна цена обновления — 20% от текущей цены разработки. Альтернатива — годовой абонемент, покрывающий все обновления и новые разработки сайта.
Какие версии 1С НЕ поддерживаются?
Разработка не работает в 1С:Fresh — это облачный режим работы 1С со своими ограничениями. Список совместимых конфигураций указан в начале описания, в других конфигурациях использование не предполагается.
На сколько баз 1С действует одна покупка?
Можно ли дорабатывать код самостоятельно?
Какие закрывающие документы вы предоставляете?
Можно ли посмотреть демо до покупки?
Какой артикул у этой разработки?
Комментарии
Покупаете разработки несколько раз в год?
Тогда выгоднее годовой абонемент: все 288 разработок каталога и обновления к ним за 50 000 ₽ в год.

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