При настройке аналитического учета денежных средств в конфигурации 1С:Бухгалтерия предприятия 3.0 (версия ПРОФ) нередко возникает задача организовать учет по подразделениям на счете 50.01 «Касса организации». Типовая архитектура конфигурации связывает видимость и заполнение реквизита ПодразделениеОрганизации с функциональной опцией ВестиУчетПоПодразделениям. Однако простое исключение реквизита документа из состава функциональной опции приводит к тому, что при интерактивном выборе значение подразделения отображается, но в момент записи или проведения документа поле автоматически очищается, а проводки формируются без подразделения.
Разберем детально, почему так происходит, какие системные механизмы отвечают за очистку подразделений и как правильно настроить кассовые документы ПриходныйКассовыйОрдер и РасходныйКассовыйОрдер.
Проанализируем архитектурную логику типовой конфигурации. В «1С:Бухгалтерия предприятия» версии ПРОФ учет по подразделениям штатно предусмотрен только для затратных счетов (20, 23, 25, 26, 29). Полноценный сквозной учет по подразделениям на счетах денежных средств и расчетов заложен разработчиками исключительно в версии КОРП.
Включение общей константы ВестиУчетПоПодразделениям глобально в версии ПРОФ может привести к нежелательным последствиям — в частности, к ошибкам при закрытии месяца и некорректному списанию партий запасов, так как алгоритмы распределения не рассчитаны на выборочное включение небалансовых счетов. Поэтому программисты часто отключают опцию для конкретных реквизитов.
Однако при отключенной функциональной опции срабатывает типовой механизм контроля целостности данных. В конфигурации присутствует подписка на событие УстановитьПустоеПодразделениеПередЗаписьюДокумента, связанная с обработчиком в общем модуле УчетПоПодразделениямСобытия. Этот обработчик принудительно обнуляет значение подразделения перед непосредственной записью документа в базу данных, если в программе отключен учет по подразделениям для соответствующего раздела учета.
Разберем по шагам, как настроить сохранение и проведение реквизита ПодразделениеОрганизации в кассовых документах:
ПодразделениеОрганизации документов ПриходныйКассовыйОрдер и РасходныйКассовыйОрдер из состава функциональной опции ВестиУчетПоПодразделениям (или вынесем элемент на форму документа вручную, управляя его видимостью).УстановитьПустоеПодразделениеПередЗаписьюДокумента в общем модуле УчетПоПодразделениямСобытия.Посмотрим на пример доработки кода процедуры:
Процедура УстановитьПустоеПодразделениеПередЗаписьюДокумента(Источник, Отказ) Экспорт
// Проверяем тип объекта источника
Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер")
Или ТипЗнч(Источник) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
Возврат;
КонецЕсли;
// Стандартная типовая логика очистки подразделений...
КонецПроцедуры
После добавления данного условия при сохранении документов ПриходныйКассовыйОрдер и РасходныйКассовыйОрдер значение реквизита сохраняется в базе данных, а типовые алгоритмы проведения успешно передают заполненное подразделение в проводки регистра бухгалтерии Хозрасчетный.
Чтобы не снимать типовую конфигурацию с поддержки и не модифицировать общий модуль напрямую, рассмотрим вариант реализации через механизм расширений. Это значительно упростит последующие обновления конфигурации.
В расширении конфигурации перехватим выполнение процедуры УстановитьПустоеПодразделениеПередЗаписьюДокумента с помощью аннотации &Вместо или &ИзменениеИКонтроль:
&Вместо("УстановитьПустоеПодразделениеПередЗаписьюДокумента")
Процедура Расш1_УстановитьПустоеПодразделениеПередЗаписьюДокумента(Источник, Отказ)
// Пропускаем очистку для кассовых документов
Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриходныйКассовыйОрдер")
Или ТипЗнч(Источник) = Тип("ДокументОбъект.РасходныйКассовыйОрдер") Тогда
Возврат;
КонецЕсли;
// Вызываем базовую функциональность для остальных документов
ПродолжитьВызов(Источник, Отказ);
КонецПроцедуры
При внедрении раздельного учета денежных средств в кассе необходимо учитывать сопутствующие системные и методические нюансы конфигурации версии ПРОФ:
Оборотно-сальдовая ведомость по счету) отображали сальдо в разрезе подразделений, в плане счетов для счета 50.01 должен быть активен признак учета по подразделениям.Кассовая книга (унифицированная форма КО-4) формируется только сводно по организации в целом. Механизм раздельных листов кассовой книги по подразделениям штатно доступен только в версии КОРП.50.01 дополнительный вид субконто со ссылкой на справочник ПодразделенияОрганизаций или пользовательский справочник Кассы. Это позволит формировать детализированные отчеты без риска нарушения типовых алгоритмов закрытия месяца.