О многоуровневом плане счетов. Еще раз



Posted by Анатолий Анимица on November 16, 2000 at 10:15:48:

In Reply to: Аркадий! Помогите решить дилему posted by Александр, Киев on November 16, 2000 at 03:42:07:


Много уровней плана счетов

Предлагаю изложенную ниже "доктрину многоуровневости" плана счетов.



Далее ФБП - это "Финансы без проблем", если не уточняется - серверы версий от 3.18 (в которых
можно задать, что последовательность цифр в ответе на вопрос ветви - это строка символов).

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

Оставим пока без рассмотрения порядок формирования развернутого сальдо счета. Лишь
кратко
- если счет активный, то все остатки субсчетов - и положительные, и отрицательные - составляют
сумму дебета счета,
пассивный счет - то же самое, но в кредит сальдо родительского счета первого порядка в смысле ФБП,
дебет-кредитовые
(смешанные) счета образуют дебет как сумму положительных, а кредит - отрицательных остатков своих
субсчетов.
Сальдо внебалансового счета "физического" смысла не имеет, закону Ломоносова-Лавуазье не
подчиняется, никак не контролируется
и полностью управляется пользователем.
Это - правило свертки сальдо (ПСС).


А теперь к многоуровневости

Примем, что Nmin (Nmin>=4..5)- минимальная длина обозначения субсчета, к которому
разрешены корреспонденции, т.е только такие субсчета можно указывать, например, в @-обращениях.
Субсчета с длиной обозначения >=Nmin имеют право участвовать в проводках. Назовем такие
субсчета (второго уровня в ФБП) корреспондируемыми.

Тогда Nmin-3 - максимально допустимое число уровней вложенности субсчетов в счете.
И у каждого корреспондируемого субсчета есть несколько родителей - вычисляемых путем откусывания
последовательно правого крайнего символа обозначения вплоть до достижения длины левого отрезка =
Nmin. Тогда сальдо каждого родителя - это сальдо всех его корреспондируемых потомков в соответствии с ПСС.



Системные формы над многоуровневым планом счетов

Это встроенные системные формы сервера __sysXXX, которые опираются на те же функции [od..],[ok..];[op..],..
и ta-факты, что и сейчас. Доработка ограничивается вычислением в анализе, корреспонденциях и сводке оборотов
заодно и аналогичных значений для всех родителей корреспондируемых субсчетов. Количество уровней,
которые можно образовать таким образом - не менее пяти, но лучше ограничиться еще плюс одним, максимум - двумя
дополнительными к встроенным в сервер двум уровням.
Родители могут существовать как субсчета в плане счетов ФБП -
в этом случае нужно обеспечить запрет прямой корреспонденции к ним в операциях, например, просто
подвинуть их обозначение на символ вправо в листалках субсчетов, а могут и не существовать -
тогда они генерируются в системных и похожих на них формах автоматически, помечаются, как
виртуальные родители, появляются, если у них есть хотя бы один подходящий потомок и масса прочих
приятных вещей.


Я постараюсь завтра приготовить примерчик с одной такой реализацией и в выходные размещу.

Пока жду высказываний.


AAA



Пpишедшие ответы: