Как автоматически подставлять счет 55.04 вместо 51 в документе «Поступление на расчетный счет»?

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

При работе в программе 1С:Бухгалтерия пользователи часто сталкиваются с ситуацией, когда при создании нового документа «Поступление на расчетный счет» в поле «Счет учета» по умолчанию всегда подставляется счет 51 («Расчетные счета»). Однако во многих организациях значительная часть безналичных платежей поступает на специальные счета, например, на корпоративные карты. В этом случае учет должен вестись на субсчете 55.04 («Депозитные счета» или «Счета корпоративных карт»).

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

Почему программа подставляет счет 51 по умолчанию?

Прежде чем переходить к настройкам, давайте разберем логику работы конфигурации. В современных версиях «1С:Бухгалтерия 8» счет учета в банковских документах жестко привязан к конкретному расчетному счету организации, который выбран в документе. Для стандартных рублевых расчетных счетов система действительно автоматически определяет счет учета как 51.

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


ИначеЕсли Назначение = "БезналичныеДеньги" Тогда
    Возврат РасчетныеСчета;
КонецЕсли;

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

Способ 1. Штатное решение без программирования (Рекомендуемое)

Самый простой, быстрый и безопасный способ заставить программу автоматически подставлять счет 55.04 — это правильная настройка параметров самого банковского счета в системе. Нам не потребуется изменять код программы, все действия выполняются в пользовательском режиме.

Рассмотрим этот процесс по шагам:

  1. Перейдите в раздел Главное и выберите пункт Организации (или откройте Реквизиты организации).
  2. Откройте карточку вашей организации и перейдите на вкладку Банковские счета.
  3. Найдите в списке и откройте тот банковский счет, по которому вы хотите вести учет на счете 55.04 (это должен быть карточный или специальный счет).
  4. В открывшейся карточке банковского счета найдите и установите флажок «К счету привязаны корпоративные карты».
  5. После установки этого флажка на форме появится дополнительное поле «Счет учета». Выберите в нем субсчет 55.04. Сохраните изменения по кнопке «Записать и закрыть».
  6. Чтобы именно этот настроенный счет автоматически подставлялся при создании новых документов, выделите его в списке банковских счетов организации и нажмите кнопку «Использовать как основной» (рядом с ним появится зеленая галочка).

Проанализируем результат: теперь при создании нового документа «Поступление на расчетный счет» программа автоматически подставит ваш основной банковский счет. Считав его настройки, система мгновенно и без вашего участия перезаполнит поле «Счет учета» значением 55.04 вместо стандартного 51.

Способ 2. Программное решение через расширение конфигурации

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

Разберем, как реализовать такое решение:

  1. Создайте новое расширение в конфигураторе и подключите его к вашей информационной базе. Снимите флажок «Безопасный режим» в свойствах расширения, если планируете использовать серверные вызовы.
  2. Добавьте в расширение план счетов Хозрасчетный и его модуль менеджера.
  3. Перехватите экспортную функцию ОсновнойСчет с помощью аннотации &Вместо. Обязательно сохраняйте вызов оригинального метода для прочих назначений.

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


&Вместо("ОсновнойСчет")
Функция Расш1_ОсновнойСчет(Знач Назначение)
    
    // Если запрашивается счет для безналичных денежных средств
    Если Назначение = "БезналичныеДеньги" Тогда
        // Возвращаем предопределенный счет 55.04
        Возврат ПланыСчетов.Хозрасчетный.ДепозитныеСчета; 
    КонецЕсли;
    
    // Для всех остальных случаев вызываем стандартный обработчик
    Возврат ПродолжитьВызов(Назначение);
    
КонецФункции

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

Почему не стоит править код напрямую в основной конфигурации?

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

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

Используйте штатные настройки банковского счета — это наиболее надежный, простой и правильный путь, предусмотренный разработчиками 1С.

← На главную