Перед многими компаниями, особенно в сфере строительно-монтажных работ, рано или поздно встает задача ведения управленческого учета в разрезе проектов или строительных объектов. Ситуация усложняется, когда учет ведется по нескольким юридическим лицам в разных базах «1С:Бухгалтерия 3.0» (БП 3.0), а руководство хочет видеть сводную (консолидированную) картину по затратам и движениям денежных средств (ДДС).
При этом внедрение тяжелых ERP-систем или специализированных надстроек (например, «БИТ.ФИНАНС») часто оказывается нецелесообразным из-за высокой стоимости лицензий, сложности освоения и отсутствия выделенного штата финансовых аналитиков. Когда всю бухгалтерию ведет один специалист, требуется максимально простое, надежное и легко обновляемое решение. Рассмотрим, как реализовать такую систему, сохранив конфигурации типовыми.
Для того чтобы выбрать оптимальный путь, проанализируем четыре основных варианта реализации проектного учета в «1С:Бухгалтерии 3.0», начиная от полностью стандартных механизмов и заканчивая разработкой собственной легкой подсистемы.
Самый простой путь, не требующий написания кода, — задействовать имеющиеся аналитические разрезы конфигурации:
НоменклатурныеГруппы. На счетах учета производственных затрат (например, 20.01 «Основное производство») это субконто присутствует по умолчанию. Под каждый строительный объект создается своя номенклатурная группа. Это позволяет стандартными отчетами (оборотно-сальдовая ведомость по счету, анализ субконто) видеть себестоимость и выручку по каждому проекту.СтатьиДвиженияДенежныхСредств группы (папки) с названиями проектов, а внутри них дублировать статьи («Оплата труда», «Закупка материалов» и т.д.). Однако этот путь быстро приводит к «разбуханию» и засорению справочника ДДС. Становится крайне сложно анализировать общую структуру затрат по компании (например, сколько всего было потрачено на зарплату по всем проектам вместе), так как элементы справочника будут дублироваться в разных папках.Это наиболее сбалансированный и красивый вариант, который позволяет избежать изменения структуры метаданных и сохраняет базу полностью типовой (на поддержке). Инструмент базируется на использовании механизма Дополнительных сведений, который входит в состав стандартной БСП (Библиотеки стандартных подсистем), интегрированной в БП 3.0.
Разберем, почему лучше использовать именно «Дополнительные сведения», а не «Дополнительные реквизиты»:
ЗначенияСвойствОбъектов. Вы можете размечать документы проектами даже в закрытых периодах, не перепроводя сами документы и не опасаясь изменения котировок или сумм налогов.Для удобства работы пользователя (чтобы не заставлять бухгалтера нажимать кнопку «Еще» — «Дополнительные сведения» в каждом документе) создается небольшое расширение конфигурации. Оно выносит поле выбора проекта из дополнительных сведений непосредственно на форму платежных документов (таких как СписаниеСРасчетногоСчета, ПоступлениеНаРасчетныйСчет, РасходныйКассовыйОрдер).
Если учет ведется в нескольких базах данных, то собирать консолидированную отчетность непосредственно в одной из рабочих баз неудобно. В этом случае целесообразно создать отдельную «пустую» базу (это может быть та же БП 3.0 или простая самописная конфигурация), которая будет служить приемником данных.
Для переноса информации настраивается обмен данными с помощью правил конвертации в программе «1С:Конвертация данных 2.0». При этом можно использовать файлы обмена формата XML. Важным преимуществом такого подхода является возможность переносить документы вместе с их движениями, отключая автоматическое проведение документов в базе-приемнике. Это гарантирует, что консолидированные данные будут в точности соответствовать первичным базам.
Покупка специализированных модулей уровня «БИТ.ФИНАНС» оправдана только в том случае, если на предприятии выстроена жесткая методология бюджетирования, есть финансовая служба и бюджетный комитет. Для небольших компаний с одним бухгалтером внедрение подобных систем превращается в бесконечный процесс доработок и костылей, поскольку система требует колоссальных трудозатрат на первоначальную настройку правил трансляции проводок и заполнение множества аналитик.
Проанализировав все плюсы и минусы, остановимся на самом жизнеспособном и бюджетном решении: **сочетание Номенклатурных групп (для затрат) и Дополнительных сведений с расширением (для ДДС)**.
Рассмотрим подробно, как настроить систему проектного учета по денежным средствам без программирования в основной конфигурации.
Сначала активируем и настроим механизм свойств:
Списание с расчетного счета и Расходный кассовый ордер).Чтобы бухгалтер оперативно заполнял аналитику по проектам, выведем созданное дополнительное сведение на форму документов. Для этого создадим расширение конфигурации:
ФормаДокумента (для СписаниеСРасчетногоСчета).ЗначенияСвойствОбъектов.Проанализируем программный код, который можно использовать в расширении для автоматического считывания и записи значения проекта при открытии и сохранении формы документа:
&НаСервере
Процедура Расш1_ПриЧтенииНаСервереПосле(ТекущийОбъект)
// Код считывает значение дополнительного сведения "Проект" для текущего документа
СсылкаНаДокумент = ТекущийОбъект.Ссылка;
СвойствоПроект = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проект");
Если ЗначениеЗаполнено(СвойствоПроект) Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияСвойствОбъектов.Значение КАК Проект
|ИЗ
| РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
| ЗначенияСвойствОбъектов.Объект = &Объект
| И ЗначенияСвойствОбъектов.Свойство = &Свойство";
Запрос.УстановитьПараметр("Объект", СсылкаНаДокумент);
Запрос.УстановитьПараметр("Свойство", СвойствоПроект);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ЭтотОбъект.ПроектРеквизитФормы = Выборка.Проект;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура Расш1_ПередЗаписьюНаСервереПосле(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// Записываем выбранный проект в регистр дополнительных сведений
СвойствоПроект = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проект");
Если ЗначениеЗаполнено(СвойствоПроект) Тогда
МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Объект = ТекущийОбъект.Ссылка;
МенеджерЗаписи.Свойство = СвойствоПроект;
МенеджерЗаписи.Значение = ЭтотОбъект.ПроектРеквизитФормы;
МенеджерЗаписи.Записать(Истина);
КонецЕсли;
КонецПроцедуры
Использование этого кода позволяет полностью автоматизировать процесс работы пользователя с проектами: бухгалтер видит обычное поле ввода на форме платежного поручения или ордера и выбирает проект из выпадающего списка. Сама конфигурация при этом остается полностью типовой.
Для получения консолидированной информации по проектам и организациям нам не обязательно писать сложный внешний отчет с нуля. Посмотрим на возможности встроенного механизма Универсальный отчет (находится в разделе Отчеты — Стандартные отчеты):
КнигаУчетаДоходовИРасходовРазделI или специализированный регистр движений денежных средств (например, ДвиженияДенежныхСредств).Документ.ДополнительныеСведения.Значение (система автоматически свяжет регистратор с его дополнительными свойствами).Если данные ведутся в разных базах, вы можете выгружать аналогичные отчеты в Excel и сводить их с помощью стандартных сводных таблиц (Pivot Tables), либо настроить автоматический сбор данных через простейшую обработку, которая подключается к базам по COM-соединению или считывает XML-выгрузки.
Таким образом, мы получили гибкую, легковесную и абсолютно бесплатную систему проектного учета, которая не препятствует автоматическому обновлению «1С:Бухгалтерии» и позволяет контролировать финансовые потоки по строительным объектам в разрезе нескольких организаций.