powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Двойная запись vs Полупроводки
162 сообщений из 162, показаны все 7 страниц
Двойная запись vs Полупроводки
    #32876551
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть мнение, что создание таблицы полупроводок (вместо общеупотребимой таблицы проводок с указанием Дт и Кт счетов и аналитик) позволит улучшить многие характеристики системы оперативного учета.

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

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

Кто-нибудь использовал на практике структуру данных, не опирающуюся на принцип двойной записи? Что понравилось, что нет?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32876638
va_kochnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"красное сторно" с полупроводками не получится
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32876673
Видел такой принцып реализации ( полупроводки ) для банков и для предприятий. Для предприятий, так например сделано в ERP системе от фирмы Oracle - OEBS.

таблица полупроводок там имеет следующий вид.

create table GL_JE_LINES
(
JE_HEADER_ID NUMBER(15) not null,
JE_LINE_NUM NUMBER(15) not null,
LAST_UPDATE_DATE DATE not null,
LAST_UPDATED_BY NUMBER(15) not null,
SET_OF_BOOKS_ID NUMBER(15) not null,
CODE_COMBINATION_ID NUMBER(15) not null,
PERIOD_NAME VARCHAR2(15) not null,
EFFECTIVE_DATE DATE not null,
STATUS VARCHAR2(1) not null,
CREATION_DATE DATE,
CREATED_BY NUMBER(15),
LAST_UPDATE_LOGIN NUMBER(15),
ENTERED_DR NUMBER,
ENTERED_CR NUMBER,
ACCOUNTED_DR NUMBER,
ACCOUNTED_CR NUMBER,
DESCRIPTION VARCHAR2(240),
LINE_TYPE_CODE VARCHAR2(20),
REFERENCE_1 VARCHAR2(240),
REFERENCE_2 VARCHAR2(240),
REFERENCE_3 VARCHAR2(240),
REFERENCE_4 VARCHAR2(240),
REFERENCE_5 VARCHAR2(240),
ATTRIBUTE1 VARCHAR2(150),
ATTRIBUTE2 VARCHAR2(150),
ATTRIBUTE3 VARCHAR2(150),
ATTRIBUTE4 VARCHAR2(150),
ATTRIBUTE5 VARCHAR2(150),
ATTRIBUTE6 VARCHAR2(150),
ATTRIBUTE7 VARCHAR2(150),
ATTRIBUTE8 VARCHAR2(150),
ATTRIBUTE9 VARCHAR2(150),
ATTRIBUTE10 VARCHAR2(150),
ATTRIBUTE11 VARCHAR2(150),
ATTRIBUTE12 VARCHAR2(150),
ATTRIBUTE13 VARCHAR2(150),
ATTRIBUTE14 VARCHAR2(150),
ATTRIBUTE15 VARCHAR2(150),
ATTRIBUTE16 VARCHAR2(150),
ATTRIBUTE17 VARCHAR2(150),
ATTRIBUTE18 VARCHAR2(150),
ATTRIBUTE19 VARCHAR2(150),
ATTRIBUTE20 VARCHAR2(150),
CONTEXT VARCHAR2(150),
CONTEXT2 VARCHAR2(150),
INVOICE_DATE DATE,
TAX_CODE VARCHAR2(15),
INVOICE_IDENTIFIER VARCHAR2(20),
INVOICE_AMOUNT NUMBER,
NO1 VARCHAR2(150),
STAT_AMOUNT NUMBER,
IGNORE_RATE_FLAG VARCHAR2(1),
CONTEXT3 VARCHAR2(150),
USSGL_TRANSACTION_CODE VARCHAR2(30),
SUBLEDGER_DOC_SEQUENCE_ID NUMBER,
CONTEXT4 VARCHAR2(150),
SUBLEDGER_DOC_SEQUENCE_VALUE NUMBER,
REFERENCE_6 VARCHAR2(240),
REFERENCE_7 VARCHAR2(240),
GL_SL_LINK_ID NUMBER,
GL_SL_LINK_TABLE VARCHAR2(30),
REFERENCE_8 VARCHAR2(240),
REFERENCE_9 VARCHAR2(240),
REFERENCE_10 VARCHAR2(240),
GLOBAL_ATTRIBUTE_CATEGORY VARCHAR2(30),
GLOBAL_ATTRIBUTE1 VARCHAR2(150),
GLOBAL_ATTRIBUTE2 VARCHAR2(150),
GLOBAL_ATTRIBUTE3 VARCHAR2(150),
GLOBAL_ATTRIBUTE4 VARCHAR2(150),
GLOBAL_ATTRIBUTE5 VARCHAR2(150),
GLOBAL_ATTRIBUTE6 VARCHAR2(150),
GLOBAL_ATTRIBUTE7 VARCHAR2(150),
GLOBAL_ATTRIBUTE8 VARCHAR2(150),
GLOBAL_ATTRIBUTE9 VARCHAR2(150),
GLOBAL_ATTRIBUTE10 VARCHAR2(150),
JGZZ_RECON_STATUS VARCHAR2(1),
JGZZ_RECON_DATE DATE,
JGZZ_RECON_ID NUMBER,
JGZZ_RECON_REF VARCHAR2(240),
JGZZ_RECON_CONTEXT VARCHAR2(30),
TAXABLE_LINE_FLAG VARCHAR2(1),
TAX_TYPE_CODE VARCHAR2(1),
TAX_CODE_ID NUMBER(15),
TAX_ROUNDING_RULE_CODE VARCHAR2(1),
AMOUNT_INCLUDES_TAX_FLAG VARCHAR2(1),
TAX_DOCUMENT_IDENTIFIER VARCHAR2(50),
TAX_DOCUMENT_DATE DATE,
TAX_CUSTOMER_NAME VARCHAR2(240),
TAX_CUSTOMER_REFERENCE VARCHAR2(240),
TAX_REGISTRATION_NUMBER VARCHAR2(50),
TAX_LINE_FLAG VARCHAR2(1),
TAX_GROUP_ID NUMBER(15)
)


Почему там сделано так? Потому что на западе( в западной модели учета) нет понятия корреспондирующего счета вообще!!! Там могут быть проводки, когда
один дебет и несколько кредитов. Но это еще ладно. Тут можно выделить проводки. Но бывают такие, когда корреспондирующий счет выделить просто нельзя .

К сожалению я не помню такой пример. Но читал его дома 3 раза. Постараюсь не забыть выписать его к понедельнику.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32876682
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
va_kochnev"красное сторно" с полупроводками не получится
Будьте так любезны дать определение "красного сторно".
Специально ходил переспросить главбуха.
Это всего лишь отрицательная сумма проводки, кто мешает мне ее сделать.
Я ведь без труда журнал операций или аналитическую ведомость по счету получу из таблицы полупроводок, точно так как и используя таблицу, в лоб нарисованную глядя на книгу проводок обычного российского учета с двойной записью.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32876718
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПРЕДПОЛОЖИТЕЛЬВидел такой принцып реализации ( полупроводки ) для банков и для предприятий. Для предприятий, так например сделано в ERP системе от фирмы Oracle - OEBS.

таблица полупроводок там имеет следующий вид.

create table GL_JE_LINES
(
JE_HEADER_ID NUMBER(15) not null,
...много поскипано - Dogen...
TAX_GROUP_ID NUMBER(15)
)


Почему там сделано так? Потому что на западе( в западной модели учета) нет понятия корреспондирующего счета вообще!!! Там могут быть проводки, когда
один дебет и несколько кредитов. Но это еще ладно. Тут можно выделить проводки. Но бывают такие, когда корреспондирующий счет выделить просто нельзя .

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

Один дебет и скажем, пять кредитов, в моей структуре отразятся в шести строках.
Причем суммы, как я понимаю, будут равны, если сложить все кредитовые суммы и дебетовую.
Если нельзя выделить корреспондирующий счет - имхо это значит что его явно не обозначили в плане счетов, всего лишь. Могу ведь я не обозначить счет "Курсовая разница", к примеру, а проводки делать буду, в никуда. Очень хотелось бы посмотреть на Ваш упомянутый пример.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32877200
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Диасофт 5NT
2. Concorde XAL
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32877356
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jimmy1. Диасофт 5NT
2. Concorde XAL
а подробнее че-нибудь рассказать можете?

Диасофт - это АБС, как я понимаю? Она, по идее, изначально должна была быть написана так чтобы легко получать отчетность и в российских стандартах, и в международных. В общем меня интересует то же самое.

Concorde вроде как не наша, тут и вопрос не стоит, почему они использовали полупроводки?..
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32877545
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Она, по идее, изначально должна была быть написана так чтобы легко получать отчетность и в российских стандартах, и в международных. В общем меня интересует то же самое.

Не могу ничего сказать по этому поводу. Отчетов там полно, а вот насколько легко они разрабатываются и как быстро работают- не знаю.
Знаком с ее структурой т.к. делали хранилище данных, одним из источников которого является 5NT.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32877959
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюсы такого подхода
- скорость получения некоторых отчетов по одному счету
- экономное хранение односторонних проводок (забалансовый учет)

Минусы
- сложнее собрать сумму типа "Оборот по счету (с условиями на счет) в корреспонденции с ... (с условиями на коррсчет)". А это не редко необходимо для российского учета.
- когда правим 2-строннюю проводку надо править 2 записи, а не одну
- могут быть "разбалансировки", это когда Дт есть, а Кт потеряли

Вывод.
Так удобно хранить не проводки, а остатки. Для российского учета это не очень удобно ИМХО.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32877997
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_Плюсы такого подхода
- скорость получения некоторых отчетов по одному счету
- экономное хранение односторонних проводок (забалансовый учет)

Минусы
- сложнее собрать сумму типа "Оборот по счету (с условиями на счет) в корреспонденции с ... (с условиями на коррсчет)". А это не редко необходимо для российского учета.
- когда правим 2-строннюю проводку надо править 2 записи, а не одну
- могут быть "разбалансировки", это когда Дт есть, а Кт потеряли

Вывод.
Так удобно хранить не проводки, а остатки. Для российского учета это не очень удобно ИМХО.
Спасибо за свежий взгляд, однако!
Поскольку все проводки привязаны к документам, то оборотку по счету я получу без особого труда (есть такое ощущение :))
Править две записи, как и вносить две записи - на эту жертву я готов пойти, код апдейта документа пишется не каждый день
Оттуда же и проблема разбалансировки, ядро системы тут явно несложное и небольшое.
Вот насчет остатков... Я бы сказал - так удобно СЧИТАТЬ остатки.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32878001
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_Для российского учета это не очень удобно ИМХО.
а я хочу и российские отчеты и нероссийские
и быстро остатки считать хочу
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32878953
Фотография RA\/EN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все хорошо до первого развала баланса :)
Если ты разрешишь работать только с парами, то что тебе мешает так сделать таблицу с проводами, чтобы по ней хорошо чесали запросы, как по полупроводам?
Как только будет разрешена правка одной полупроводки, то баланс начнет расходиться... А поддержки системы сведется к ежедневному (неоднократному) поиску, какая ...<censored>... вбила полупровод кривой.
Некоторые АБС изжили полупровода как класс давно, а кто нет - имеет большой геморрой.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879269
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RA\/ENВсе хорошо до первого развала баланса :)
Если ты разрешишь работать только с парами, то что тебе мешает так сделать таблицу с проводами, чтобы по ней хорошо чесали запросы, как по полупроводам?
Как только будет разрешена правка одной полупроводки, то баланс начнет расходиться... А поддержки системы сведется к ежедневному (неоднократному) поиску, какая ...<censored>... вбила полупровод кривой.
Некоторые АБС изжили полупровода как класс давно, а кто нет - имеет большой геморрой.
На самом деле за полупроводки я не агитирую, однако хочу понять какой процент разработчиков их использует и на какие грабли кто натыкался.
Расчет остатков по счету по таблице в которой есть Дт и Кт, требует или использования IF, или UNION, мне не хочется использовать ни то ни другое. Полупроводки же выбираются как для суммирования так и для вывода аналитической ведомости чрезвычайно простым запросом.
Вероятность "правки" одной проводки администратором БД всегда есть, но для обычного пользователя я бы обозначил что ее нет. Обычный пользователь даже понимать не будет что в системе полупроводок нет.
Скажем так, я скорее хочу использовать идеологию двойной записи, но разбивать запись на две - одну с положительной суммой, вторую с отрицательной. Знак можно хранить в отдельном поле, тогда отрицательные суммы будут обозначать сторнировочные записи.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879366
va_kochnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogen va_kochnev"красное сторно" с полупроводками не получится
Будьте так любезны дать определение "красного сторно".
Специально ходил переспросить главбуха.
Это всего лишь отрицательная сумма проводки, кто мешает мне ее сделать.
Я ведь без труда журнал операций или аналитическую ведомость по счету получу из таблицы полупроводок, точно так как и используя таблицу, в лоб нарисованную глядя на книгу проводок обычного российского учета с двойной записью.

Согласен с определением вашего главбуха.
Расскажу о заморочках с которыми пришлось столкнуться в OEBS.
Таблица с полупроводками модуля ГЛАВНАЯ КНИГА, структуру которой привел ПРЕДПОЛОЖИТЕЛЬ, упрощенно имеет следующую структуру:
СЧЕТ
СУММА ПО ДЕБЕТУ
СУММА ПО КРЕДИТУ
заполняется всегда СЧЕТ и только одна из СУММ, в зависимости от того, дебетовая это полупроводка или кредитовая. "Красное сторно" в такую структуру укладывается. В соответствующем поле прописывается отрицательная сумма.
Попадают проводки в эту таблицу из других модулей с помощью различных интерфейсов. А вот в разных модулях бух.проводки создаются по разному. Например, в модуле кредиторов проводки хранятся в таблице AP_AE_LINES, которая построена по тому же принципу, что и приведенная выше. Отрицательные суммы для создания "красного сторно" штатными средствами там не создаются к сожалению. Но с помощью кувалды и какой-то матери эта проблема решается. Бухгалтера радуются.
А вот в модуле ЗАПАСЫ такой номер не проходит. Там таблица с проводками (MTL_TRANSACTION_ACCOUNTS) имеет структуру:
СЧЕТ
СУММА
При переносе данных из этой таблицы в модуль ГЛАВНАЯ КНИГА отрицательая СУММА записывается в СУММА ПО КРЕДИТУ, а поожительная СУММА - в СУММА ПО ДЕБЕТУ. В результате в этом модуле "красное сторно" не реализуется. :(

Если создавать свое, то можно, конечно, такую проблему решить.
Хотя мне, по правде говоря, не видится, почему запрос
select sum(СУММА) from ТАБЛИЦА where СЧЕТ=60
будет существенно быстрее, чем
select sum(decode(60,ДЕБЕТ,СУММА,КРЕДИТ,-СУММА)) from ТАБЛИЦА
where ДЕБЕТ=60 or КРЕДИТ=60

PS: Мне доводилось решать задачу, которую вы сейчас решаете. Я тогда сделал две таблицы. Одну с полупроводками (СЧЕТ,СУММА,ДЕБЕТ_ИЛИ_КРЕДИТ), а другую с полноценными проводками. Заполнялись они в одной процедуре и всегда были синхронизированы. На производительности это конечно сказывается не самым благоприятным образом. Зато в дальнейшем отчетность получать можно было любую на базе той или иной таблицы. Справлялся с этим даже программист не слишком высокой квалификации
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879395
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
va_kochnev Dogen va_kochnev"красное сторно" с полупроводками не получится
Будьте так любезны дать определение "красного сторно".
Специально ходил переспросить главбуха.
Это всего лишь отрицательная сумма проводки, кто мешает мне ее сделать.
Я ведь без труда журнал операций или аналитическую ведомость по счету получу из таблицы полупроводок, точно так как и используя таблицу, в лоб нарисованную глядя на книгу проводок обычного российского учета с двойной записью.

Согласен с определением вашего главбуха.
Расскажу о заморочках с которыми пришлось столкнуться в OEBS.
Таблица с полупроводками модуля ГЛАВНАЯ КНИГА, структуру которой привел ПРЕДПОЛОЖИТЕЛЬ, упрощенно имеет следующую структуру:
СЧЕТ
СУММА ПО ДЕБЕТУ
СУММА ПО КРЕДИТУ
заполняется всегда СЧЕТ и только одна из СУММ, в зависимости от того, дебетовая это полупроводка или кредитовая. "Красное сторно" в такую структуру укладывается. В соответствующем поле прописывается отрицательная сумма.
Попадают проводки в эту таблицу из других модулей с помощью различных интерфейсов. А вот в разных модулях бух.проводки создаются по разному. Например, в модуле кредиторов проводки хранятся в таблице AP_AE_LINES, которая построена по тому же принципу, что и приведенная выше. Отрицательные суммы для создания "красного сторно" штатными средствами там не создаются к сожалению. Но с помощью кувалды и какой-то матери эта проблема решается. Бухгалтера радуются.
А вот в модуле ЗАПАСЫ такой номер не проходит. Там таблица с проводками (MTL_TRANSACTION_ACCOUNTS) имеет структуру:
СЧЕТ
СУММА
При переносе данных из этой таблицы в модуль ГЛАВНАЯ КНИГА отрицательая СУММА записывается в СУММА ПО КРЕДИТУ, а поожительная СУММА - в СУММА ПО ДЕБЕТУ. В результате в этом модуле "красное сторно" не реализуется. :(

Ну это тараканы OEBS - кто мешал определять знак исходя не их знака суммы, а из того, дебет это или кредит. В очередной раз думаешь - не боги горшки обжигают, нет, не боги :))
Касательно того что увеличение объема вводимых при записи документа данных снижает производительность системы, не могу согласиться - хоть в 10 таблиц заноси, хоть в 20, при грамотном подходе это в полсекунды уложится имхо. А еще если отдельным тредом сделать... :]
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879410
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на самом деле я думаю что налицо не прикол OEBS, а неглубокое понимание предметной области.
Есть понятие сторно в бухгалтерии, но далеко не факт что подобное укладывается в идеологию управления материальными запасами. Может, у Вас специально сделано именно так?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879467
Valer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lделеал на DBF ах давно
и бухгалтерию и опер учет в торговле

на одну операцию использовал две записи
структура
s , kau , napr ,nd , data, id_dok
сумма ндс и пр ( список товаров например ) в отдельной
таблице
все прекрасно работало в нескольких конторах
с моей точки зрения для разработчика
так значительно проще и удобнее
бухгалтерские сторно проходят со знаком минус
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879578
va_kochnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DogenА на самом деле я думаю что налицо не прикол OEBS, а неглубокое понимание предметной области.
Есть понятие сторно в бухгалтерии, но далеко не факт что подобное укладывается в идеологию управления материальными запасами. Может, у Вас специально сделано именно так?
У кого у Нас ?
В OEBS основной прикол в том, что разные модули делали разные разработчики. И в каждом модуле свои извраты.
А исправительные записи при исправлении ошибки укладываются в идеология управления и финансами и материальными запасами. Только буржуев не волнует, что обратные проводки увеличивают обороты по счету, а наших бухгалтеров это не устраивает. Им "красное сторно" подавай.

А по теме только могу добавить, что лучше хорошо проанализировать, какого рода отчеты будут в системе, с какой периодичностью и насколько сложно будет добывать данные для этих отчетов. А потом уже и принимать решение. Мне на практике больше приходилось писать отчеты с корреспонденцией. А сальдо по счетам за период (ПЕРИОД,САЛЬДО_НА_НАЧАЛО_ПЕРИОДА,ОБОРОТ_ДЕБЕТ,ОБОРОТ_КРЕДИТ,САЛЬДО_НА_КОНЕЦ) хранил в отдельной таблице, которая заполнялась отдельной процедурой после закрытия месяца (или по потребности). И жил счастливо пока с OEBS не связался.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879609
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
va_kochnev DogenА на самом деле я думаю что налицо не прикол OEBS, а неглубокое понимание предметной области.
Есть понятие сторно в бухгалтерии, но далеко не факт что подобное укладывается в идеологию управления материальными запасами. Может, у Вас специально сделано именно так?
У кого у Нас ?
В OEBS основной прикол в том, что разные модули делали разные разработчики. И в каждом модуле свои извраты.
А исправительные записи при исправлении ошибки укладываются в идеология управления и финансами и материальными запасами. Только буржуев не волнует, что обратные проводки увеличивают обороты по счету, а наших бухгалтеров это не устраивает. Им "красное сторно" подавай.

А по теме только могу добавить, что лучше хорошо проанализировать, какого рода отчеты будут в системе, с какой периодичностью и насколько сложно будет добывать данные для этих отчетов. А потом уже и принимать решение. Мне на практике больше приходилось писать отчеты с корреспонденцией. А сальдо по счетам за период (ПЕРИОД,САЛЬДО_НА_НАЧАЛО_ПЕРИОДА,ОБОРОТ_ДЕБЕТ,ОБОРОТ_КРЕДИТ,САЛЬДО_НА_КОНЕЦ) хранил в отдельной таблице, которая заполнялась отдельной процедурой после закрытия месяца (или по потребности). И жил счастливо пока с OEBS не связался.
У Вас - я имел в виду в OEBS, естественно.
Про обороты по счету верное замечание.
Касательно учета ТМЦ я все же предпочитаю удалять или исправлять некорректный документ, т.к. персонал на складе предпочитает видеть в карточке складского учета именно то что было в реальности, а не сторнировочные записи.
На практике мне важнее быстро рассчитывать остатки по документам, ну и считать аналитические и оборотные ведомости. Все это мне вроде как должно стать делать легче с полупроводками.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879642
Вот нашел. Привожу отрывок.

Б.Нидлз, Х.Андерсон, Д.Колдуэлл ПРИНЦЫПЫ БУХГАЛТЕРСКОГО УЧЕТА. Послесловие к книге. Бухгалтерский
учет в США: взгляд из России.

"К особенностям западной методологии в целом, а не только англо-американской школы, можно отнести и
широкое использование смешанных проводок, когда одновременно дебетуется и кредитуется несколько
счетов."...Вот упрощенный пример.Поступили товары -2000 и тара-300. Товары будут проданы за 2500.

Код: 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.
Согластно нашей практике могут быть  2  варианта:

 1 )

Товары                                    2000 
Тара                                      300 
   Расчеты с поставщиками и подрядчиками         2300 
Товары                                    500 
   Торговая наценка                              500 

или

Товары                                    2500 
  Расчеты с поставщиками и подрядчиками          2000 
  Торговая наценка                               500 
Тара                                      300 
  Расчеты с поставщиками и подрядчиками          300 

В западной традиции эта взаимосвязь исчезает

Товары                                   2500 
Тара                                      300 
  Расчеты с поставщиками и подрядчиками        2300    
  Торговая наценка                             500   
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879661
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаясь к истоку:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE Provodki(
    Id        INTEGER NOT NULL,
    Num     INTEGER NOT NULL,
    From_Sch     INTEGER NOT NULL,
    To_Sch  INTEGER NOT NULL,
    Volume  DOUBLE PRECISION
);
SELECT Num, From_Sch as Debet, To_Sch as Credit, Volume 
FROM Provodki
UNION(
SELECT Num, To_Sch as Debet, From_Sch as Credit, -Volume
FROM Provodki)

Может чего наврал, может не учел, но это я с лету прочитав первые посты.
Вроде и двойная запись, а вроде и одинарная.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32879673
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПРЕДПОЛОЖИТЕЛЬВот нашел. Привожу отрывок.

Б.Нидлз, Х.Андерсон, Д.Колдуэлл ПРИНЦЫПЫ БУХГАЛТЕРСКОГО УЧЕТА. Послесловие к книге. Бухгалтерский
учет в США: взгляд из России.

"К особенностям западной методологии в целом, а не только англо-американской школы, можно отнести и
широкое использование смешанных проводок, когда одновременно дебетуется и кредитуется несколько
счетов."...Вот упрощенный пример.Поступили товары -2000 и тара-300. Товары будут проданы за 2500.

Код: 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.
Согластно нашей практике могут быть  2  варианта:

 1 )

Товары                                    2000 
Тара                                      300 
   Расчеты с поставщиками и подрядчиками         2300 
Товары                                    500 
   Торговая наценка                              500 

или

Товары                                    2500 
  Расчеты с поставщиками и подрядчиками          2000 
  Торговая наценка                               500 
Тара                                      300 
  Расчеты с поставщиками и подрядчиками          300 

В западной традиции эта взаимосвязь исчезает

Товары                                   2500 
Тара                                      300 
  Расчеты с поставщиками и подрядчиками        2300    
  Торговая наценка                             500   

С моей дремучей точки зрения, это либо документ на приход товаров и тары одновременно, либо два документа.
В OLTP торговая наценка не проводится никак. Хотя никто мне не мешает сделать систему, в которой с документами учета ТМЦ будут связаны сгенерированные по определенным правилам бухгалтерские проводки. Торговую наценку я тоже могу провести, но она должна быть отнесена на товары. Скорее всего она будет разнесена по массе единицы товара, может быть также по цене или просто поштучно.
Как это будет проводиться в какой бух.системе, мне по барабану. Что угодно можно сгенерировать, имея первичные документы.
Тема имеет целью выявить преимущества и недостатки полупроводок в системах оперативного учета, а не в бух.системах. То есть основной объект вокруг которого должны бы вестись дебаты в данном случае - хранение первичных документов учета ТМЦ с использованием полупроводок. В таком вот аспекте.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32880252
Programmer_Ortodox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые коллеги! Всесторонний, точный и исчерпывающий анализ этих и сопутствующих проблем можно найти в книге:

Медведев М.Ю. Общая теория учета: естественный, бухгалтерский и компьютерные методы. - М.: Издательство "Дело и Сервис", 2001.- 752 с.

Эта прекрасная книга, единственная в своем роде.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32880270
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Programmer_OrtodoxУважаемые коллеги! Всесторонний, точный и исчерпывающий анализ этих и сопутствующих проблем можно найти в книге:

Медведев М.Ю. Общая теория учета: естественный, бухгалтерский и компьютерные методы. - М.: Издательство "Дело и Сервис", 2001.- 752 с.

Эта прекрасная книга, единственная в своем роде.
За наводку спасибо, однако.

Тем не менее хотелось бы послушать и про противоестественные методы (ибо если книга издана в 2001-м... то писана она еще раньше... и вряд ли там есть актуальные концепции - но поищем).
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32883701
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу встречается ли... Когда я собственными глазами увидел, что банковская (!) бухгалтеская система MIDAS фирмы MISYS в принципе не работает с двойной записью я офигел.

Полу-Проводки вводятся легко и просто.

DB Счет1 сумма1
CR Счет2 сумма2

И дай бог что бы при вводе не дрогнула рука и сумма1 совпала с суммой 2.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32883779
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительПо поводу встречается ли... Когда я собственными глазами увидел, что банковская (!) бухгалтеская система MIDAS фирмы MISYS в принципе не работает с двойной записью я офигел.

Полу-Проводки вводятся легко и просто.

DB Счет1 сумма1
CR Счет2 сумма2

И дай бог что бы при вводе не дрогнула рука и сумма1 совпала с суммой 2.
Как только первый раз заплатят штраф за несданный баланс, руки дрожать перестанут. И может быть, еще и АБС поменяют :)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32883787
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DayroonВозвращаясь к истоку:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE Provodki(
    Id        INTEGER NOT NULL,
    Num     INTEGER NOT NULL,
    From_Sch     INTEGER NOT NULL,
    To_Sch  INTEGER NOT NULL,
    Volume  DOUBLE PRECISION
);
SELECT Num, From_Sch as Debet, To_Sch as Credit, Volume 
FROM Provodki
UNION(
SELECT Num, To_Sch as Debet, From_Sch as Credit, -Volume
FROM Provodki)

Может чего наврал, может не учел, но это я с лету прочитав первые посты.
Вроде и двойная запись, а вроде и одинарная.
Да понятно, именно это мне и не хочется делать, особенно со строками товарных документов.
Причем сейчас не хочется потому что некрасиво, а вот в стародавние времена такая операция на VFP просто глючила при числе документов около 100 000 и выше. Округлять начинает странным образом и т.д. Все кто в форумах орет про достоинства фокспро, наверное, ни разу подобного не видали.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32883912
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно и глючит на фоксе, но AFAIK новый фокс, это уже совсем не старый фокс(не пользовался, не знаю).
Насчет некрасивости, ну необязательно прям такой запрос, я ж в пример. Обычно ищутся все проводки, где определенный счет проходит как дебетовый или как кредитовый. В родном бухучете, все настолько интересно, а главное непостоянно, что IMNSHO не всегда и в двойную запись(в БД) уложишся. А при проектировании именно БД, считаю по барабану, двойную иногда удобнее считать, одинарную проще понимать как отражение реальности (движение было один раз).
Препятствий к сторнированию не вижу.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32883929
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любителю:
Это оно храниться два раза? (почему нет? если им удобно)
Или вводится два раза? (возможно, ибо нелепо) нарвутся пару раз в банке, поменяют систему, а создателя пустят по миру.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32884339
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы будете смеятся, но данная система работает в нашем банке с 1993 года.

Она работает на солидной AS/400 под айбиэмовской же осью OS/400.

В Москве есть буквально несколько банков, использующих ее же.

Система довольно популярна и в других странах пользователей такой системы намного больше.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32884656
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любителю:
Смеяться не буду, буду сочувствовать. И то, все еще недостаточно данных для анализа. Может оно так хранится в формате:Код операции(DB\Cr)|| Счет || Сумма
А вдруг снаружи таблица, которая хранит привязки операций, сводит их в проводки. Я же не знаю, а вы не сказали. Это я не защищаю конкретную систему, я ее не видел, а из вашего описания, слишком мало смог понять.
З.Ы.
Кто мне расскажет как пользоваться тегом для bold шрифта? Не интуитивный он, или я тугой
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32884939
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что там нет таблицы, связывающей воедино полупроводки - более чем уверен. Спасает наверное то, что бОльшая чать проводок (полу) генерится системой самостоятельно. Руками вводятся только какие-то хитрые нестандартные "урегулирования". А все операции - через специальные формы системы.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885169
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любителю:
Возможно там нет таблицы связывающей полупроводки, но система связывающая должна быть, ну хоть по номеру, зачем мне(оператору\бухгалтеру) половина проводки в вышеописаном вами формате, если я не знаю, где вторая ее половина? Возможно(надеюсь), что это лазейка для ввода особо хитрых проводок с разнесением по счетам\субсчетам в ручном режиме. Ибо не представляю, как могли не напороться, особенно, используя в нескольких банках. Если скажете, как определяется вторая половина проводки, то будет(наверное) яснее. Все еще не имею полной уверенности, что вы описываете форму ввода или принцип хранения в БД.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885324
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мысль: когда делается полноценная проводка - блокируется два счета (дебетуемый и кредитуемый). А когда полупроводка - наверное только один?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885374
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanмысль: когда делается полноценная проводка - блокируется два счета (дебетуемый и кредитуемый). А когда полупроводка - наверное только один?
тихо писаем кипятком

Счета блокировать смысла нет (хотя конечно, записи в плане счетов должны бы остаться теми же что и были при начале занесения данных о проводке

Остатки по счетам надо менять внутри транзакции записи документа.

Полупроводки здесь рассматриваются не как понятие западного бухучета, а как структура данных. Их всегда две.
Обе полупроводки вносятся внутри упомянутой транзакции.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885417
автор
тихо писаем кипятком


Молодой человек, Вы не пуп земли. Относитесь с уважением к другим! К Вам тут относятся с уважение. Многия и я лично хотят помочь Вам разобраться. Пожалуйста будте вежливы или решайте свои проблемы сами.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885420
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда я говорю "счет" я подразумеваю остаток на счете. Если я изменил остаток, но не сделал коммит, кто кроме меня сможет что-либо сделать со остатком? Если в "проводке" участвуют два счета, пока я не обработаю остаток второго счета - первый недоступен для других. Если куча операций от разных сессий идет на один счет (например счет кассы) - то могут появиться тормоза. я что-то не так говорю?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885502
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanкогда я говорю "счет" я подразумеваю остаток на счете.
Я пока предпочел бы не рассматривать тему таблицы остатков по счетам. Она предполагает дублирование информации в БД и я на такое пойду только при низких характеристиках прототипа реальной системы, для убыстрения получения текущих остатков.
gardenmanЕсли я изменил остаток, но не сделал коммит, кто кроме меня сможет что-либо сделать со остатком?
Насколько я понимаю, это зависит от уровня изоляции Вашей транзакции.
gardenmanЕсли в "проводке" участвуют два счета, пока я не обработаю остаток второго счета - первый недоступен для других.
Насколько я понимаю, это зависит от того, включены ли оба изменяемых счета в текущую транзакцию (я подразумеваю уровень изоляции RR). Никто ведь не мешает изменить их поочередно двумя транзакциями (хотя я предпочту сделать это в одной транзакции). Транзакции здесь нужны чтобы изменения счета, производимые разными "сессиями", как Вы их называете, были выполнены друг за другом
gardenmanЕсли куча операций от разных сессий идет на один счет (например счет кассы) - то могут появиться тормоза. я что-то не так говорю?
Могут, если транзакции открывать на все время редактирования документа. Насколько я успел уяснить из других дискуссий, Ваш метод работы именно таков.

2ПРЕДПОЛОЖИТЕЛЬ:
Угу. Я видел. По-всякому бывает.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885622
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
connect to test@

create table acc (
	account int not null,
	balance decimal( 17 , 2 ),
	constraint PK primary key (account)
)@
commit@

insert into acc
with tmp (id,balance) as (
   values ( 1 , 0 . 0 ) 
union all
   select
       id+ 1  as id,
        0 . 0  as balance
   from 
   	   tmp
   where
       id< 10 
) select * from tmp@

commit@

select * from acc@

ACCOUNT     BALANCE            
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                  0 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 


тепрь открываем 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.
db2 => set isolation ur
DB20000I  The SQL command completed successfully.
db2 => update acc set balance= 100  where account= 5 
DB20000I  The SQL command completed successfully.
db2 => select * from acc
ACCOUNT     BALANCE
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                100 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 

   10  record(s) selected.
коммит пока не делаем...

открываем вторую сессию:
3)Ставим автокоммит - OFF
4)ставим уровень изоляции в UR (грязное чтение)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
db2 => set isolation ur
DB20000I  The SQL command completed successfully.
db2 => select * from acc

ACCOUNT     BALANCE
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                100 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 

   10  record(s) selected.db2 => update acc set balance= 100  where account= 5 

мы видим что запись - изменена...

делаем:
update acc set balance=200 where account=5

И что же наблюдаем?
2 сессия подвисла... и будет висеть так до тех пор пока мы в первой не сделаем commit. Хотите сказать что при этом расходуются какие-то ресурсы системы? конечно нет. обычное тупое ожидание своей очереди или таймаута.

дорогой Dogen! Уровень изоляции называется UNCOMMITED READ, а не UNCOMMITED WRITE, грязное чтение,а не грязное писание...

на уровнях СS,RS,RR - вы теперь по этой табличке даже простой full скан не сделаете (для болокировочников конечно)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885635
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
connect to test@

create table acc (
	account int not null,
	balance decimal( 17 , 2 ),
	constraint PK primary key (account)
)@
commit@

insert into acc
with tmp (id,balance) as (
   values ( 1 , 0 . 0 ) 
union all
   select
       id+ 1  as id,
        0 . 0  as balance
   from 
   	   tmp
   where
       id< 10 
) select * from tmp@

commit@

select * from acc@

ACCOUNT     BALANCE            
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                  0 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 


тепрь открываем 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.
db2 => set isolation ur
DB20000I  The SQL command completed successfully.
db2 => update acc set balance= 100  where account= 5 
DB20000I  The SQL command completed successfully.
db2 => select * from acc
ACCOUNT     BALANCE
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                100 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 

   10  record(s) selected.
коммит пока не делаем...

открываем вторую сессию:
3)Ставим автокоммит - OFF
4)ставим уровень изоляции в UR (грязное чтение)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
db2 => set isolation ur
DB20000I  The SQL command completed successfully.
db2 => select * from acc

ACCOUNT     BALANCE
----------- -------------------
           1                  0 , 00 
           2                  0 , 00 
           3                  0 , 00 
           4                  0 , 00 
           5                100 , 00 
           6                  0 , 00 
           7                  0 , 00 
           8                  0 , 00 
           9                  0 , 00 
          10                  0 , 00 

   10  record(s) selected.db2 => update acc set balance= 100  where account= 5 

мы видим что запись - изменена...

делаем:
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. Как-то проблем меньше получается.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885672
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом.

>Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается.

мягко говоря если вы так поступаете, то рано или поздно нарветесь на то, что у вас баланс не сойдется. вообще что-то не понимаю что за сервер вы собираетесь использовать? Оракл или что-то другое? по-моему вам нужно много еще почитать-поучить-поэкспериментировать. Из вашего поста я понял что у вас опыт пока-что небольшой. И с уровнями изоляции транзакций нужно поразбираться.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885711
drmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman DogenSapienti sat.

Что меня обязывает чего-то ждать и не коммитить первую транзакцию?

Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом.

Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается.
мягко говоря если вы так поступаете, то рано или поздно нарветесь на то, что у вас баланс не сойдется. вообще что-то не понимаю что за сервер вы собираетесь использовать? Оракл или что-то другое? по-моему вам нужно много еще почитать-поучить-поэкспериментировать. Из вашего поста я понял что у вас опыт пока-что небольшой. И с уровнями изоляции транзакций нужно поразбираться.

Вы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-)
И за то, что данные не перечитываете перед записью? :-)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885877
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати еще прикол из той же системы про блокировки. В течении дня вся работа всех операторов складывается в ящик.

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

На следующее утро на весь рабочий день новое состояние остатков.

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

Самое смешное начинается, если выполнить операцию задним числом. Порождается такой букетище проводок...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32885895
Alexey Sh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е есть способ украсть немножко денег ?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32886188
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman>Однако же прочесть остаток я могу? Могу. С RR прочту старый, но не смогу изменить его (так?). С UR прочту новый, но не смогу изменить его. Изменять я его буду потом.

>Я, видите ли, предпочитаю проверять допустимость операции прямо перед записью, и использовать транзакции RR или serialized. Как-то проблем меньше получается.

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

Во-первых, в данный момент я не выбираю какой сервер использовать. Любой, поддерживающий по крайней мере repeatable read.

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

Насчет экспериментирования я вполне согласен. Предпочитаю, однако же, вначале мысленные эксперименты ставить - по деньгам дешевле.

Опытом меряться, наверное, не стоит. Опыта в эксплуатации оракла у меня действительно нет. Но Ваше настойчивое желание строить системы сильно зависящие от поведения конкретного SQL-сервера как-то смущает.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32886302
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drmikeВы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-)
И за то, что данные не перечитываете перед записью? :-)

Тааааак... похоже появился еще один человек, которому стоит почитать книжки )
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32886327
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист-ЛюбительКстати еще прикол из той же системы про блокировки. В течении дня вся работа всех операторов складывается в ящик.

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

На следующее утро на весь рабочий день новое состояние остатков.

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

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

Да, действительно - если брать такую модель бизнеса, (вспоминаю своё пурханье с Диасофтом) - то действительно - проблем с закрытием дофига будет. Сложный процесс. Поэтому то в нашей системе (которая после Диасофта) мы текущие остатки в реальном времени брали из остатков на начало открытого переиода (читай опер день) +-дебетовые/кредитовые обороты за открытый период. А закрытие опердня - это формирование журнала остатков (и оборотов) только по счетам, по которым было движение за день. Откуда элементарно вытаскивается дата последнего движения (из своей валютной плоскости конечно).
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32887248
drmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman drmikeВы хотите сказать, что никто Вам еще не надавал по рукам за использование грязного чтения при выполнении проводок? :-)
И за то, что данные не перечитываете перед записью? :-)

Тааааак... похоже появился еще один человек, которому стоит почитать книжки )

Ага, а не посоветуете такую, в которой написано о великой пользе грязного чтения? А то я до сих пор таких не встречал.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32888051
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема состоит в массовой ИНЕРЦИОННОСТИ. Исторически сложилось так, что в основе всего движения лежит бухгалтерская проводка. В 91 г. "Финансы без проблем", затем 1-с продолжила структуру - все движение в проводках, и нагрузить таблицу проводок всякими призхнаками для решения задач аналитического учета. Почему то это стало аксиомой. Далее народ пытается выжать из таблицы проводок вю необходимую информацию. Добавляется вначале один вид аналитики и код аналитики, затем пять, затем десять. Сколько можно в них добавить?

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

Поэтому, надо делать задачу учета материалов, и предусмотреть в ней генерацию бухгалтерских проводок, отражающих операции с материалами. Но не включать аналитику в проводки.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32888522
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен с PVP
Главное, логически завершенная система. А какую форму записи проводки вы при этом используете, не важно. Главное, использовать ее верно.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32888530
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVPПроблема состоит в массовой ИНЕРЦИОННОСТИ. Исторически сложилось так, что в основе всего движения лежит бухгалтерская проводка. В 91 г. "Финансы без проблем", затем 1-с продолжила структуру - все движение в проводках, и нагрузить таблицу проводок всякими призхнаками для решения задач аналитического учета. Почему то это стало аксиомой. Далее народ пытается выжать из таблицы проводок вю необходимую информацию. Добавляется вначале один вид аналитики и код аналитики, затем пять, затем десять. Сколько можно в них добавить?

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

Поэтому, надо делать задачу учета материалов, и предусмотреть в ней генерацию бухгалтерских проводок, отражающих операции с материалами. Но не включать аналитику в проводки.
Простите, но мне нужны многоуровневые регистры учета и при учете ТМЦ, услуг и др. (то что вы называете учетом материалов, я так понимаю), и многоуровневые регистры учета (счет + несколько уровней аналитики) в бухгалтерии. Не о том речь. Более того, я и собираюсь генерировать проводки по документам.

А структура документа у меня тоже подразумевает "проводку", между регистрами учета ценностей и/или оказанных услуг. Вот я и решаю, иметь одну запись для такой "проводки" или две.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32890155
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Dogen.

1. Согласен с тем, что организация структуры БД так, что бы в операциях использовались полупроводки, облегчит работу SQL процедур по формированию оборотов, остатков и др. Но это страшно затруднит работу программиста клиентской части. Ему все равно понадобится свернуть две записи, что бы отобразить их на экране бухгалтера, например, для перемещения ТМЦ с одного счета на другой. В команде, где я работаю, была такая попытка. Потом пришлось переделывать.

2. Западный бухучет тоже построен на двойной записи. Не бывает неопределнной проводки в дебет сч.1 из кредита сч.2 и сч.3 без распределения конкретно, с какого сколько. Рано или поздно надо будет сформировать итоговую проводку по дебета сч.1 с корреспонденцией по крету счетов, что в переводе на обычный язык означает, например, "За счет чего произошло увеличение актива".

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

4. Хотелось бы узнать пример, когда на одном счете бухгалтерского учета используется больше одного вида аналитики.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32890194
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVPДля Dogen.

1. Согласен с тем, что организация структуры БД так, что бы в операциях использовались полупроводки, облегчит работу SQL процедур по формированию оборотов, остатков и др. Но это страшно затруднит работу программиста клиентской части. Ему все равно понадобится свернуть две записи, что бы отобразить их на экране бухгалтера, например, для перемещения ТМЦ с одного счета на другой. В команде, где я работаю, была такая попытка. Потом пришлось переделывать.

2. Западный бухучет тоже построен на двойной записи. Не бывает неопределнной проводки в дебет сч.1 из кредита сч.2 и сч.3 без распределения конкретно, с какого сколько. Рано или поздно надо будет сформировать итоговую проводку по дебета сч.1 с корреспонденцией по крету счетов, что в переводе на обычный язык означает, например, "За счет чего произошло увеличение актива".

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

4. Хотелось бы узнать пример, когда на одном счете бухгалтерского учета используется больше одного вида аналитики.
1. Спасибо, полезное замечание. Скорее всего где-то у меня будет запись о том, что это 2 части одной проводки.
2. Ну двойная запись в традиционном русском понимании относится скорее к бумажной, журнально-ордерной форме записи и т.д.
3. Как-то это странновато звучит. Чтобы было ясно, надо использовать стандартизованную терминологию, а я не бухгалтер :) Замнем пока.
4. Шутите? Или Вы про субконто?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #32890245
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> 2. Ну двойная запись в традиционном русском понимании относится скорее к бумажной, журнально-ордерной форме записи и т.д.

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


> 4. Шутите? Или Вы про субконто?

Нет, скорее всего разная терминология. Если не сложно, приведите пример многоуровневого регистра ТМЦ. Может мне удастся сопоставить термины.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33143131
угу+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно, как поживает Dogen с двумя полупроводками?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33144292
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Система с отдельными полупроводками может существенно сократить объем журнала операций. Например, распределение накладных расходов.

Код: plaintext
1.
2.
3.
4.
Счет  26  статья  1                                  1000 
Счет  26  статья  2                                  2000 
Счет  20  заказ  1                500 
Счет  20  заказ  2              1500 
Счет  23  статья  1             1000 

Естественно, для каждой хозоперации (набора полупроводок) система должна обеспечивать баланс.
Российское законодательство дополнительно требует корреспонденции счетов - для каждой суммы должен быть однозначно определена пара счетов Дт-Кт для составления главной книги, однако это требование не распостраняется на аналитику.
Чтобы совместить это требование с преимуществами полупроводок мы сделали трехэтажную систему Хозоперация-Проводка-Полупроводка. В Проводке правило: по крайней мере один из счетов Дт или Кт не пуст. Полупроводки для соответсвующей стороны обязаны иметь заданный в проводке счет, если не задан, то счет не ограничен.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33145512
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
Российское законодательство дополнительно требует корреспонденции счетов - для каждой суммы должен быть однозначно определена пара счетов Дт-Кт для составления главной книги, однако это требование не распостраняется на аналитику.

А к чему тогда привязана аналитика? Если не к проводке, то как тогда решается вопрос передачей чего-либо в рамках одного счета? Например если аналитикой является склад расчетный счет или лицо?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33145532
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналитика привязана к полупроводкам. На значения аналитик ограничений (в смысле корреспонденции) нет.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33145612
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRАналитика привязана к полупроводкам. На значения аналитик ограничений (в смысле корреспонденции) нет.
У нас аналогично ;)

Документ-Проводка-Полупроводка (с аналитическими признаками)

В другом варианте даже 4 этажа:

Документ-Проводка-Полупроводка-Список аналитики к полупроводке

А если не секрет как вы распределили первичные ключи ключи? Например у меня в первом варианте:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
OPERATION
*op_id
foundation_id -- Документ снования
...

OPERATION_LIST
*op_id
*oper_type -- D/K
acc_id
...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33148360
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Документ у нас не является корнем этого дерева. Возможны хозоперации без документа.
Хозоперация
Код: plaintext
1.
2.
3.
4.
5.
ALTER TABLE T_ECONOMY#OPER ADD (
      CONSTRAINT PK_ECONOMY#OPER
      PRIMARY KEY (YEAR,
                   ORG_ID,
                   NUM)
 
Проводка
Код: plaintext
1.
2.
3.
4.
5.
ALTER TABLE T_BOOK#ENTRY ADD (
      CONSTRAINT PK_BOOK#ENTRY
      PRIMARY KEY (YEAR,
                   ORG_ID,
                   ECONOMY#OPER_NUM,
                   NUM)

Полупроводка
Код: plaintext
1.
2.
3.
4.
5.
6.
ALTER TABLE T_BOOK#OPER ADD (
      CONSTRAINT PK_BOOK#OPER
      PRIMARY KEY (YEAR,
                   ORG_ID,
                   ECONOMY#OPER_NUM,
                   BOOK#ENTRY_NUM,
                   NUM)
Для аналитик зарезирвированы поля в полупроводках.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33149299
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVP
2. Западный бухучет тоже построен на двойной записи. Не бывает неопределнной проводки в дебет сч.1 из кредита сч.2 и сч.3 без распределения конкретно, с какого сколько. Рано или поздно надо будет сформировать итоговую проводку по дебета сч.1 с корреспонденцией по крету счетов, что в переводе на обычный язык означает, например, "За счет чего произошло увеличение актива".

Бывает. Пример - забалансовый учет.

PVP
4. Хотелось бы узнать пример, когда на одном счете бухгалтерского учета используется больше одного вида аналитики.

10 Счет материалов
1. Склад
2. МОЛ
3. Материал

20 Затраты
1. Вид затрат
2. Подвид затрат
3. Готовая продукция

51 Банк
1. Банк
2. Расчетный счет
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33149306
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRДокумент у нас не является корнем этого дерева. Возможны хозоперации без документа.

Мы пошли по другому пути, 98 процентов проводок генерится автоматом по движению документов, а если необходимо что-то нестандартное то существует документ "Пользовательская проводка" с выбором планов, счетов и аналитик.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33157698
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
michael_
PVP
4. Хотелось бы узнать пример, когда на одном счете бухгалтерского учета используется больше одного вида аналитики.


10 Счет материалов
1. Склад
2. МОЛ
3. Материал

20 Затраты
1. Вид затрат
2. Подвид затрат
3. Готовая продукция

51 Банк
1. Банк
2. Расчетный счет
PVP говорил несколько о другом
Для этого надо почитать у него более внимательно пункт 3, где он говорит о том, что нужная аналитика "сидит" в соответствующем приложении в своих таблицах, а не в таблице проводок.
При таком подходе можно резко уменьшить число проводок, поскольку в БД их можно заносить в агрегированном виде. Для крупных предприятий это имеет немаловажное значение.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33158700
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gzPVP говорил несколько о другом
Для этого надо почитать у него более внимательно пункт 3, где он говорит о том, что нужная аналитика "сидит" в соответствующем приложении в своих таблицах, а не в таблице проводок.
При таком подходе можно резко уменьшить число проводок, поскольку в БД их можно заносить в агрегированном виде. Для крупных предприятий это имеет немаловажное значение.
1) Вынося аналитику из проводок, мы отрезаем себе возможность получить "стандартные бухгалтерские отчеты" (карточку счета и оборотно сальдовую ведомость) в разрезе аналитики. А на этой основе строятся 90 процентов ВСЕХ отчетов в любой сфере деятельности начиная от склада кончая АБС.
2) Написание отчетности по первичным документам приводит к тому что эта отчетность занимает 80 процентов времени разработчика и сложно изменяется
3) Без проводок с аналитикой сложно реализуется и поддерживается стандартные алгоритмы типа ЛИФО-ФИФО

Да много чего еще ;) Минус конечно один, создать и отладить работоспособную схему проводок требует достаточно больших усилий, и от того насколько она получилась удобной и надежной зависит скорость решения всех остальных задач приложения. Но это IMHO основа.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33160295
gz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
gz
Гость
Estets1) Вынося аналитику из проводок, мы отрезаем себе возможность получить "стандартные бухгалтерские отчеты" (карточку счета и оборотно сальдовую ведомость) в разрезе аналитики. А на этой основе строятся 90 процентов ВСЕХ отчетов в любой сфере деятельности начиная от склада кончая АБС.
2) Написание отчетности по первичным документам приводит к тому что эта отчетность занимает 80 процентов времени разработчика и сложно изменяется
3) Без проводок с аналитикой сложно реализуется и поддерживается стандартные алгоритмы типа ЛИФО-ФИФО

Да много чего еще ;) Минус конечно один, создать и отладить работоспособную схему проводок требует достаточно больших усилий, и от того насколько она получилась удобной и надежной зависит скорость решения всех остальных задач приложения. Но это IMHO основа.
Не имелось в виду, что совсем без аналитики. Напротив, с аналитикой, но с той аналитикой, которая необходима для дальнейшей работы бухгалтеров, в том числе, конечно, и всевозможные оборотки.
Просто не детализировать проводки, допустим в задаче Материалы, до уровня МОЛ или места хранения - эта информация содержится в соответствующей задаче (приложении), и там можно получить более детальную информацию или отчеты.
Аналогично, расчитывая зарплату, можно в проводках не опускаться до уровня табельного номера, достаточно, допустим, подразделения и информации для задачи учета затрат и калькулирования себестоимости.
Этот подход, согласен, менее универсален и требует больших усилий при разработке.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33160703
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не стОит путать аналитику по счёту и аналитику по карточке ТМЦ !
Если мы будем совать ТМЦ-аналитику в Гл.Книгу то эту книгу просто разорвёт. :)
Разве бухгалтеру важно знать, какого цвета паркет мы отпустили такого-то числа ?
А вот складу это знать важно, причём с массой нужных только ему подробностей. Но складу до лампочки на какой счёт этот паркет упадёт.
Желание увидеть абсолютно всё из плана счетов - чисто бухгалтерская привычка, особенно для небольших предприятий, где бухгалтер нередко занят не только бухгалтерией, а вникает ещё и в смежные области. :) :) :)

"Котлеты отдельно, мухи отдельно" (с)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33161005
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gz Просто не детализировать проводки, допустим в задаче Материалы, до уровня МОЛ или места хранения - эта информация содержится в соответствующей задаче (приложении), и там можно получить более детальную информацию или отчеты.
LSVНе стОит путать аналитику по счёту и аналитику по карточке ТМЦ !
Если мы будем совать ТМЦ-аналитику в Гл.Книгу то эту книгу просто разорвёт. :)
Разве бухгалтеру важно знать, какого цвета паркет мы отпустили такого-то числа ?
А вот складу это знать важно, причём с массой нужных только ему подробностей.
Вообще-то здесь два разных вопроса:
1) нужна ли сама аналитика Материал в счете,
2) если нужна, то с какой точностью, по какому справочнику ее вести.
Бухгалтерская номенклатура конечно может быть сужена в несколько десятков раз против складской или призводственной, однако это требует поддержки соответсвия двух номенклатур.
В любом случае речь идет об одной аналитике - характеристики материала вроде никто и не предлагал как самостоятельные признаки аналитики.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33162733
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает при клике на нужной строке Операций по счёту вызвать из журнала товарных операций детальную информацию ? Товарный журнал и связанная с ним аналитика всё равно есть и дублировать их в G/L просто глупо.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33163132
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЧто мешает при клике на нужной строке Операций по счёту вызвать из журнала товарных операций детальную информацию ? Если есть что вызывать. Переоценка или сторнировка/исправление как товарные операции не интересны.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33163559
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В целом согласен в PVP.
"Полупроводки" следует рассматривать элементы журнала регистрации событий , к которым привязан вектор аналитики.
Это основа управленческого учета, поскольку для него характерны
а) не только финансолвые, но и натуральные величины
б) планирование (т.е. "проводки" "передним" числом)
Это прямое следствие направленности управленического учета на будущие периоды и внутренние цели управления.

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

Ни о каких "ошибках" разночтения сумм "полупроводок" в такой системе быть не может в принципе.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33164393
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЧто мешает при клике на нужной строке Операций по счёту вызвать из журнала товарных операций детальную информацию ? Товарный журнал и связанная с ним аналитика всё равно есть и дублировать их в G/L просто глупо.
В некоторых западных системах так и делается. Но возникает проблема получения ряда отчетов, когда нужна информация по всему счету и при этом полная информация со стороны корреспондирующих счетов. Например, ведомости взаиморасчетов с контрагентом, смотрим на 60 и 62, при этом нам нужны как Дт Кт проводки и полная информации со сотроны коррсчетов 50, 51, 52, 60 ....

Для таких вещей и удобно хранить проводку как одну запись, а не как 2 "полупроводки".

С полупроводками всегда существует опасность того, что суммы разъедутся, например по Дт операции 100р, а по Кт 120. И они реально даже в крутых системах переодически разъезжаются, устраняется это с помощью всякого рода ремонтных процедур.

Хотя и плюсы есть,например, экономия места.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33166016
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_С полупроводками всегда существует опасность того, что суммы разъедутся, например по Дт операции 100р, а по Кт 120. И они реально даже в крутых системах переодически разъезжаются, устраняется это с помощью всякого рода ремонтных процедур.
Ну на то и руки в программистов, чтоб все контролировать ;) У нас например за внесение проводки отвечает процедура в которую попадает счет-Д, счет-К, сумма, дата и пр. А она уже запролняет "полупроводки" И так как сумма одна, то и проблемс расхождением баланса не возникает.

Хотя действительно во многих иностранных системах например АБС, проводки вводятся:
счет, Д, сумма
счет, К, сумма
счет, К, сумма
счет, Д, сумма
И схождение баланса контролируется потом.

michael_Хотя и плюсы есть,например, экономия места.
Не столько экономия места сколько проще запросы по получению остатков. Получаем 1 селектом вместо 2-х.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33166477
!!!!---
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а получение выписки? оборотки? все проще?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33167479
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!!!!---а получение выписки? оборотки? все проще?
Обычно запрос остатка по счету и аналитике - online самая критичная по времени операция. Оборотка и выписка по крайней мере не сложнее. Сделать из "полупроводки" проводку это одна операция по объединению таблицы с самой собой

Код: plaintext
1.
2.
3.
4.
SELECT
FROM T_OPER AS DEB, T_OPER AS CRED
WHERE DEB.TYPE = 'D'
    AND DEB.HEAD_ID = CRED.HEAD_ID
    AND CRED.TYPE = 'C'

Зато в запросе на остаток не надо учитывать второй набор полей (учитывая что по кредиту сумма проводки идет с обратным знаком)
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
--ПРОВОДКА 1
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 1 ,        'D',   1 ,        51 ,     '20050101' , 100 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 1 ,        'C',   1 ,        76 ,     '20050101' ,- 100 )

--ПРОВОДКА 2
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 2 ,        'D',   1 ,        76 ,     '20050102' , 50 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 2 ,        'C',   1 ,        51 ,     '20050102' ,- 50 )

--ПРОВОДКА 3 сторно
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 3 ,        'D',   1 ,        76 ,     '20050103' ,- 50 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 3 ,        'C',   1 ,        51 ,     '20050103' , 50 )
Код: plaintext
1.
2.
3.
4.
SELECT @total = (SELECT SUM(OP_SUM)
          FROM T_OPER 
         WHERE T_OPER.PLAN_ID = xxx
             AND T_OPER.ACC_ID = xxx
             AND ...аналитика...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33168037
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Estets

У полупроваодк есть проблема получения информации по корреспонденции. Причем дело не в запросе, а в организации данных.

Если в операции несколько счетов Дт и 1 Кт (или наоборот), то проблем с получением такой информации нет. Но если записи по Дт и Кт соотносятся как "много ко многим", то все сразу неодназначно.

Это и есть одно из серьезных препятствий при внедрении таких систем.

Выход - запрет на такую настройку, то есть Дт к Кт соттносятся в одной операции как "1 ко многим"
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33168228
!!!!---
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Estets !!!!---а получение выписки? оборотки? все проще?
Обычно запрос остатка по счету и аналитике - online самая критичная по времени операция. Оборотка и выписка по крайней мере не сложнее. Сделать из "полупроводки" проводку это одна операция по объединению таблицы с самой собой

Код: plaintext
1.
2.
3.
4.
SELECT
FROM T_OPER AS DEB, T_OPER AS CRED
WHERE DEB.TYPE = 'D'
    AND DEB.HEAD_ID = CRED.HEAD_ID
    AND CRED.TYPE = 'C'

Зато в запросе на остаток не надо учитывать второй набор полей (учитывая что по кредиту сумма проводки идет с обратным знаком)
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
--ПРОВОДКА 1
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 1 ,        'D',   1 ,        51 ,     '20050101' , 100 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 1 ,        'C',   1 ,        76 ,     '20050101' ,- 100 )

--ПРОВОДКА 2
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 2 ,        'D',   1 ,        76 ,     '20050102' , 50 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 2 ,        'C',   1 ,        51 ,     '20050102' ,- 50 )

--ПРОВОДКА 3 сторно
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 3 ,        'D',   1 ,        76 ,     '20050103' ,- 50 )
INSERT INTO T_OPER (HEAD_ID, TYPE, PLAN_ID, ACC_ID, OP_DATE, OP_SUM)
             VALUES( 3 ,        'C',   1 ,        51 ,     '20050103' , 50 )
Код: plaintext
1.
2.
3.
4.
SELECT @total = (SELECT SUM(OP_SUM)
          FROM T_OPER 
         WHERE T_OPER.PLAN_ID = xxx
             AND T_OPER.ACC_ID = xxx
             AND ...аналитика...


Последний селект - это запрос текущего остатка или остатка на конкретную дату?

Мда.... тяжела и неказиста жись простого программиста.....
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33168923
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!!!!---Последний селект - это запрос текущего остатка или остатка на конкретную дату?

Ээээээ в данном варианте конечно на дату последней проводки ;)
Для получения остатка на дату добавить AND OP_DATE<dateadd(day, 1, @my_date).
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33169431
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как? быстро работает?... и на каком количестве проводок?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33170737
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему опыту, система полупроводок быстрее и логичнее.

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

Вопрос об аналитиках вообще не имеет отношения к вопросу о выборе формы хранения ввиде целых или полупроводок, он общий для обоих форм, и мною до конца не понят, как правильно его решать, был бы благодарен если бы кто рассказал.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33170996
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimKaПо моему опыту, система полупроводок быстрее и логичнее.

Есдинственная проблема - корреспонденция счетов. Разьезда по балансу не бывает, так как проводки формируются только при введении документов, а введение документов есть транзакция всегда имхо...
Таким образом, считаем, что система не может потерять полупроводку, как не может совершить полутранзакцию, иначе в мусор такую систему.

Это Вы обольщаетесь.

Никаких пакетных изменений и правок не предусматривается?
Ошибок в клиентской части не бывает?
Если у Вас тиражная система - Вам пользователи такого наколбасят!

Но важнее корреспонденция.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171137
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все правильно реализовывать никто ничего не "наколбасят". Если реализовывать неправильно, то и колбасить не придется, само работать не будет.

Пакетные изменения и правки осуществляются через ХП в режиме опять таки транзакций.

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

Задача о корреспонденции, если она действительно нужна, то есть система бухгалтерская, а не оперативно-учетная, решается легко при введении соотв ограничений - то есть одна проводка по счетам - одна пара деб-кред - один общий id - выше этом писали.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171151
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если все правильно реализовывать никто ничего не "наколбасят". Если реализовывать неправильно, то и колбасить не придется, само работать не будет.

Пакетные изменения и правки осуществляются через ХП в режиме опять таки транзакций.

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

Задача о корреспонденции, если она действительно нужна, то есть система бухгалтерская, а не оперативно-учетная, решается легко при введении соотв ограничений - то есть одна проводка по счетам - одна пара деб-кред - один общий id - выше этом писали.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171274
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimKaЕсли все правильно реализовывать никто ничего не "наколбасят". Если реализовывать неправильно, то и колбасить не придется, само работать не будет.
Блажен кто верует.

У Вас опыт сопровождения чужих систем был? Никогда ручками огрехи или самой программы или собственных пользователей не приходилось править? А интеграцию с прямой записью в БД, потому что штатной или нет или она не подходит?

TimKa
Пакетные изменения и правки осуществляются через ХП в режиме опять таки транзакций.

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

А ошибки тех самых ХП? Или там ошибок не бывает?

TimKa
Задача о корреспонденции, если она действительно нужна, то есть система бухгалтерская, а не оперативно-учетная, решается легко при введении соотв ограничений - то есть одна проводка по счетам - одна пара деб-кред - один общий id - выше этом писали.
Задча составления отчетов на основе корреспонденции нужна не только в бухгалтерии. Например, список материалов пришедших от дочерних предприяитий.

А потом кто сказал, что мы не бухучет обсуждаем?

Пользователь поймет, если пропадет одна запись из журнала проводок, это по человечески понятно. Но абсолютно не поймет почему в Дт одна сумма, а в Кт другая. И что, собственно, потом делать надо. (А ксати! Как понять в Дт или Кт ошибка?) Особенно, если проводки при вводе делаются на автомате и пользователь их не видит.
Это понимают в англоязычных странах, там в GAAPе действительно проводки односторонние. А у нас - нет!
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171428
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНикогда ручками огрехи или самой программы или собственных пользователей не приходилось править? А интеграцию с прямой записью в БД, потому что штатной или нет или она не подходит?


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

По остальным вопросам еще раз подчеркну, корреспонденцию счетов легко можно проследить по документам, на основе которых осуществляются проводки. Делаете элементарный запрос-группировку по документам за период и видите где у вас произошел косяк. Не говоря уже о том, что никаких проводок в ручную, без документа, делать нельзя. Если есть какието уникальные проводки - создаем для них документ "универсальная проводка", а потом пусть бухгалтер понимает, что она означает и обьясняет налоговикам. что это он тут перекидывал и куда.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171511
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimKaЕсли все правильно реализовывать никто ничего не "наколбасят". Если реализовывать неправильно, то и колбасить не придется, само работать не будет.


Вспомните закон Мерфи: если что-то плохое может произойти, оно обязательно произойдёт. Это такая же правда как и законы сантехники: все что может ломаться- ломается, а что не может - засоряется.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171776
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimKaОгрехи есть были и будут, хоть вы одной записью пишите хоть двумя. Только во втором случае баланс бить не будет, тут то вы и поймете что ошибка, а в первом будете радоваться, пока налоговая не оштрафует за неверное ведение. Приходилось, поэтому и пишу об основных принципах, которые, если соблюдать, уменьшают количество ошибок.
Если баланс не сошелся - то ошибка, если сошелся то две )
TimKa
По остальным вопросам еще раз подчеркну, корреспонденцию счетов легко можно проследить по документам, на основе которых осуществляются проводки. Делаете элементарный запрос-группировку по документам за период и видите где у вас произошел косяк.
Еще раз, если по документу M проводок по Дт и N по Кт. Как я могу из этого сделать номальные 2-хсторонние проводки?

Вывод - только M:1, 1:M или 1:1. Об этом надо помнить, когда настраиваешь подобную "полупроводочную" систему, например R3 или OEBS
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33171814
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно системы с M:N удобны для отмывания денег
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33172532
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужен отчет по корреспонденции, просто добавляешь идентификатор проводки, то есть по документу сущесвует список осуществляемых проводок проводок, у каждой есть номер, и ВСЕ. Журнал будет выглядеть так


Документ 345 Проводка 1 сч A деб 200
Документ 345 Проводка 1 счет B кр 200
Документ 345 Проводка 2 сч A деб 5
Документ 345 Проводка 2 счет C кред 5

Буржуи этого не делают, так как у них корреспонденции не требуется. Зато такой подход значительно облегчает жизнь человека, делающего отчеты. Конечно, скажете вы, можно сделать в одной проводка три полупроводки и никто от этого не убережет. Предположим, программист ошибся и в ХП накосячил (опустим при этом что такой программист может накосячить и в системе с полными проводками, и обнаружить это будет труднее). Для этого можно в триггер на инсерт журнала вставить проверку на колво строк в проводках, и создать констрейн чтобы счета для каждой проводки в документе сделать уникальными. Но мне этого ни разу не понадобилось, так как я генерю ХП а не создаю их в ручную.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33172682
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 TimKa

Есть 2 похода, оба они жизнеспособны, у обоих есть плюсы и минусы, для обоих есть примеры работающих тиражных систем.

Никто не говорит, что полупроводки отстой, но, минусы этого подхода есть. И надо помнить о них, если выбрали этот метод. Повторюсь, у полупроводочного метода есть 2 проблемы - целостность данных и трудности с корреспонденцией.

Естесственно, эти проблемы решаются, но они есть. Та же целостность только триггерами не решится (их пользователь и отключить может). При демонстрации западных систем (они почти всегда полупроводочные) всегда прошу собрать баланс. И о, чудо! В половине случаев его нет! Затем неловкое молчание, лепет про какие-то отклонения, выравнивание и затем обещание запустить процедуры ремонта.

Вывод - при этом методе надо предусмотреть ремонтную процедуру.

Про корреспонденцию - Ваше решение приемлемо. Но теряется плюс такой системы - возможность иметь проводок М:1, например

10 Дт 100р Насосы
10 Дт 200р Колеса
60 Кт 300р Рога и копыта

В Вашем случае получим
10 Дт (1зап) 100р Насосы
60 Кт (1зап)100р Рога и копыта
10 Дт (2зап)200р Колеса
60 Кт (2зап)200р Рога и копыта

При большой накладной по методу 1 мы бы сильно сэкономим на Кт записях, а это хороший плюс. По этому методу можно восстановить и корреспонденцию. Но, как я уже говорил, нельзя иметь проводки M:N.

В Вашем решении, проводки M:N допускаются, но возникают лишние записи. А следовательно, потеря в скорости, как при вставках, так и в отчетах.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33172926
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да-да, полностью согласен. Я всего лишь настаивал на том, что раз люди делают так на западе, значит на то есть причины, ни в коем случае не говорю что это безоговорочно лучше, просто показываю, что такая система не хуже, а проблемы решаются. По поводу балансов - дело в том что полупроводочная система онажает косяки программирования бизнеспроцессов, и поэтому они чаще всплывают. Например, баланс легко не будет бится, если задним числом поправить себестоимость у отгруженного товара и забыть перепровести отгрузки по нему.

По поводу M-1 - в полнопроводочной системе их тоже нет... Я не спорю, много систем добрых и по полным проводкам работает, и я пробовал, но быстро достало делать по ним отчеты ))) Уж проще на этапе ввода данных сделать все корректно и жестко по отношению к пользователю - доступ к регистру только через ХП и там же искать неполадки если что, а исходные данные в документах - чтобы можено было в случае косяка перепровести все правильно... ) Так и живу уже 3 года ))
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33173150
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> быстро достало делать по ним отчеты
вот этого -ну вааабще не понимаю...
Я как раз и ушел на полные проводки для того чтобы балансы/выписки/сальдовки/оборотки делать было легко.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33173270
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полная ерунда. Отчеты можно и нужно делать из того что есть или подразумевается.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33173378
TimKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да-да согласен. Больше того, скажу, отчеты нужно делать из того, чего не подразумевается, а вообще в природе не существует. Это очень ценное умение, делать такие отчеты. А остальное полная ерунда, и на западе дураки дуракам впаривают дурацкие системы и зарабатывают дурацкие деньги, причем совершенно легально рапортуя о ерундовых налогах, прибылях и убытках. Я что, я не спорю.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33173461
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПолная ерунда. Отчеты можно и нужно делать из того что есть или подразумевается.

Знаете, каждый лишний джойн, какждая временная таблица - это удар по производительности не только конкретного отчета, но и всей системы в целом. Может вам конечно и положить на то, что о вас думают юзеры, но я например так не могу... Типа - совесть еще есть.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33173659
michael_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman Сахават ЮсифовПолная ерунда. Отчеты можно и нужно делать из того что есть или подразумевается.

Знаете, каждый лишний джойн, какждая временная таблица - это удар по производительности не только конкретного отчета, но и всей системы в целом. Может вам конечно и положить на то, что о вас думают юзеры, но я например так не могу... Типа - совесть еще есть.
Согласен. Бить будут не по совести :)

Мы тоже держим проводку как одну запись. В том числе и из-за отчетов.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33181918
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanНу и как? быстро работает?... и на каком количестве проводок?
В одном из проектов крутится около 10М проводок за 6 лет 8тыс в день. В другом, правда пока в тестовом режиме требования 10Т документов по 4 проводки на каждый + расчет остатков при проведении каждого документа за 40 минут (закрытие биржевой сесии) это около 8М в год.
Правда пришлось изменить логику опорных остатков. Считать как Диасофт от конечных остатков в прошлое.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33182060
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня (вспоминаю прошлое)... Расчет процентов в конце года (именно расчет- за весь год! с учетом изменений процентных ставок и пр + изменение остатков) по 200 тыс. лицевых счетов на P/400, RAM 384MB на IDE дисках длился 5 часов. причем коммитился после каждой операции (а не пачками, что существенно медленне).
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33182271
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчет - дело большое и рыхлое.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33300172
johnnyU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делал так
Создал журнал проводок СчД АнД СчК АнК кол Сумма
также создается журнал полупроводок Сч Ан Сч1 Ан1 КолД Суммад КолК СуммаК

на основе документов заполняется журнал проводок
из журнала провок по тригеру заполняется журнал полупроводок
непосредственно с журналом полупровок работает только тригер журнала проводок

Выборки делаем из того журнала из которого удобнее
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33417497
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават ЮсифовПолная ерунда. Отчеты можно и нужно делать из того что есть или подразумевается.
Под отчеты/расчеты, которые делаются сотни раз в день, не грех и структуру данных спроектировать.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33538275
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бухгалтерия в полупроводках!!!

Доброго всем вечера.

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

Понятно, что это вопрос филосовский, полу или полная проводка, но вот реальный опыт. Было примерно так.

1. Есть журнал приход_расходных документов "аля накладная".
2. Есть каталог товаров, где создан атрибут - Группа (товара) и атрибут - код балансового счета.

3. На основе этого - проводится расчет - оборотно -сальдовой ведомости в разрезе (грубо)

Код: plaintext
Код_баланс_счета,  Код_товара,  Было,  Приход,  Расход,  Стало

4. Теперь надо получить аналитический документ
- бюджет Доходов и Расходов,
где показать Отгрузку и Выпуск (по Видам_Продуктов)

и на 100%

расшифровать ВСЕ (даже самые ) ЭЛЕМЕНТЫ ЗАТРАТ (группируя их по Разделам и Статьям.
Так сказать - Раздел - Статья -Элемент.

Когда у меня были нормальные ПРОВОДКИ(полные проводки), то для решения аналогичной задачи, я просто строил Табло_настройки, где для разных Пар чисел - Дебет_Кредит (т.е описывая корреспонденцию. счетов) - ЛЕГКО получал ИТОГОВЫЙ ОТЧЕТ.

В процессе эксплуатации (бухи хулиганят и сочиняют новые ПРОВОДКИ) ...я просто запускал тупой СЕЛЕКТ, который выявлял все Неописанные в моем Табло Новый_Проводка, (3-10 строк) всего , изучал это, пополнял Табло и все было = ОК.

Но конечно, никакой супер_расшифровки при этом небыло (элементы затрат) ибо в нашем сводном балансе такой инфо просто небыло). Можно было юзать коды аналитики (цех, участок, статья...) и укрупненно выявлять Элементы_Затрат.

Теперь , с Полупроводкой, было все Иначе.

Возьмем, например, 10 счет. Склад. Ресус со склада отпускался в разных целях - на производство или на продажу. И это - нам совершенно не видно!!!!. Все в одной куче.

Бедным бухам, пришлось завести доп_счет и на нем показать это движение (повторный ввод данных), которое мне удалость выделить и сторнировать.

НО, технически, все совершено не сложно.

Опять создана Табло_Настройки, где есть налитика:

Раздел,
Статья,
Баланс_Счет,
Группа Товара,
Код_Товара,
Тип колонки из оборотки(приход,расход, оптовая) и ...все.

В этом Табло (на 200 срок примерно) описаны все по сути, виды движения (списания) затрат.

А теперь элементы
- Как только мы заюзали атрибут аналитики - Код_Товара, то это вышло Само_Собой (где Товар = (по сути) = Элемент_Затрат).

Например, был такой товар как ...Услуга Юриста, или Вода Россинка (питьевая) или ....Консультан-Плюс...

В итоге = получен подробный Отчет - так как надо.

Бр-р-р-р-р.

Бедные мои бухи. Как им трудно было....искать свои "ляпы " в этих полупроводках.... Как у них все терялось и ненаходилось....

А как я "ломался" , выковыривая из этой КАШИ....все эти самые...мелкие "Товарчики"....которые седня к одной статье могут быть привязаны, а завтра к другой....

Резюме.

Долой ПолуПроводки. Даже и думайте об этом. Не надо тратить свое здоровье, на обслуживание этого ....метода учета.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33542552
boo-mmx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто мешает в полупроводке поставить идентификатор проводки и построить проводки по полупроводкам?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33542794
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boo-mmxА кто мешает в полупроводке поставить идентификатор проводки и построить проводки по полупроводкам?
У меня контр-предложение. Давайте вообще каждую таблицу нормализуем, да так, чтоб после декомпозиции в каждом отношении было не более двух полей, одно - id, другое - value. То-то будет просто и удобно составлять запросы. А перфоменс вообще взлетит до небес, а система будет такой понятной и простой, что любой студент первого курса знающий кто такой Дейт и кто такой Кодд, легко поймет что к чему!
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33543397
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, нет идеи, которую нельзя было бы испоганить реализацией. А в принципе вещь полезная.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33544384
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boo-mmxА кто мешает в полупроводке поставить идентификатор проводки и построить проводки по полупроводкам?
поменяйте плз 1 EURO на 2 USD по курсам 40 и 30 соотвт. с начислением курсовой разницы и посмотрим ...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33544959
Идею отправления естественных надобностей трудно испоганить реализацией.
То есть чем естественнее идея, тем труднее ее испоганить.
Суть же "проблемы" точно отражена в 1280191, мне кажется.
При регистрации любой операции "двойная" (а нередко и "десятерная") запись уже сделана без всяких проводок. Оприходование. Сальдо с поставщиком уже изменилось, материала уже прибавилось. Не зависимо от того сделаем ли мы ДОПОЛНИТЕЛЬНО (и автоматически) то ли
Кр 60 Дт 10 100 руб.
то ли
"отдельно" Кр 60 (или 60/-100)
"отдельно" Дт 10 (или 10/+100).
"Полупроводки" итак "сидят" в проводке. Никакого "повышения производительности" от какого-то искусственного разделения не будет.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33545465
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичИдею отправления естественных надобностей трудно испоганить реализацией.Так глубоко не копал... Чернышев Андрей Леонидович
То есть чем естественнее идея, тем труднее ее испоганить.
Суть же "проблемы" точно отражена в 1280191, мне кажется.
При регистрации любой операции "двойная" (а нередко и "десятерная") запись уже сделана без всяких проводок. Оприходование. Сальдо с поставщиком уже изменилось, материала уже прибавилось. Не зависимо от того сделаем ли мы ДОПОЛНИТЕЛЬНО (и автоматически) то ли
Кр 60 Дт 10 100 руб.
то ли
"отдельно" Кр 60 (или 60/-100)
"отдельно" Дт 10 (или 10/+100).
"Полупроводки" итак "сидят" в проводке. Никакого "повышения производительности" от какого-то искусственного разделения не будет.
Не понял - бухгалтерские остатки меняются ДО бух. проводок?

Полупроводки конечно не существуют без проводок
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33547452
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
А кто мешает в полупроводке поставить идентификатор проводки и построить проводки по полупроводкам?

А чем не устраивают классические проводки-то?
Я так и не врубился, внимательно прочитав весь топик))
Или нужна субъективная красота решения, несмотря на рузультат?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33547502
Возможно мы немного на разных языках говорим. Я предпочитаю говорить об учете движения материи в пространстве и во времени, и при этом не использую прилагательное "бухгалтерский". И наоборот, всегда использую его для "проводок". Все меняется до бухгалтерских проводок (разумеется, кроме остатков на балансовых счетах, которые меняются в результате бухгалтерских проводок). И любая информация об операциях может быть получена независимо от бухгалтерских проводок. Думаю именно об этом и говорилось в 1280191.
Честно говоря, не понял цель "трехэтажной системы". Чем "двухэтажная система" "операция - бухгалтерская проводка" уступает "трехэтажной" ?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33548011
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичВозможно мы немного на разных языках говорим. Я предпочитаю говорить об учете движения материи в пространстве и во времени, и при этом не использую прилагательное "бухгалтерский". И наоборот, всегда использую его для "проводок". Все меняется до бухгалтерских проводок (разумеется, кроме остатков на балансовых счетах, которые меняются в результате бухгалтерских проводок). И любая информация об операциях может быть получена независимо от бухгалтерских проводок. Думаю именно об этом и говорилось в 1280191.
Честно говоря, не понял цель "трехэтажной системы". Чем "двухэтажная система" "операция - бухгалтерская проводка" уступает "трехэтажной" ?

[
Код: plaintext
[color=red]b]И любая информация об операциях может быть получена независимо от бухгалтерских проводок.[/b][/color]

Неправильно это. Так делать нельзя. Это не решение,а ТРАБЛ.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33548460
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичИ любая информация об операциях может быть получена независимо от бухгалтерских проводок.
У нас это называлось сборкой отчетов по "первичке". С чем я всегда боролся, если есть необходимость посчитать что-то по первичным документам, значит мы неправильно построили план счетов или не перусмотрели на каком-то счете аналитику.

В нормальной системе все отчеты, кроме соответсвующих "журналов документов" должны собираться по планам счетов. И чем сложнее система тем строже это правило должно выполняться. А то очень быстро столкнетесь с тем что остаток на счете "приход" один, а SUM("приходные документы") совсем другой. И отчеты построенные по разным принципам выдают разные числа. А протеворечивость отчетов затрудняет выявление и исправление реальных ошибок.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33548877
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про бухучет уже ответили. Наверно, многие тысячи руководителей с огромным удовольствием приняли бы Вашу точку зрения и сократили бы этот бухучет нафиг. Но не судьба.
Чернышев Андрей ЛеонидовичЧестно говоря, не понял цель "трехэтажной системы". Чем "двухэтажная система" "операция - бухгалтерская проводка" уступает "трехэтажной" ?Попробуйте посмотреть на приведенном примере распределения затрат. Можно записать это как две хозоперации - операция накопления затрат на промежуточном счете с набором проводок, операция распределения затарат. Но нужно еще гарантировать что суммы операций одинаковы и на промежуточном счете ничего не зависнет. Конечно, это можно сделать автоматическим алгоритмом и не пользоваться вводом через журнал.
Если же это единая операция с полупроводками, то даже без всяких алгоритмов, при тупом вводе через журнал, сама система ведения журнала операций просто отказывается ее проводить пока не будет баланса по операции.
Промежуточный уровень (бухопераций) вызван российским бухучетом - требованием однозначной корреспонденции счетов. Про каждую копейку должны быть известны счет дебет, счет кредит. Поэтому в наборе полупроводок бухоперации отношение СчетаДТ:СчетаКТ обязательно 1:M либо M:1. Хозоперация может включать несколько бухопераций.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33549487
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичВозможно мы немного на разных языках говорим. Я предпочитаю говорить об учете движения материи в пространстве и во времени, и при этом не использую прилагательное "бухгалтерский". И наоборот, всегда использую его для "проводок". Это сейчас не поймут.

Чернышев Андрей ЛеонидовичВсе меняется до бухгалтерских проводок (разумеется, кроме остатков на балансовых счетах, которые меняются в результате бухгалтерских проводок). И любая информация об операциях может быть получена независимо от бухгалтерских проводок. Думаю именно об этом и говорилось в 1280191.Это тоже не поймут.

Возможно, имеет смысл говорить о проводках в специальном плане счетов (НЕ бухгалтерском), используемом для оперативного учета, в котором как раз и проводится "движение материи" в виде товаров или денег, а также проводятся услуги и обязательства. А в другие планы счетов это отражается в виде нескольких проводок по одному документу.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33549889
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR Промежуточный уровень (бухопераций) вызван российским бухучетом - требованием однозначной корреспонденции счетов. это неправильная трактовка факта. Есть учет движения (потоков величин), а есть учет остатков (на регистрах). так вот, проводка - это именно учет движения. она всегда цельная. имеет источник и сток. система математически замкнута. потерь нет (даже если приложение написано криво ). Бух учетом, начиная с некоего итальянца, считается именно учет движения (в проводках). никакого термина "бухоперация", отличного от "проводка" в природе не существует.


учет остатков на регистрах (истоках) в общем случае не интересуется движением, в том числе - замкнотостью потоков. система заведомо не замкнута. суммы могут гулять как угодно.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33549923
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че-та я не пойму... какой такой закон сохранения материи, энергии, денех? а нахрена тада баланс? активы и пассивы?...
А как быть с расчетами через коррсчета?...
Короче еще немного и в этом топике такое начнется...

Единственное что я вам скажу положа руку на сердце - нет такого понятия в бухгалтерии как полупроводка. Это абсурд. Это изобретение проектировщиков баз данных, которые не удосужились заглянуть в суть бухгалтерии.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33550345
trewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321 ModelR Промежуточный уровень (бухопераций) вызван российским бухучетом - требованием однозначной корреспонденции счетов. это неправильная трактовка факта. Есть учет движения (потоков величин), а есть учет остатков (на регистрах). так вот, проводка - это именно учет движения. она всегда цельная. имеет источник и сток. система математически замкнута. потерь нет (даже если приложение написано криво ). Бух учетом, начиная с некоего итальянца, считается именно учет движения (в проводках). никакого термина "бухоперация", отличного от "проводка" в природе не существует.


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

Позволю себе небольшую ремарочку.
Заслуга "некоего итальянца" состоит несколько в ином. Он как раз разделил регистрацию операций на 2 части - одну по приходу, другую по расходу денежных средств с записью этих операций в разные журналы. Т.е. одна операция регистрируется дважды. Это позволило ввести понятие баланса и вести более тщательный контроль за денежными потоками.
В автоматизированных системах бухучета зачастую это игнорируется, и одна операция регистрируется один раз в системе (откуда - куда - сумма).
При этом баланс всегда сходится по определению, как Вы правильно заметили, даже при криво написанном приложении.
При регистрации операций дважды - один раз по счету прихода, другой - по счету расхода (неважно в виде полупроводок или полных проводок) как раз разрывается Ваша "математическая замкнутость".
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33551120
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanЕдинственное что я вам скажу положа руку на сердце - нет такого понятия в бухгалтерии как полупроводка. Это абсурд. Это изобретение проектировщиков баз данных, которые не удосужились заглянуть в суть бухгалтерии.Удосужившись взглянуть в официальные документы - Закон о бухучете, План счетов , ПБУ - Вы не найдете там и термина "проводка". Откуда Вы его взяли, а? Мало ли что им все пользуются, включая методички Минфина - по сути он не существует.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33551638
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenmanкакой такой закон сохранения материи, энергии, денех? а нахрена тада баланс? активы и пассивы?...
Дык баланс и демонстрирует закон сохранения материи. Наглядно и доступно.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33551649
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33551781
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trewq Позволю себе небольшую ремарочку.
Заслуга "некоего итальянца" состоит несколько в ином. Он как раз разделил регистрацию операций на 2 части - одну по приходу, другую по расходу денежных средств с записью этих операций в разные журналы. Т.е. одна операция регистрируется дважды.

При регистрации операций дважды - один раз по счету прихода, другой - по счету расхода как раз разрывается Ваша "математическая замкнутость".
гыгыгы. пустоболим?
взглянем таки так:
не "разделил" а "свел" запись движения из независимых (операций) в одну операцию сразу по 2м регистрам. именно то, что регистрация происходит сразу по 2-регистрам, и делает систему замкнутой. а в каких журналах физически лежат регистры (нарисованы клеточки) - дело десятое.

это именно не отражение "сохранения материи", а способ отображать несохранение материи как движение некой сохраняемой "учетной материи" по регистрам. само движение по регистрам и есть отражение "превращения" материи. (изменение ее качества)

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

т.е. в результате мы ф пролете. но весь наш пролет это не растворение и исчезновение учетных "свиней и апельсинов", а перемещение некоторых учетных величин с одного (двух) регистров, на регистр скажем "убытки". Т.е. материально мы в пролете. Но баланс учетной величины сохранился. Другое дело - "окрас" этого баланса.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33553339
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321
гыгыгы. пустоболим?
взглянем таки так:
не "разделил" а "свел" запись движения из независимых (операций) в одну операцию сразу по 2м регистрам. именно то, что регистрация происходит сразу по 2-регистрам, и делает систему замкнутой. а в каких журналах физически лежат регистры (нарисованы клеточки) - дело десятое...

Добавлю еще немножко.
Если бы все было бы так просто, то бухгалтера по ночам не искали бы копеечки или не копеечки для того, чтобы свести баланс. В Вашем "идеализированном" случае этого просто не требуется. Баланс всегда сходится по определению - сколько втекло, столько и вытекло. Не спорю.
Но когда следовать принципам того же "итальянца", то надо дважды регистрировать одну и ту же операцию. Например, при движении материалов существует приходные и расходные ордера. Отпускающий склад выписал 10 кг апельсин, а принимающий склад принял 5 кг. По дороге произошла усушка или утруска, или по дороге напали свиньи и изъяли половину в свою пользу. Суть - не всегда то, что выливается из одной трубы, попадает в другие трубы. Операция расхода может быть разнесена во времени с операцией оприходования. Все это приводит опять же к системе "разомкнутой". А замыкание системы по сути и есть сведение баланса.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33555059
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33555152
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Консультант ПлюсИБ КорреспонденцияСчетов
Общее количество документов* 8500
Среднемесячное поступление новых документов 100-150
Периодичность обновления информации еженедельно
Объем на жестком диске, MB* 70

* Дата последнего изменения 9.02.2006

Описание информационного банка

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

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

В схемах также показывается взаимосвязь бухгалтерской и налоговой прибыли по правилам, установленным Положением по бухгалтерскому учету "Учет расчетов по налогу на прибыль" (ПБУ 18/02). По ссылкам из текста обоснования и таблицы бухгалтерских проводок пользователь может мгновенно перейти в тексты нормативных документов, используемых автором для аргументации своей позиции, а также в формы первичных учетных документов, указанных в схеме.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33555154
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR Почувствуйте разницу
см. пост выше
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33555166
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ytrewqОперация расхода может быть разнесена во времени с операцией оприходования. Все это приводит опять же к системе "разомкнутой".
С чего бы это?
И расход, и приход проводятся через Товары в пути или как там Вы еще захотите это назвать. Надо же откуда-то списывать усушенный товар.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33556311
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ytrewq Если бы все было бы так просто, то бухгалтера по ночам не искали бы копеечки или не копеечки для того, чтобы свести баланс. в насаждаемых вами кривых интертрепациях Б.У. ("на самом деле" бухгалтерский баланс и в "правильной" архитектуре может не сходится - т.к. в нем есть точка старта, для которой вводятся остатки на начало учета. Вот они то могут и не сходиться)
ytrewq Операция расхода может быть разнесена во времени с операцией оприходования. в бух учете этого не может быть, ибо не может быть никогда. по определению. Ибо любая проводка есть перемещение со счета на счет. И притом, уж если со счета балансового, то и на счет балансовый. (те же "товары в пути", "доходы будущих периодов", "убитки" и т.п.)
учите матчасть и не пишите польше ваших глупостей.


в бумажном учете при записи в разные журналы именно не выполнение (или нарушение - из за ошибки в суммах) принципа двойного учета и приводит к "ночным бздениям булгактеров", то же вы предлагаете и для электронного? ну-ну
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33557680
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogen ModelR Почувствуйте разницу
см. пост вышеМда..Так в каком нормативном документе Вы нашли слово "проводка", просто уже интересно? и как в соответсвии с этим документом следует понимать распоряжение главбуха - "а принеси-ка мне Маня 10ую проводку за январь." Должна ли Маня бежать исполнять или может смело указать на глабуху на его заблуждения?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33557744
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321("на самом деле" бухгалтерский баланс и в "правильной" архитектуре может не сходится - т.к. в нем есть точка старта, для которой вводятся остатки на начало учета. Вот они то могут и не сходиться)
На эту тему давно известно архитектурое решение - вводите остатки оборотами в корреспонденции со спецсчетом и все сойдется.
Неявязка тоже становится объектом учета, и формально не нарушает баланс.
Поэтому замечательное свойство автоматизированной бухгалтерии сохранять баланс чем-то похоже на EAV - все обобщено и уложено, но ощущение что у тебя что-то отняли.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33557826
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRТак в каком нормативном документе Вы нашли слово "проводка"
Ни в каком. К чему мне его искать? Если кто-то из участников дискуссии не понимает значения термина "проводка", найдется доброжелатель, который разъяснит. А если уважаемый оппонент считает, что формировавшиеся в эпоху бумажной бухгалтерии методы, термины и сущности втупую следует переносить в область проектирования информационных систем, то я буду тихо радоваться за конкурента.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33557841
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321есть точка старта, для которой вводятся остатки на начало учета. Вот они то могут и не сходиться
Какие, например, остатки? Товарные получены от поставщиков, остатки по банковским счетам получены от покупателей... Скажите чайнику, какие такие цифры возникли из воздуха и требуют проводки с некоего фиктивного счета.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33557888
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogen
ModelRТак в каком нормативном документе Вы нашли слово "проводка"
Ни в каком. О! DogenК чему мне его искать? Если кто-то из участников дискуссии не понимает значения термина "проводка", найдется доброжелатель, который разъяснит.А также два других, которые разъяснят ошибки разъяснившего:) Dogen А если уважаемый оппонент считает, что формировавшиеся в эпоху бумажной бухгалтерии методы, термины и сущности втупую следует переносить в область проектирования информационных систем, Сабж. Не следует. Если полезно - по-новому определяем проводки и полупроводки - и ничего (кроме устаревших догм) не нарушаем. Dogenто я буду тихо радоваться за конкурента.А так вот в чем был замысел..
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33558040
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR 4321("на самом деле" бухгалтерский баланс и в "правильной" архитектуре может не сходится - т.к. в нем есть точка старта, для которой вводятся остатки на начало учета. Вот они то могут и не сходиться)
На эту тему давно известно архитектурое решение - вводите остатки оборотами в корреспонденции со спецсчетом и все сойдется.
Неявязка тоже становится объектом учета, и формально не нарушает баланс.
Поэтому замечательное свойство автоматизированной бухгалтерии сохранять баланс чем-то похоже на EAV - все обобщено и уложено, но ощущение что у тебя что-то отняли.не пойдет. фиктивный счет - НЕ балансовый. И им быть не может. (это проблема старта). Т.ч. баланс на точку старта подвести придецца.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33558045
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dogen 4321есть точка старта, для которой вводятся остатки на начало учета. Вот они то могут и не сходиться
Какие, например, остатки? Товарные получены от поставщиков, остатки по банковским счетам получены от покупателей... Скажите чайнику, какие такие цифры возникли из воздуха и требуют проводки с некоего фиктивного счета.не пойдет. товарные остатки на момент старта получены от "неоперделенного поставщика" (или вообще взялись неизвестно откуда). Вопрос уточнения источника - попросту вопрос переноса точки старта не на момент введения учета, а на момент старта деятельности вообще (до которого никакого пердприятия не было). Хотя кое какие концы с концами так свести можно.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33558531
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321не пойдет. товарные остатки на момент старта получены от "неоперделенного поставщика" (или вообще взялись неизвестно откуда). Вопрос уточнения источника - попросту вопрос переноса точки старта не на момент введения учета, а на момент старта деятельности вообще (до которого никакого пердприятия не было). Хотя кое какие концы с концами так свести можно.Если это оперативный учет, то прокатит и "неопределенный поставщик", если бухучет - то мне без разницы, от кого главбух решит, от того и проведется. Про уточнение источника - в общем верно.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33558540
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRпо-новому определяем проводки и полупроводки - и ничего (кроме устаревших догм) не нарушаем
Дык как по-новому , если в нормативной документации не определено??
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33564570
vladvol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Много сказано. Мы разделили представление проводок. В опердне они в корреспонденции счетов, а в хранилище данных, на основе которого происходит генерация фин и стат отчетности, сидят проводки в развёрнутом виде с пометкой 'Дт' или 'Кт' с фигурированием только в полупроводке счета, с которым корреспонденция(для забалансовых ничего может и не быть). Избыточность не спорю, но для отчетности пока лучше как кажется нет.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33565141
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DogenДык как по-новому , если в нормативной документации не определено??
Приз за упорство :)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33565522
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladvolМного сказано. Мы разделили представление проводок. В опердне они в корреспонденции счетов, а в хранилище данных, на основе которого происходит генерация фин и стат отчетности, сидят проводки в развёрнутом виде с пометкой 'Дт' или 'Кт' с фигурированием только в полупроводке счета, с которым корреспонденция(для забалансовых ничего может и не быть). Избыточность не спорю, но для отчетности пока лучше как кажется нет.

Напоминаем, что в банковском бухучете существует баланс по внебалансовым счетам (и активы и пассивы). И вообще там 5 видов учета и по всем - баланс. (Уже не помню какие, 4 года прошло). В конце концов может и предприятиях к томуже придут.

Что касается хранилищ данных, то мое мнение таково. Когда в конторе полный бардак в обласи ИТ, куча разнородных данных во всевозможных форматах, то хранилища данных - это последняя попытка хоть как-то что-то систематизировать, и в конец не утонуть
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33569739
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladvol... Избыточность не спорю, но для отчетности пока лучше как кажется нет.

Для создания какой отчетности это лучше? Ежедневной, ежемесячной для ЦБ.Налоговой? Или внутренней оперативной отчетночти?
Можете привести пример отчета, формирование которого облегчают полупроводки?
Хотя то, о чем говорилось в моем понимании не проводки и полупроводки, а операции. А проводка - это изменение остатков на счетах на основании операции. Вот что реально может повлиять на формирование отчетности, так это два разных подхода к проектированию БД- с хранением остатков и с расчетными остатками.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33569998
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxLamer vladvol... Избыточность не спорю, но для отчетности пока лучше как кажется нет.

Для создания какой отчетности это лучше? Ежедневной, ежемесячной для ЦБ.Налоговой? Или внутренней оперативной отчетночти?
Можете привести пример отчета, формирование которого облегчают полупроводки?
Хотя то, о чем говорилось в моем понимании не проводки и полупроводки, а операции. А проводка - это изменение остатков на счетах на основании операции. Вот что реально может повлиять на формирование отчетности, так это два разных подхода к проектированию БД- с хранением остатков и с расчетными остатками.

в точку :)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33572139
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DogenЕсть мнение, что создание таблицы полупроводок (вместо общеупотребимой таблицы проводок с указанием Дт и Кт счетов и аналитик) позволит улучшить многие характеристики системы оперативного учета.

Например, очень примитивным станет расчет текущих остатков.Код упростится, скорость работы увеличится.

зато несколько увеличится занимаемый объем, за счет избыточных полей (как
минимум - ссылок на образующий документ-основание + служебная информация
на запись. но в целом этим, конечно, можно пренебречь, тем более, можно
сразу получить выигрыш - за счет компрессии индексов (справедливо
по отношению к Oracle - когда branch блоки содержат общий префикс, leaf блоки - содержат уникальный суфикс ключа индекса).

Dogen
Можно даже их считать каждый раз на лету и отказаться (может быть) от таблицы остатков на счетах.

эт вы батенька, совсем напрасно. остатки считать и хранить нужно.
только не на начало-конец каждого отчетного период, как это принято, а
на... дату изменения остатка, т.е. на даты
собственно операции. т.е. остаток имеет период
действия - с - по BEG_DATE (NOT NULL), END_DATE (NOT NULL) соотвественно.
индекс строить примерно так. ACCOUNT_NUM, END_DATE, BEG_DATE.
правда, тут есть небольшие проблемы с партицированием.

Dogen
Справедливо как для количественного, так и для денежного учета. И для бухгалтерских проводок в несколько планов счетов тоже.

я бы сказал - скорее более правильно. счета по дебету и кредиту
могут иметь или не иметь еще и валютную составляющую.

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

плюс - к примеру
корреспонденция 10-60 в оборотке по 10-му счету количество
светить должна, равно как и сумму и цену (и даже партию, если
вы применяете что-либо, отличное от средневзвешенного
метода оценки запасов - LIFO, FIFO), а для 60-го счета - фиолетово,
достаточно и даже нужно одной записи, а не 20-ти по каждому
товару отдельно.

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

вообще странная поставновка вопроса. атомарная операция на
основании документа-основания - есть одна транзакция в понятии БД,
как и одна транзакция в понятии ФУ. кроме того, ничего не стоит
поставить общую проверку контроль дебита-кредита в пределах
документа основания на уровне проводочного API (в разрезе балансов,
разумеется).

Dogen
Кто-нибудь использовал на практике структуру данных, не опирающуюся на принцип двойной записи? Что понравилось, что нет?

постановка вопроса не верна ;))) скорее правильно так -
"на принцип отражения корреспонденции двух счетов в пределах
одной записи таблицы БД"

скажу проще - полупроводки - выигрывают практически по всем
критериям. в особенности по производительности.

дело в том, что UNION как таковой требует операцию SORT UNIQUE
а UNION ALL не позволяет делать результирующую выборку
с сортировкой по индексу, без применения промежуточного буфера
(операции SORT ORDER BY).
т.е. в случае двух полей-счетов невозможно пользователю быстро выдать
первые 20-ть записей оборотного баланса без необходимости
тотальной сортировки всей ведомости.

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

LSVНе стОит путать аналитику по счёту и аналитику по карточке ТМЦ !
Если мы будем совать ТМЦ-аналитику в Гл.Книгу то эту книгу просто разорвёт. :)
Разве бухгалтеру важно знать, какого цвета паркет мы отпустили такого-то числа ?


эккая лихая мысль. по большому счету, это все сильно зависит от
применяемой учетной политики. в нормальных организациях бухгалтеру
нужно видеть реальный код (аналитику ТМЦ) в проводках, просто
для корректного определения стоимости остатков и контроля в целом.
"усредневзешенные" схемы - это все от серости, бедности и т.д.
кроме того, есть такая штука, как ISO 9001. партионный учет и все такое ;)

а для сводного финансового учета - так для того придумали и обзоры
материализованные и пр. промежуточные сводные таблицы. в
конце концов - проводки на отчете сгруппировать - это не учет поставить ;))
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33572751
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
дело в том, что UNION как таковой требует операцию SORT UNIQUE
а UNION ALL не позволяет делать результирующую выборку
с сортировкой по индексу, без применения промежуточного буфера
(операции SORT ORDER BY).
т.е. в случае двух полей-счетов невозможно пользователю быстро выдать
первые 20-ть записей оборотного баланса без необходимости
тотальной сортировки всей ведомости.

итого - рудимент два счета в пределах записи - в топку.


Не знаю где там у вас выполз UNION для получения "первые 20-ть записей оборотного баланса"... И вообще зачем трогать трогать для этого проводки...

ниче не понял...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33572892
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор... остаток имеет период
действия - с - по BEG_DATE (NOT NULL), END_DATE (NOT NULL) соотвественно.
индекс строить примерно так. ACCOUNT_NUM, END_DATE, BEG_DATE.
правда, тут есть небольшие проблемы с партицированием.


Не понял, зачем END_DATE, BEG_DATE?
Разве не достаточно в таблице остатков иметь одно поле saldo_date?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33573015
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Не понял, зачем END_DATE, BEG_DATE?
Разве не достаточно в таблице остатков иметь одно поле saldo_date?


И действительно, зачем?...
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33573153
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideдело в том, что UNION как таковой требует операцию SORT UNIQUE
а UNION ALL не позволяет делать результирующую выборку
с сортировкой по индексу, без применения промежуточного буфера
(операции SORT ORDER BY).
кхм. не понял, а вот скажем такую (чисто умозрительно) структуру вы смотрели:

Проводки:
идПро
СуммаПроводки
КолвоПроводки --опционально, может быть ниже
...еще всяка кака уровня проводки, если нужна

СчетаПроводок:
идСчПр -- суррогат
идПро
План --план счетов (скажем при фиксации одной проводки на
--нескольких "планах" - финансовый, налоговый, бухгалтерский)
ДебКр --признак (булево)
Счет -- соб-сно счет

(+ уникальный индекс (идПро,План,ДебКр)
- чтобы не более 2х счетов на план в проводке
+ некае обвязка логикой,
- чтобы не меньше 2-х счетов на план в проводке)


АналитикаСчетовПроводок:
идСчПр
ТипАналитики
идАналитики
КолвоАналитики --опционально, может быть выше

при этом
1. проводка 1-на (сумма по дебету и кредету 1-на, и пишется в одной точке). Т.е. требование нормализации (и автоматической 2-й записи)
2. Никакого юниона я не вижу. Можете считать суммы как по своим полупроводкам (простым джойном Счетов к проводкам разворачиваете их в свои "полупроводки")
3. Не утверждаю, что это хорошая структура, но
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33575114
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxLamer автор... остаток имеет период
действия - с - по BEG_DATE (NOT NULL), END_DATE (NOT NULL) соотвественно.
индекс строить примерно так. ACCOUNT_NUM, END_DATE, BEG_DATE.
правда, тут есть небольшие проблемы с партицированием.


Не понял, зачем END_DATE, BEG_DATE?
Разве не достаточно в таблице остатков иметь одно поле saldo_date?

нет конечно.
у тебя с 1-е по 5-е число - сальдо по аналитическому ряду дебет сто,
с 6-го по 10-е - ноль, с 11-го - кредит двести.

и скажи мне мил человек, каким таким запросом ты получишь сальдо на

8-? SELECT * FROM xxx WHERE saldo_date -- ? чего ?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33575156
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321
при этом
1. проводка 1-на (сумма по дебету и кредету 1-на, и пишется в одной точке). Т.е. требование нормализации (и автоматической 2-й записи)

бред какой-то. какая-еще нормализация ?
сумму нужно отражать на полупроводке. сразу.
третья таблица не нужна и даже вредна.

иДПро - это нужно выбросить. равно как и сущность Проводки

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

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

(ИдДокумента,ИдОперации,НомерСчетаАналитики,ДбКр,ДатаПроводки)

ДбКр - нужны только для случаев проводок вида 62-62.
Дата проводки - для сторнирующих (перерасчетных) проводок по документу
(и то, это - еще тот вопрос).


4321

2. Никакого юниона я не вижу. Можете считать суммы как по своим полупроводкам (простым джойном Счетов к проводкам разворачиваете их в свои
"полупроводки")


UNION возникает при двух полях счетов на запись -
Дебет-счет-аналитика, Кредит-счет-аналитика, Сумма

4321
3. Не утверждаю, что это хорошая структура, но
да нормально (ни хорошо, ни плохо).
как курсовой - даже на пять баллов потянет.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576030
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что тут сказать? мы что тут оправдываться должны чтоль?...
Пусть как хочет так и делает. И будет это до тех пор, пока кто-то где-то не допустит маленькую ошибку в программе и не получится так, что не для каждой полупроводки найдется своя половина. А впрочем - время оно все расставит по местам :)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576470
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори скажи мне мил человек, каким таким запросом ты получишь сальдо на

8-? SELECT * FROM xxx WHERE saldo_date -- ? чего ?

select top 1 * from saldo where saldo_data <=@data order by saldo_data desc
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576479
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон,
select top 1 * from saldo where saldo_data <=@data and acc=@acc order by saldo_data desc
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576510
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в общем случае (т.к.) счета м.б. валютные, то
select top 1 MyDb.dbo.MyUDFGetKursVal(@data, @val_id)*saldo_summa_Val as saldo_summa_rur from saldo where saldo_data <=@data and acc=@acc order by saldo_data desc
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576673
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide бред какой-то. какая-еще нормализация ?
сумму нужно отражать на полупроводке. сразу.
напоминает - "лапы уши хвост - вот мои аргументы"
grexhideвяжи многабуков. промоушен своей схемы. он мне не интересен.
grexhide
4321
2. Никакого юниона я не вижу. Можете считать суммы как по своим полупроводкам (простым джойном Счетов к проводкам разворачиваете их в свои
"полупроводки")


UNION возникает при двух полях счетов на запись -
Дебет-счет-аналитика, Кредит-счет-аналитика, Сумма

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

grexhide 4321
3. Не утверждаю, что это хорошая структура, но
да нормально (ни хорошо, ни плохо).
как курсовой - даже на пять баллов потянет.чё сказать то хотели? таки разберите проблемы схемы, а не свои предпочтения.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576686
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxLamerпардон,
select top 1 * ...Не, во-первых в вопросе "8-?" - видимо Оракл 8.
Во вторых и главных - идти с конца - иногда получим не тот остаток.

Реально end_date начиная с 8.1.7 можно вычислять через Lead().
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576779
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВо вторых и главных - идти с конца - иногда получим не тот остаток.
Я привел пример на T-SQL
Можно и не идти с конца:

select MyDb.dbo.MyUDFGetKursVal(@data, @val_id)*saldo_summa_Val as saldo_summa_rur
from saldo where saldo_data =(select max(saldo_data) from saldo where saldo_data<=@data and acc=@acc) and acc=@acc
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576961
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxLamer
select MyDb.dbo.MyUDFGetKursVal(@data, @val_id)*saldo_summa_Val as saldo_summa_rur
from saldo where saldo_data =(select max(saldo_data) from saldo where saldo_data<=@data and acc=@acc) and acc=@acc

и что ты этим хотел сказать ? что знаешь крутые "хфичи" на T-SQL ?

запрос - абсолютно неприемлимый с точки зрения производительности.

за такое - нормальный DBA указкой, да по пальцам.
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576969
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4321
grexhide
4321
2. Никакого юниона я не вижу. Можете считать суммы как по своим полупроводкам (простым джойном Счетов к проводкам разворачиваете их в свои
"полупроводки")


UNION возникает при двух полях счетов на запись -
Дебет-счет-аналитика, Кредит-счет-аналитика, Сумма

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


ты хоть сам понял, что сказал ?
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33576998
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори что ты этим хотел сказать ? что знаешь крутые "хфичи" на T-SQL ?

Я хотел показать, что получение остатка на определенную дату - это вообще не проблема, чтобы о ней говорить:)
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #33577017
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhide ты хоть сам понял, что сказал ?вы мне не тычь, ля. будь-те, ля, лубезен-ы, ля, нормы общения, ля, соблюдать, ля.

А естли с соображалкой туго - разжевывать не буду. В сад.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Двойная запись vs Полупроводки
    #38909182
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чернышев Андрей ЛеонидовичИдею отправления естественных надобностей трудно испоганить реализацией.
Скажите это голубю, который насрал Вам на голову
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #38909211
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЧернышев Андрей ЛеонидовичИдею отправления естественных надобностей трудно испоганить реализацией.
Скажите это голубю, который насрал Вам на голову
1) Нелепость, потому что голубь, скорее всего, не знает что такое "идея" и "реализация", и не понимает человеческого языка.
2) Вы поступаете неэтично каждый раз, когда искажает текст, цитируя его, до неузнаваемости))
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #38910237
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9 лет прошло, а вопрос актуален. Рекорд имхо
...
Рейтинг: 0 / 0
Двойная запись vs Полупроводки
    #38910291
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для археологов - однозначно. Только исходный вопрос был не про голубей. ТС пожалуется в Спортлото!
...
Рейтинг: 0 / 0
162 сообщений из 162, показаны все 7 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Двойная запись vs Полупроводки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]