Разработчики часто сталкиваются с ситуацией при доработке или настройке конфигурации «1С:Бухгалтерия предприятия 3.0»: в кассовых документах (например, в «Расходном кассовом ордере» или «Приходном кассовом ордере») реквизит ПодразделениеОрганизации присутствует в составе реквизитов документа и добавлен на управляемую форму в конфигураторе. Однако в режиме «1С:Предприятие» поле не отображается пользователю. Даже если попытаться принудительно установить свойство Элементы.ПодразделениеОрганизации.Видимость = Истина в событиях ПриСозданииНаСервере или продублировать элемент на форме, поле всё равно остается невидимым. Разберем механизм работы платформы, выясним первопричину такого поведения и рассмотрим корректные пути решения задачи.
Проанализируем поведение управляемой формы платформы «1С:Предприятие 8.3». За сокрытие реквизита отвечает встроенный механизм Функциональных опций (ФО). В типовой конфигурации действует важное платформенное правило:
Если в состав выключенной функциональной опции включен не просто элемент формы, а сам реквизит объекта метаданных (Документ.РасходныйКассовыйОрдер.Реквизит.ПодразделениеОрганизации), платформа на уровне ядра блокирует отображение всех элементов интерфейса, чей ПутьКДанным привязан к этому реквизиту.
По этой причине:
ПриСозданииНаСервере и ПриОткрытии.В конфигурации «1С:Бухгалтерия предприятия» отображение реквизита управляется функциональной опцией ВестиУчетПоПодразделениям, которая привязана к одноименной константе.
Выясним, почему включение константы напрямую в базе версии ПРОФ приводит к непредвиденным последствиям. В линейке решений «1С:Бухгалтерия» учет по обособленным подразделениям на балансовых счетах (включая счет 50.01 «Касса организации») архитектурно заложен только в версии КОРП:
Ложь в общем модуле ОбновлениеИнформационнойБазыБП и функциях проверки версии конфигурации. При регламентном обновлении базы значение вернется в исходное состояние.Подразделение. В версии ПРОФ алгоритмы проведения кассовых документов ветвятся или не заполняют данное измерение для счета 50, так как на самом счете 50.01 признак учета по подразделениям выключен.ПодразделенияОрганизаций. В версии ПРОФ такой аналитический разрез не поддерживается, что приводит к ошибкам при заполнении отчетов и документов «Авансовый отчет».Таким образом, простое снятие с поддержки и принудительное включение константы нарушает логику типового обновления и штатной отчетности. Рассмотрим правильные технические альтернативы реализации аналитического учета по кассам и подразделениям в версии ПРОФ.
Если подразделение требуется указывать в документах для печати, фильтрации журналов или построения управленческих отчетов, воспользуемся штатным функционалом БСП («Библиотека стандартных подсистем»):
СправочникСсылка.ПодразделенияОрганизаций.Этот способ гарантирует сохранение типовой конфигурации на полной поддержке и не создает конфликтов при регулярных обновлениях.
Если аналитика по подразделениям или точкам выдачи наличных необходима непосредственно в бухгалтерских проводках и отчетах (ОСВ, «Карточка счета»), наиболее безопасным способом в версии ПРОФ является детализация плана счетов:
50.01 (например, 50.01.1 «Касса центрального офиса», 50.01.2 «Касса подразделения 1»).При таком подходе не затрагиваются функциональные опции, стандартные бухгалтерские отчеты строятся корректно, а сальдо формируется в разрезе каждого субсчета.
Если требуется выводить подразделение именно на основной форме документа и передавать его в алгоритмы проведения без включения спорной константы, разберем решение через расширение:
ркПодразделение со ссылкой на СправочникСсылка.ПодразделенияОрганизаций. Так как реквизит расширения не входит в состав типовой функциональной опции ВестиУчетПоПодразделениям, платформа не будет скрывать его на форме.&После в модуле документа или модуле менеджера, чтобы при необходимости зафиксировать подразделение в дополнительных регистрах:
&После("ОбработкаПроведения")
Процедура рк_ОбработкаПроведения(Отказ, РежимПроведения)
// Проверим необходимость заполнения дополнительных движений
Если Отказ Тогда
Возврат;
КонецЕсли;
// Алгоритм записи движений в дополнительный регистр сведений или накопления
// на основании значения реквизита ЭтотОбъект.ркПодразделение
КонецПроцедуры
При встрече со скрытыми реквизитами на управляемых формах 1С первым шагом всегда проверяем состав функциональных опций конфигурации через дерево метаданных (раздел «Общие» — «Функциональные опции»). Если перед предприятием стоит полноценная задача разделения кассовой книги, баланса и расчетов с подотчетными лицами по обособленным подразделениям, оптимальным решением является штатный переход с версии ПРОФ на версию КОРП, где данный учет заложен изначально и поддерживается разработчиками типового решения.