Как получить остатки денежных средств на расчетных счетах в 1С:Транспортная логистика и управление автотранспортом

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

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

Архитектурные особенности отраслевого решения

Проанализируем структуру регистров конфигурации. При проведении расчетно-платежных документов (таких как СписаниеСРасчетногоСчета или ПоступлениеНаРасчетныйСчет) движения формируются по двум основным регистрам:

  1. ВзаиморасчетыСКонтрагентами — регистр накопления с видом Остатки, фиксирующий состояние расчетов с заказчиками и перевозчиками.
  2. ДвижениеДенежныхСредств — регистр накопления с видом Обороты, предназначенный исключительно для анализа структуры денежных потоков по статьям ДДС (Cash Flow).

Конфигурация позиционируется как специализированная TMS/FMS-система (управление перевозками и автопарком). Заявленный разработчиком финансовый учет включает в себя расчет маржинальности рейсов (P&L), учет прямых и косвенных затрат на автопарк, а также взаиморасчеты с контрагентами. Полноценный контур казначейства и контроль фактических остатков денег на счетах 50 и 51 в базовую поставку не заложен, так как эти функции обычно делегируются регламентированным или комплексным системам учета.

Рассмотрим возможные пути решения задачи в зависимости от архитектуры предприятия.

Способ 1. Интеграция с регламентированной мастер-системой

В типовой методологии 1С отраслевые решения работают в связке с системами бухгалтерского или комплексного учета (1С:Бухгалтерия предприятия, 1С:ERP Управление предприятием или 1С:Комплексная автоматизация). Разберем по шагам эту схему:

  1. В отраслевой логистической программе регистрируются оперативные первичные документы: заказы на ТС, путевые листы, маршрутные листы и акты.
  2. Через типовой универсальный формат обмена (EnterpriseData) платежные документы транслируются в регламентированную базу.
  3. Банковские выписки, комиссии банков, налоги, выплата зарплаты и фактические остатки на расчетных счетах контролируются непосредственно в мастер-системе.

Способ 2. Создание собственного регистра остатков через расширение

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

Разберем по шагам порядок создания функционала:

  1. Создание регистра накопления:

    В расширении создаем новый регистр накопления ДенежныеСредства с видом Остатки.

    Определим его структуру:

    Измерения:

    1. Организация (СправочникСсылка.Организации)
    2. БанковскийСчетКасса (СправочникСсылка.БанковскиеСчета, СправочникСсылка.Кассы)
    3. Валюта (СправочникСсылка.Валюты)

    Ресурсы:

    1. Сумма (Число 15.2)
    2. СуммаУпр (Число 15.2, если в базе ведется параллельный управленческий учет)
  2. Создание подписки на события:

    Для документов движения денежных средств (ПоступлениеНаРасчетныйСчет, СписаниеСРасчетногоСчета, ПриходныйКассовыйОрдер, РасходныйКассовыйОрдер) создаем подписку на событие ОбработкаПроведения.

  3. Реализация алгоритма проведения:

    В общем модуле расширения описываем логику формирования движений при проведении документов. Посмотрим на пример кода для обработки списания с расчетного счета:

    
    Процедура Расш_ОбработкаПроведенияДвиженияДС(Источник, Отказ, РежимПроведения) Экспорт
    
        Если Отказ Или Не Источник.Проведен Тогда
            Возврат;
        КонецЕсли;
    
        Движения = Источник.Движения;
        НаборДенежныеСредства = Движения.ДенежныеСредства;
        НаборДенежныеСредства.Записывать = Истина;
    
        Движение = НаборДенежныеСредства.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Источник.Дата;
        Движение.Организация = Источник.Организация;
        Движение.БанковскийСчетКасса = Источник.БанковскийСчет;
        Движение.Валюта = Источник.ВалютаДокумента;
        Движение.Сумма = Источник.СуммаДокумента;
    
    КонецПроцедуры
    
  4. Ввод начальных остатков и отчетность:

    Создаем документ или универсальную обработку ввода начальных остатков по новому регистру на дату запуска учета, а также разрабатываем отчет на базе Системы компоновки данных (СКД), обращающийся к виртуальной таблице РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты.

Ограничения и подводные камни локальной доработки

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

  1. Неполнота банковских операций: если в систему не заносить непроизводственные платежи (уплату налогов, банковские комиссии за РКО, эквайринг, проценты по кредитам, зарплатные реестры), расчетный остаток программы неизбежно разойдется с реальной банковской выпиской.
  2. Контроль отрицательных остатков: при необходимости жесткого контроля перерасхода средств потребуется дополнительно доработать проверку остатков на момент проведения расходных документов с использованием оперативных блокировок.
← На главную