|
|
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Давай те не сбиваться истинного направления темы)) Алексей, это все из-за тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:05 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Cheprasov, а какая СУБД, если не секрет. Если мне не изменяет склероз, ты смотрел в сторону postgresql, а там есть такой тип как ltree . Посмотри в его сторону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:08 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, oracle 10g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:10 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
CheprasovegorychCheprasovВ бухгалтерии есть такое понятие как план счетов. Это некий список, древовидный.организационно, да, план счетов можно представить в виде дерева, однако, имхо, его программная реализация в виде дерева кроме геморроя, никакого выигрыша не даёт. Как совершенно справедливо заметил Dmitry6237 "в банковском софте принято использовать просто таблицу". Забейте на дерево, зачем оно вам здесь тут? Ну может это в банковском. Но всетаки для ведения качественного управленческого учета удобно план счетов представлять в виде дерева. (если интересно где удобно могу рассказать боле подробно) Вот такой у меня вариант: Первичный ключ сделать целочисленным числом с макс кол-вом знаков - 10 (По опыту это более чем достаточно). И дерево будет выглядеть так 1000000000 - счет 1010000000 - под счет 1020000000 - еще подсчет Получается чтоб выбрать мне операции по 10 счету (включая все подсчета) необходимо будет задать условие типа): Код: plaintext Что думаете? Так какой сделать ключ чтоб запросы выполнялись быстро? ну как бэ мое предложение и обсуждаете. делается таблица. номер_счета - строка наименование - строка номер счета формируется как xxyyzz. xx- счет первого порядка, yy -счет второго порядка и т.п. (сорри за терминологию как в бухгалтерии предприятия называется не помню уже.) соответственно что бы выбрать все операции по тому же 10 счет условие у нас будет where номер_счета like('10%') либо where left(номер_счета,2)= '10' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:12 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
CheprasovОКТОГЕН, oracle 10g должен быть аналог и там. Я знаю, что-то подобное есть и в m$sql. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:12 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Dmitry6237, а тормозов не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:14 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, ну смотря конечно что делать. но подобный мехнизм вполне работал при количестве счетов порядка 35 тысяч и нескольких тысяч проводок в день. при чем и на dbf. не думаю что у автора темы будет количество счетов большее. и все таки оракл я думаю пошустрее нежели дбфки работать будет)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:23 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
пример конечно упрощенный: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. A.LEFTBOUND<A1.LEFTBOUND<A11.LEFTBOUND<=A11.RIGHTBOUND<A1.RIGHTBOUND<A.RIGHTBOUND то есть диапозон LEFTBOUND ... RIGHTBOUND охватывает вложенные субсчета Код: plaintext 1. 2. 3. 4. 5. 6. 7. запрос выводит оборот по дебету счета Х Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:30 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Naf, а стоит так усложнять? каковы плюсы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:36 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
а учитывая, что план счетов достаточно редко изменяемая таблица, то можно сделать столь сложный алгоритм ее модификации С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:37 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Dmitry6237Naf, а стоит так усложнять? каковы плюсы? плюс в легкости получения иерархических данных по субсчетам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:37 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
NafDmitry6237Naf, а стоит так усложнять? каковы плюсы? плюс в легкости получения иерархических данных по субсчетам Вариант вполне рабочий, только стоит помнить , что при обновлении плана счетов нужно менять соответствующие поля во всей таблице плана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:44 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
NafDmitry6237Naf, а стоит так усложнять? каковы плюсы? плюс в легкости получения иерархических данных по субсчетам честно говоря не особо заметно. таблица получается больше, алгоритм вставки сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:47 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Ну вы так часто меняете план счетов? С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:49 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНNafDmitry6237Naf, а стоит так усложнять? каковы плюсы? плюс в легкости получения иерархических данных по субсчетам Вариант вполне рабочий, только стоит помнить , что при обновлении плана счетов нужно менять соответствующие поля во всей таблице плана. Как вариант, можно использовать ещё DECIMAL/NUMERIC типы, тогда менять всю таблицу не придётся, но надо быть осторожным с границей точности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:49 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Naf, Что то есть интересное в твоих рассуждениях. Но запрос все равно сводится к тому: 1: получить список счетов 2: полученный список счетов обьединить с таблицей проводок. Ты оригинальным способом получаешь список счетов. Интересно а как ты формируешь правую и левую границу подсчетов, это какой то специальный алгоритм. А если список редактируется что происходит с границами? Если получать список рекурсивным обходом это тоже очень быстро, доступ к данным осуществляется через первичный ключ. Повторю большое время уходи на запрос из журнала операций. т.к. журнал операций около 5 млн. Хочу сделать так что бы оперативные отчеты не приходилось долго ждать (менее секунды). Если делать запрос из журнала операций по индексу : where номер_счет_дебет=индекс_номер_счет, - запрос происходи моментально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:50 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
С запросом, кстати, наврал С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:51 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Nafа учитывая, что план счетов достаточно редко изменяемая таблица, то можно сделать столь сложный алгоритм ее модификации С уважением, Naf Тут сомнений нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:52 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Cheprasov, сложные алгоритмы ведут к сложным ошибкам, которые потом сложно исправлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 15:57 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
CheprasovПовторю большое время уходи на запрос из журнала операций. т.к. журнал операций около 5 млн. Хочу сделать так что бы оперативные отчеты не приходилось долго ждать (менее секунды). А что мешает сделать таблицу функционалов, которая заполняется при добавлении операций? А выборки делать не из журналов операций, а из таблицы функционалов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 16:03 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
При добавлении операций будет уходить чуть больше времени, зато итоговые выборки будут моментальными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 16:05 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что строить оперативный учет на бухгалтерском плане счетов дело не очень приятное. Особенно, когда у вас будут не только субсчета, но и аналитика внутри субсчетов (контрагенты, товары, склады и т.д.) Кроме того оперативный учет манипулирует также сущностями, которые не имеют отражения в бухгалтерском учете. С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 16:09 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Ладно всем спасибо за участие. Буду сам эксперементировать результаты потом расскажу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 17:34 |
|
||
|
Дерево. План счетов.
|
|||
|---|---|---|---|
|
#18+
Вчем проблема-то? Организуй ты этот план счетов как угодно - аналитика-то будет собираться по суррогатному ключу. Тоесть в итоге-то будет всё равно что-то вроде Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2009, 20:52 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36339334&tid=1542952]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
189ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 504ms |

| 0 / 0 |
