Как стать автором
Обновить

Экаунтологический отчет в 1С: простенько, но со вкусом

Время на прочтение 9 мин
Количество просмотров 6.1K


Лет пятнадцать назад я разработал экаунтологию – дисциплину, лежащую на стыке информатики, философии, экономики и учета. Подобно всякому утописту, спал и видел, как теоретические разработки претворяются в жизнь, однако…

Дальше понятно, можно не продолжать.

Однако случился и на моей улице праздник. Задействованность в ролях проект-менеджера и системного аналитика дала возможность реализовать крохотный аппендикс экаунтологической теории, а именно бухгалтерские отчеты. Говорю «бухгалтерские», чтобы все поняли их назначение: предоставить корректную информацию о движении вещей и денег в производственном процессе. Звучит стандартно. Отчеты и выглядят, как типовые бухгалтерские: лишь наличие пары особенностей, доступных глазу опытного методолога, делает их необычными – экаунтологическими.

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

Если данная тема кому-нибудь интересна, добро пожаловать.

Постановка задачи


Исходные данные: имеется интернет-магазин.

Принцип работы: заурядная перепродажа. Розничный клиент делает заказ, интернет-магазин закупает нужный товар у оптового поставщика, разница между оптовой и розничной ценой составляет прибыль.

Задача: спроектировать экаунтологический отчет.

Компоновщик данных


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



Долгое время я считал, что идея с произвольным иерархическим расположением аналитики применительно к объектам любых типов моя собственная, но оказалась, в компоновщике она реализована. Может, не полностью (все-таки 1С имеет определенные ограничения), но в значительной степени.

Я заинтересовался и сел гуглить, в результате чего выяснил: раздел появился в 1С в конце 2009 г. К тому времени моя экаунтология уже сформировалась, но кто знает, когда неизвестный коллега все замыслил? Ко всему прочему, компоновщик – инструмент разработки, то есть по определению более гибкий и многоплановый, чем какой бы то ни было произведенный с его помощью отчет.

Пришлось сильно расстроиться из-за того, что не самый умный. С горя повспоминал и пришел к выводу, что иерархия аналитики присутствовала и в более ранних, даже в самых ранних бухгалтерских программах. Так что 1С – тоже не самые умные, это я безпамятный.

Интерфейс


Иерархия выводится типовыми средствами. Вначале интерфейс мыслился иным, но этот оказался удобным.



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



Однако перейдем к содержательной стороне.

Форма отчета


Увиденное вами пока тривиально: иерархия свойств, начальный остаток, приход, расход, конечный остаток…

Да, мне известно, сколь замысловато можно располагать бухгалтерские показатели, восемнадцать лет назад я даже брошюрку опубликовал на эту тему. Позже пришел к выводу: собственно, зачем изощряться? Есть статичные, «вечные» поля, от которых не избавишься: приход-расход, остатки, – их лучше поместить в заголовки, тогда как переменную часть вынести в сворачиваемую-разворачиваемую иерархию.

В итоге получилась универсальная форма для просмотра произвольной аналитики. Единство формы при многообразии содержания – одно из принципиальных отличий экаунтологического отчета от безчисленных бухгалтерских.

Измерители


Помимо выбора аналитики, имеется выбор измерителя (натуральный или стоимостной учет). А как иначе?



При натуральном учете последние два столбца: «Результат» и «%» (рентабельность) – значения не имели, поэтому не выводились. Если от поставщика поступила штука товара, то ровно столько же выбыло при передаче клиенту. При стоимостном учете между приходом и расходом возникает разница, составляющая финансовый результат: прибыль или убыток.

Посчитав тот же результат в иной валюте, получим данные в другой валюте, допустим в евро. Картинку не привожу, она различается только числовыми значениями, потому не показательна.

Курсовая разница


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

Приобрели товар за одну долларовую цену, продали за вторую, разница между названными величинами есть финансовый результат – в валюте, разумеется. Суть в том, что валютные курсы на даты закупки и продажи разные.

Известный экономический парадокс, присутствует во многих учебниках: рублевая прибыль и одновременно валютный убыток. К примеру, купили товар за 100 руб. и продали за 120 руб. Рублевая прибыль: 120 – 100 = 20 руб. А валютная? Если вы полагаете, что 20 руб. по текущему курсу, то глубоко ошибаетесь. Предположим, что за время покупки курс рубля обвалился с 10 руб. до 20 руб. за доллар. Посчитаем долларовые цены закупки и продажи. Цена закупки составляет: 100 / 10 = 10 долларов. Цена продажи составляет: 120 / 20 = 6 долларов. Итого ваш долларовый результат составил: 6 – 10 = — 4 доллара, то есть 4 доллара в прогаре. При 20-рублевой прибыли.

Это товары, а что деньги, что происходит с ними при изменении курса?

Лежали в кассе рубли, вдруг их отношение к доллару привычно изменилось: выяснилось, что рубли в долларовом эквиваленте подешевели. Обращаю внимание, подешевели не в момент приходо-расходной операции с ними и не по завершении текущего месяца, как то практикуется в бухгалтерском учете, а в момент изменения курса. Данный момент и должен быть отображен в качестве хозяйственной операции. Прихода-расхода нет, а результат налицо.



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

Однако корректное отображение изменений курса – не главное в экаунтологических отчетах…

Шкала времени


Главное в экаунтологических отчетах – представление объектов на шкале времени, верхний пункт в иерархии свойств товаров:



Мы четко разделяем прошлое-настоящее-будущее… в жизни, но не в бухгалтерском учете. Почему? Бухгалтерская метода не позволяет.

А экаунтология позволяет. С целью регистрации будущих объектов в экаунтологический отчет вводятся области времени, выделяемые для наглядности цветом.



Настоящее, представляющее собой границу между прошлым и будущим, отсутствует. Как поется в популярной песне: «Есть только миг между прошлым и будущим, именно он называется жизнь»? Между прочим, глубокое экаунтологическое высказывание.

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

Не очень понятно? Сейчас поясню.

Клиенты магазина делают заказы. Какие взаимные обязательства при этом возникают? С одной стороны, клиенты обязуются в установленные сроки данные заказы оплатить (это для магазина будущие приходы денег); с другой стороны, магазин обязуется в установленные сроки поставить нужные клиентам товары (это для магазина будущие расходы товара). Будущие объекты отображаются соответственно в денежном и товарном отчетах в области будущего.

Вот будущие приходы денег – денежные долги клиентов перед магазином:



А вот, уже в товарном отчете, будущие расходы товара – вещные долги магазина перед клиентами:



Отрицательные остатки


Непривычен отрицательный товарный остаток на последней картинке? Так ведь магазин занимается продажей товаров на заказ! На текущий момент товара на складе не числится, поступления не ожидается. Будущий расход есть, а будущего прихода нет, откуда взяться положительному остатку?

Отрицательный товарный остаток в области будущего сигнализирует о том, что мы должны передать товар клиенту, но этот товар отсутствует и его поступление не запланировано.

Минус исчезнет после того, как магазин закажет товар у поставщика, то есть зарегистрируем в системе новую пару обязательств: будущий приход товара от поставщика и будущий расход денег при оплате поставщику. Тогда в наличии окажется четыре парных обязательства: два по расчетам с поставщиком (денежное и вещное), два по расчетам с клиентом (тоже денежное и вещное, только приход и расход поменяны местами). Все эти объекты будущие – им только предстоит случиться.

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

Просроченные объекты


А если нет, если деньги не будут выплачены или товары не будут переданы? Тогда будущие приходы или расходы окажутся просроченными и попадут в область будущего, помеченную красным.

Вот они, просроченные объекты:



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

Кажется, мы дошли до резюме.

Резюме


Помимо стандартных возможностей по выводу оборотов и остатков в разрезе произвольной аналитики, экаунтологические отчеты:
1) обеспечивают корректный расчет валютного финансового результата.
2) показывают просроченные будущие приходы и расходы (красная зона).
3) показывают будущие расходы, не обеспеченные приходами (отрицательные остатки).

Названное достигается за счет совместного отображения прошлых объектов (наличных денег и товаров) и будущих объектов (соответственно денежных и вещных обязательств). Введение в систему, на нижнем концептуальном уровне, функции времени — безусловно новаторское решение. Традиционная бухгалтерия подобными возможностями не располагает, это мне известно доподлинно.



Что касается наличия перечисленного в стороннем бухгалтерском софте…

Пункт первый, по курсовой разнице, наверняка много кем сделан, слишком уж очевиден. Хотя в стандартной конфигурации 1С отсутствует — вероятно, по причине несовместимости данного пункта с бухгалтерским законодательством.

Пункт второй? Просроченные обязательства, при условии регистрации срока погашения, можно получать посредством выборки — здесь нет проблем. Оригинальным является отображение просроченных объектов между состоявшимися (прошлыми) и непросроченными будущими объектами. Там ему — несостоявшемуся, но все еще предполагаемому будущему — самое место.

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

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

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

Неосуществленное


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

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

Во-вторых, не удалось добиться полноценного учета инфляции. Впрочем, немалые возможности для этого имеются и сейчас, благодаря справочнику условных единиц, типовому в 1С. Если этот справочник, наряду со справочниками иностранных валют, заполнить и выбрать в качестве измерителя, то объекты начнут отображаться с учетом инфляции. Однако нельзя подключить сразу два справочника: условных единиц и иностранных валют, – что может потребоваться при анализе совместного влияния на финансовый результат изменений курсов валюты и инфляции. Не стал настаивать на реализации столь специального функционала из-за явной его невостребованности в обозримом будущем.

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

В-четвертых, не удалось выполнить нормальную ретроспекцию. Имеется в виду следующее. В настройках, наряду с привычными параметрами, указана текущая дата. Это дата, из которой ведется просмотр отчета (не дата, на которую генерируются остатки, как в бухгалтерских отчетах, а именно из которой ведется просмотр). Когда дата просмотра совпадает с сегодняшней, проблем нет: все используемые параметры также являются текущими. Когда дата просмотра отодвигается в прошлое, параметры остаются текущими, что не дает возможности получить корректный взгляд из прошлого. Допустим, срок погашения обязательства поменялся. Вытянуть из 1С эту информацию для размещения в отчете оказалось проблематично, соответственно при «отодвигании» даты просмотра в прошлое вынужденно используется последняя дата погашения обязательства, а не первоначальная. Картинка прошлого опирается на текущие данные, а должна бы – на прошлые, соответствующие установленной дате. Упираться не стал, поскольку ретроспективный взгляд имеет более теоретический, чем практический смысл.

В-пятых, не был реализован измеритель «количество единиц», необходимый для подсчета числа учитываемой номенклатуры (не путать со штуками товара). Да много еще чего было не реализовано!

Хотя в целом остался доволен. Не прошло и пятнадцати лет, как небольшая, но вполне себе экаунтологическая фича – размещение прошлых и будущих объектов на шкале времени – появилась в коммерческом продукте. Получилось мило и, самое главное, практично.

Кто бы мог подумать!
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+7
Комментарии 77
Комментарии Комментарии 77

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн