Разбор от сообщества: Денежное обращение и расчеты | infolimp.ru

Разбор от сообщества: Денежное обращение и расчеты

6 октября 2026 · infolimp.ru

Каждый опытный 1С-специалист сталкивался с ситуацией: карточка счёта 62 (или 60) «разъезжается» с данными регистров взаиморасчётов. Чаще всего проблема кроется не в ошибках проводок, а в том, как платформа обрабатывает движения по регистрам «РасчетыСКонтрагентами» и «РасчетыПоАвансам» при изменении счёта учета в договоре после проведения документов. Разберём механику под капотом и покажем, как избежать типовой ловушки с «задвоением» авансов.

Механика под капотом: как регистры «РасчетыСКонтрагентами» и «РасчетыПоАвансам» взаимодействуют при оплате и отгрузке

В типовых конфигурациях «1С:Бухгалтерия 3.0» и «1С:Управление торговлей» учёт расчётов с контрагентами ведётся в двух ключевых регистрах накопления:

При проведении документа оплаты (например, «Поступление на расчетный счет» или «Приходный кассовый ордер») платформа автоматически определяет, является ли платёж авансом. Если на дату оплаты нет отгрузок по данному договору, движение идёт в регистр «РасчетыПоАвансам» со знаком «+». При последующей отгрузке система должна «зачесть» аванс: сформировать движение в «РасчетыПоАвансам» со знаком «–» и одновременно увеличить сальдо в «РасчетыСКонтрагентами».

Почему аванс не всегда зачитывается автоматически

Механизм зачёта аванса работает на основе счёта учета, указанного в договоре контрагента на момент проведения документа. Если после проведения оплаты вы изменили счёт учета в договоре (например, с 62.01 на 62.02), то при проведении отгрузки система может не найти соответствующий аванс, потому что ищет его по старому счёту. В результате аванс остаётся «висеть» в регистре «РасчетыПоАвансам», а отгрузка формирует новое сальдо в «РасчетыСКонтрагентами». Итог — двойной учёт.

Ключевой тезис: Изменение счёта учета в договоре после проведения документов оплаты — одна из самых частых причин расхождения карточки счёта 62 и данных регистров взаиморасчётов. Платформа не перепроводит автоматически уже проведённые документы при изменении реквизитов договора.

Пример кода: анализ движений регистров через запрос

Чтобы убедиться в наличии проблемы, можно выполнить запрос к регистрам. Ниже приведён фрагмент, который ищет расхождения между сальдо по счёту 62 и суммой в регистре «РасчетыСКонтрагентами» для выбранного договора.

Процедура ПроверитьРасхождения(Договор)
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    РасчетыСКонтрагентамиОстатки.Договор,
    |    РасчетыСКонтрагентамиОстатки.СчетУчета,
    |    РасчетыСКонтрагентамиОстатки.СуммаОстаток КАК СуммаРегистр,
    |    СУММА(ХозрасчетныйОбороты.Сумма) КАК СуммаСчет
    |ИЗ
    |    РегистрНакопления.РасчетыСКонтрагентами.Остатки КАК РасчетыСКонтрагентамиОстатки
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
    |        ПО РасчетыСКонтрагентамиОстатки.Договор = ХозрасчетныйОбороты.Договор
    |            И РасчетыСКонтрагентамиОстатки.СчетУчета = ХозрасчетныйОбороты.Счет
    |ГДЕ
    |    РасчетыСКонтрагентамиОстатки.Договор = &Договор
    |
    |СГРУППИРОВАТЬ ПО
    |    РасчетыСКонтрагентамиОстатки.Договор,
    |    РасчетыСКонтрагентамиОстатки.СчетУчета,
    |    РасчетыСКонтрагентамиОстатки.СуммаОстаток
    |
    |ИМЕЮЩИЕ
    |    РасчетыСКонтрагентамиОстатки.СуммаОстаток <> СУММА(ХозрасчетныйОбороты.Сумма)";

    Запрос.УстановитьПараметр("Договор", Договор);
    Результат = Запрос.Выполнить();

    Если Не Результат.Пустой() Тогда
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Сообщить("Расхождение по договору " + Выборка.Договор + 
                     " на счете " + Выборка.СчетУчета + 
                     ": регистр = " + Выборка.СуммаРегистр + 
                     ", бухгалтерия = " + Выборка.СуммаСчет);
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

Этот запрос сравнивает остатки регистра «РасчетыСКонтрагентами» с оборотами по бухгалтерскому счёту (Хозрасчетный). Если суммы не совпадают — есть проблема, которую нужно разбирать вручную.

Типичная ловушка: ручное изменение счёта учета в договоре после проведения документов

Представим сценарий: вы работаете с контрагентом по договору, где изначально был указан счёт 62.01 «Расчеты с покупателями и заказчиками». Проведены несколько оплат (авансов) и одна отгрузка. Затем бухгалтер решает, что для этого контрагента нужно использовать счёт 62.02 «Расчеты по авансам полученным» (хотя это некорректно — 62.02 используется для аналитики авансов, но в типовой конфигурации счёт учета в договоре влияет на проводки). Меняете счёт в договоре на 62.02. После этого проводите новую отгрузку — она формирует проводки по дебету 62.02 и кредиту 90.01. Аванс, который был на 62.01, остаётся незачтённым, потому что система ищет его по новому счёту 62.02.

Последствия для взаиморасчётов

В карточке счёта 62 вы увидите два разных субсчёта с сальдо, которые в сумме не соответствуют реальному долгу контрагента. В регистре «РасчетыПоАвансам» останется положительное сальдо по старому счёту, а в «РасчетыСК

Расширение «НОПик» для 1С — встраиваемый коннектор к внешнему AI с интеллектуальным поиском по базе. Задавайте вопросы обычными словами - AI сам найдёт нужное. 45 дней бесплатно.

Попробовать НОПик →
Знаете ответ на такие вопросы не хуже автора статьи? Пройдите бесплатную анонимную проверку уровня на infolimp.ru - 3 практических задачи, 15 минут, публичный токен-профиль, который можно показать работодателю или заказчику. Без регистрации по почте.

Проверить свой уровень бесплатно →