|
|
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительПо поводу встречается ли... Когда я собственными глазами увидел, что банковская (!) бухгалтеская система MIDAS фирмы MISYS в принципе не работает с двойной записью я офигел. Полу-Проводки вводятся легко и просто. DB Счет1 сумма1 CR Счет2 сумма2 И дай бог что бы при вводе не дрогнула рука и сумма1 совпала с суммой 2. Как только первый раз заплатят штраф за несданный баланс, руки дрожать перестанут. И может быть, еще и АБС поменяют :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 09:58 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
DayroonВозвращаясь к истоку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Может чего наврал, может не учел, но это я с лету прочитав первые посты. Вроде и двойная запись, а вроде и одинарная. Да понятно, именно это мне и не хочется делать, особенно со строками товарных документов. Причем сейчас не хочется потому что некрасиво, а вот в стародавние времена такая операция на VFP просто глючила при числе документов около 100 000 и выше. Округлять начинает странным образом и т.д. Все кто в форумах орет про достоинства фокспро, наверное, ни разу подобного не видали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 10:01 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Возможно и глючит на фоксе, но AFAIK новый фокс, это уже совсем не старый фокс(не пользовался, не знаю). Насчет некрасивости, ну необязательно прям такой запрос, я ж в пример. Обычно ищутся все проводки, где определенный счет проходит как дебетовый или как кредитовый. В родном бухучете, все настолько интересно, а главное непостоянно, что IMNSHO не всегда и в двойную запись(в БД) уложишся. А при проектировании именно БД, считаю по барабану, двойную иногда удобнее считать, одинарную проще понимать как отражение реальности (движение было один раз). Препятствий к сторнированию не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 10:44 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Любителю: Это оно храниться два раза? (почему нет? если им удобно) Или вводится два раза? (возможно, ибо нелепо) нарвутся пару раз в банке, поменяют систему, а создателя пустят по миру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 10:50 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Вы будете смеятся, но данная система работает в нашем банке с 1993 года. Она работает на солидной AS/400 под айбиэмовской же осью OS/400. В Москве есть буквально несколько банков, использующих ее же. Система довольно популярна и в других странах пользователей такой системы намного больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 12:43 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Любителю: Смеяться не буду, буду сочувствовать. И то, все еще недостаточно данных для анализа. Может оно так хранится в формате:Код операции(DB\Cr)|| Счет || Сумма А вдруг снаружи таблица, которая хранит привязки операций, сводит их в проводки. Я же не знаю, а вы не сказали. Это я не защищаю конкретную систему, я ее не видел, а из вашего описания, слишком мало смог понять. З.Ы. Кто мне расскажет как пользоваться тегом для bold шрифта? Не интуитивный он, или я тугой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 13:51 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
То, что там нет таблицы, связывающей воедино полупроводки - более чем уверен. Спасает наверное то, что бОльшая чать проводок (полу) генерится системой самостоятельно. Руками вводятся только какие-то хитрые нестандартные "урегулирования". А все операции - через специальные формы системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 15:12 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Любителю: Возможно там нет таблицы связывающей полупроводки, но система связывающая должна быть, ну хоть по номеру, зачем мне(оператору\бухгалтеру) половина проводки в вышеописаном вами формате, если я не знаю, где вторая ее половина? Возможно(надеюсь), что это лазейка для ввода особо хитрых проводок с разнесением по счетам\субсчетам в ручном режиме. Ибо не представляю, как могли не напороться, особенно, используя в нескольких банках. Если скажете, как определяется вторая половина проводки, то будет(наверное) яснее. Все еще не имею полной уверенности, что вы описываете форму ввода или принцип хранения в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 16:19 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
мысль: когда делается полноценная проводка - блокируется два счета (дебетуемый и кредитуемый). А когда полупроводка - наверное только один? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:00 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenmanмысль: когда делается полноценная проводка - блокируется два счета (дебетуемый и кредитуемый). А когда полупроводка - наверное только один? тихо писаем кипятком Счета блокировать смысла нет (хотя конечно, записи в плане счетов должны бы остаться теми же что и были при начале занесения данных о проводке Остатки по счетам надо менять внутри транзакции записи документа. Полупроводки здесь рассматриваются не как понятие западного бухучета, а как структура данных. Их всегда две. Обе полупроводки вносятся внутри упомянутой транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:12 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
автор тихо писаем кипятком Молодой человек, Вы не пуп земли. Относитесь с уважением к другим! К Вам тут относятся с уважение. Многия и я лично хотят помочь Вам разобраться. Пожалуйста будте вежливы или решайте свои проблемы сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:27 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
когда я говорю "счет" я подразумеваю остаток на счете. Если я изменил остаток, но не сделал коммит, кто кроме меня сможет что-либо сделать со остатком? Если в "проводке" участвуют два счета, пока я не обработаю остаток второго счета - первый недоступен для других. Если куча операций от разных сессий идет на один счет (например счет кассы) - то могут появиться тормоза. я что-то не так говорю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:27 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenmanкогда я говорю "счет" я подразумеваю остаток на счете. Я пока предпочел бы не рассматривать тему таблицы остатков по счетам. Она предполагает дублирование информации в БД и я на такое пойду только при низких характеристиках прототипа реальной системы, для убыстрения получения текущих остатков. gardenmanЕсли я изменил остаток, но не сделал коммит, кто кроме меня сможет что-либо сделать со остатком? Насколько я понимаю, это зависит от уровня изоляции Вашей транзакции. gardenmanЕсли в "проводке" участвуют два счета, пока я не обработаю остаток второго счета - первый недоступен для других. Насколько я понимаю, это зависит от того, включены ли оба изменяемых счета в текущую транзакцию (я подразумеваю уровень изоляции RR). Никто ведь не мешает изменить их поочередно двумя транзакциями (хотя я предпочту сделать это в одной транзакции). Транзакции здесь нужны чтобы изменения счета, производимые разными "сессиями", как Вы их называете, были выполнены друг за другом gardenmanЕсли куча операций от разных сессий идет на один счет (например счет кассы) - то могут появиться тормоза. я что-то не так говорю? Могут, если транзакции открывать на все время редактирования документа. Насколько я успел уяснить из других дискуссий, Ваш метод работы именно таков. 2ПРЕДПОЛОЖИТЕЛЬ: Угу. Я видел. По-всякому бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 17:52 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
OK! Говорите дело в уровнях изоляции )))) проведем маленький эксперемент: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. тепрь открываем 1 сессию 1)Ставим автокоммит - OFF 2)ставим уровень изоляции в UR (грязное чтение) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. открываем вторую сессию: 3)Ставим автокоммит - OFF 4)ставим уровень изоляции в UR (грязное чтение) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. мы видим что запись - изменена... делаем: update acc set balance=200 where account=5 И что же наблюдаем? 2 сессия подвисла... и будет висеть так до тех пор пока мы в первой не сделаем commit. Хотите сказать что при этом расходуются какие-то ресурсы системы? конечно нет. обычное тупое ожидание своей очереди или таймаута. дорогой Dogen! Уровень изоляции называется UNCOMMITED READ, а не UNCOMMITED WRITE, грязное чтение,а не грязное писание... на уровнях СS,RS,RR - вы теперь по этой табличке даже простой full скан не сделаете (для болокировочников конечно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 18:33 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenmanOK! Говорите дело в уровнях изоляции )))) проведем маленький эксперемент: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. тепрь открываем 1 сессию 1)Ставим автокоммит - OFF 2)ставим уровень изоляции в UR (грязное чтение) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. открываем вторую сессию: 3)Ставим автокоммит - OFF 4)ставим уровень изоляции в UR (грязное чтение) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. мы видим что запись - изменена... делаем: update acc set balance=200 where account=5 И что же наблюдаем? 2 сессия подвисла... и будет висеть так до тех пор пока мы в первой не сделаем commit. Хотите сказать что при этом расходуются какие-то ресурсы системы? конечно нет. обычное тупое ожидание своей очереди или таймаута. дорогой Dogen! Уровень изоляции называется UNCOMMITED READ, а не UNCOMMITED WRITE, грязное чтение,а не грязное писание... на уровнях СS,RS,RR - вы теперь по этой табличке даже простой full скан не сделаете (для болокировочников конечно) Sapienti sat. Что меня обязывает чего-то ждать и не коммитить первую транзакцию? Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом. Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 18:42 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
>Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом. >Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается. мягко говоря если вы так поступаете, то рано или поздно нарветесь на то, что у вас баланс не сойдется. вообще что-то не понимаю что за сервер вы собираетесь использовать? Оракл или что-то другое? по-моему вам нужно много еще почитать-поучить-поэкспериментировать. Из вашего поста я понял что у вас опыт пока-что небольшой. И с уровнями изоляции транзакций нужно поразбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 19:01 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenman DogenSapienti sat. Что меня обязывает чего-то ждать и не коммитить первую транзакцию? Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом. Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается. мягко говоря если вы так поступаете, то рано или поздно нарветесь на то, что у вас баланс не сойдется. вообще что-то не понимаю что за сервер вы собираетесь использовать? Оракл или что-то другое? по-моему вам нужно много еще почитать-поучить-поэкспериментировать. Из вашего поста я понял что у вас опыт пока-что небольшой. И с уровнями изоляции транзакций нужно поразбираться. Вы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-) И за то, что данные не перечитываете перед записью? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 19:25 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Кстати еще прикол из той же системы про блокировки. В течении дня вся работа всех операторов складывается в ящик. Вечером, после окончания рабочего дня начинается великая процедура Closing Business Day. Только в этот момент учитываются введенные вручную проводки (ничтожно мало), сгенерированные системой (подавляющее большинство) и пересчитываются все остатки по счетам, обороты, курсовые разницы и др. На следующее утро на весь рабочий день новое состояние остатков. Так что в течении дня блокировки для остатков по счетам нафиг не нужны. Если со счета снять больше, чем там есть, просто будет остаток с другим знаком. Да, кстати, суммы на активных и на пассивных счетах имеют разные знаки. И хранятся целыми числами в копейках соответствующих валют. Самое смешное начинается, если выполнить операцию задним числом. Порождается такой букетище проводок... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 23:24 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
т.е есть способ украсть немножко денег ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 00:03 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenman>Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом. >Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается. мягко говоря если вы так поступаете, то рано или поздно нарветесь на то, что у вас баланс не сойдется. вообще что-то не понимаю что за сервер вы собираетесь использовать? Оракл или что-то другое? по-моему вам нужно много еще почитать-поучить-поэкспериментировать. Из вашего поста я понял что у вас опыт пока-что небольшой. И с уровнями изоляции транзакций нужно поразбираться. Во-первых, в данный момент я не выбираю какой сервер использовать. Любой, поддерживающий по крайней мере repeatable read. Баланс у меня всегда сойдется, потому что я отчетность по документам рассчитываю. Если Вы имеете в виду что у меня проведется только одна из полупроводок - так я ведь написал, что обе их намерен сделать в рамках одной транзакции. Насчет экспериментирования я вполне согласен. Предпочитаю, однако же, вначале мысленные эксперименты ставить - по деньгам дешевле. Опытом меряться, наверное, не стоит. Опыта в эксплуатации оракла у меня действительно нет. Но Ваше настойчивое желание строить системы сильно зависящие от поведения конкретного SQL-сервера как-то смущает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 09:46 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
drmikeВы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-) И за то, что данные не перечитываете перед записью? :-) Тааааак... похоже появился еще один человек, которому стоит почитать книжки ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 10:26 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительКстати еще прикол из той же системы про блокировки. В течении дня вся работа всех операторов складывается в ящик. Вечером, после окончания рабочего дня начинается великая процедура Closing Business Day. Только в этот момент учитываются введенные вручную проводки (ничтожно мало), сгенерированные системой (подавляющее большинство) и пересчитываются все остатки по счетам, обороты, курсовые разницы и др. На следующее утро на весь рабочий день новое состояние остатков. Так что в течении дня блокировки для остатков по счетам нафиг не нужны. Если со счета снять больше, чем там есть, просто будет остаток с другим знаком. Да, кстати, суммы на активных и на пассивных счетах имеют разные знаки. И хранятся целыми числами в копейках соответствующих валют. Самое смешное начинается, если выполнить операцию задним числом. Порождается такой букетище проводок... Да, действительно - если брать такую модель бизнеса, (вспоминаю своё пурханье с Диасофтом) - то действительно - проблем с закрытием дофига будет. Сложный процесс. Поэтому то в нашей системе (которая после Диасофта) мы текущие остатки в реальном времени брали из остатков на начало открытого переиода (читай опер день) +-дебетовые/кредитовые обороты за открытый период. А закрытие опердня - это формирование журнала остатков (и оборотов) только по счетам, по которым было движение за день. Откуда элементарно вытаскивается дата последнего движения (из своей валютной плоскости конечно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 10:36 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
gardenman drmikeВы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-) И за то, что данные не перечитываете перед записью? :-) Тааааак... похоже появился еще один человек, которому стоит почитать книжки ) Ага, а не посоветуете такую, в которой написано о великой пользе грязного чтения? А то я до сих пор таких не встречал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 14:56 |
|
||
|
Двойная запись vs Полупроводки
|
|||
|---|---|---|---|
|
#18+
Проблема состоит в массовой ИНЕРЦИОННОСТИ. Исторически сложилось так, что в основе всего движения лежит бухгалтерская проводка. В 91 г. "Финансы без проблем", затем 1-с продолжила структуру - все движение в проводках, и нагрузить таблицу проводок всякими призхнаками для решения задач аналитического учета. Почему то это стало аксиомой. Далее народ пытается выжать из таблицы проводок вю необходимую информацию. Добавляется вначале один вид аналитики и код аналитики, затем пять, затем десять. Сколько можно в них добавить? Попробуйте НАОБОРОТ. Есть много задач учета - складской, покупатели, различные реализации, которые гороздо проще решаются при использовании свой структуры операций. Для каждой из задач используются много параметров, которые тяжело вложить в таблицу проводок. Но этого и не надо делать. Бухгалтерские проводки - это только отражение выполненных операций в синтетическом учете. Не надо смешивать эти разные задачи. Поэтому, надо делать задачу учета материалов, и предусмотреть в ней генерацию бухгалтерских проводок, отражающих операции с материалами. Но не включать аналитику в проводки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2005, 19:48 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32885672&tid=1540608]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 509ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...