Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Пример ситуации: Бух. счет с 01.01.06 изменяет свой номер и название. К 01.01.06 на нем есть остатки, и естественно прошло куча документов с ссылкой на его SchetID. Просто поменять 01.01.06 в таблице номер и название счета нельзя - документы пред. периода должны показываться по-старому. Поэтому нужно ввести новую запись, но как перебрасывать остатки? Бухгалтер создавать документ по перебросу остатков отказывается (да и прав наверное). Похожая ситуация при изменении названия/реквизитов контрагента. Поискал по форуму - ситуации рассматриваются похожие, но не совсем такие. Подскажите, какие могут быть решения? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 10:10 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
я бы не стал пользоваться для бухгалтреских нужд естественными ключами... а в данной ситуации добавил бы поле с суррогатным ключом и сделал связку записей именно по суррогатному ключу. Тогда любые номера, названия и т.п. можно менять хоть по сто раз на дню не потеряв связей... или я что-то не так понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 10:54 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
KulavertЗдравствуйте! Пример ситуации: Бух. счет с 01.01.06 изменяет свой номер и название. К 01.01.06 на нем есть остатки, и естественно прошло куча документов с ссылкой на его SchetID. Просто поменять 01.01.06 в таблице номер и название счета нельзя - документы пред. периода должны показываться по-старому. Поэтому нужно ввести новую запись, но как перебрасывать остатки? Бухгалтер создавать документ по перебросу остатков отказывается (да и прав наверное). Похожая ситуация при изменении названия/реквизитов контрагента. Может завести еще одну табличку, в которой отображать изменения реквизитов? SchetID, DateChange, поля реквизитов. Источник данных документа связывать по SchetID, DateChange . Т. о. реквизиты будут отображаться зависимо от даты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2005, 13:10 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
miksoftя бы не стал пользоваться для бухгалтреских нужд естественными ключами... а в данной ситуации добавил бы поле с суррогатным ключом и сделал связку записей именно по суррогатному ключу. Тогда любые номера, названия и т.п. можно менять хоть по сто раз на дню не потеряв связей... или я что-то не так понял? Используется суррогатный ключ SchetID int IDENTITY(1,1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 07:58 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
мои пять копеек: имхо, если "документы пред. периода должны показываться по-старому" - то это не изменение названия, а введение _нового_ счета, пусть он хоть десять раз имеет тот же номер, что и старый. а любое изменение сумм на счетах бух. учета должно оформляться именно проводкой. у нас такие фокусы проделываются через "служебный" счет 00 двумя проводками: красное сторно по старому счету и проводка на новый - во избежание завышения оборотов. и ни у кого никаких возражений до сих пор не было, хотя аудиторские проверки проходят с завидной периодичностью. в самом крайнем случае, такие проводки и соответствующие документы можно просто скрыть от клиента, так что никто и никогда их нигде не увидит :). то же самое с изменением реквизитов контрагента или введением аналитики по счету, на котором ранее аналитики не было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 08:32 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
RVBМожет завести еще одну табличку, в которой отображать изменения реквизитов? SchetID, DateChange, поля реквизитов. Источник данных документа связывать по SchetID, DateChange . Т. о. реквизиты будут отображаться зависимо от даты. А как построить запросы? Сейчас так: SELECT ....., NSchet, Schet FROM ..... LEFT JOIN spSchet ON spSchet.SchetID=Docum.SchetID --например WHERE ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 08:41 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
dawмои пять копеек: имхо, если "документы пред. периода должны показываться по-старому" - то это не изменение названия, а введение _нового_ счета, пусть он хоть десять раз имеет тот же номер, что и старый. а любое изменение сумм на счетах бух. учета должно оформляться именно проводкой. у нас такие фокусы проделываются через "служебный" счет 00 двумя проводками: красное сторно по старому счету и проводка на новый - во избежание завышения оборотов. и ни у кого никаких возражений до сих пор не было, хотя аудиторские проверки проходят с завидной периодичностью. в самом крайнем случае, такие проводки и соответствующие документы можно просто скрыть от клиента, так что никто и никогда их нигде не увидит :). то же самое с изменением реквизитов контрагента или введением аналитики по счету, на котором ранее аналитики не было... Вариант с одной проводкой через 00 прост, если не ведется аналитика по счету. А если на новом счете нужно получить остатки в разрезах по подотчетникам, цехам и т.д., то проводок нужно ооочень много. А с изменением реквизитов контрагентов не совсем то же самое, как с этим быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 08:45 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
KulavertА если на новом счете нужно получить остатки в разрезах по подотчетникам, цехам и т.д., то проводок нужно ооочень много. и что мешает генерировать их автоматически, нажатием на волшебную кнопучку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:05 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
что же касается изменения реквизитов контрагента, то тут пути два: если меняется нечто существенное, типа названия, или, скажем, ИНН, то это опять же явно появление нового контрагента. соответственно, получаем ситуацию с переброской остатков с одного контрагента на другого. другой путь - сохранять эти реквизиты прямо в документе. на мой взгляд, дублирование информации в данном случае не такая уж страшная вещь, как кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:12 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
daw KulavertА если на новом счете нужно получить остатки в разрезах по подотчетникам, цехам и т.д., то проводок нужно ооочень много. и что мешает генерировать их автоматически, нажатием на волшебную кнопучку? Ни что, а кто... бухгалтер. Но этот вариант понятен, нужно преодолеть орг. меры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:14 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
dawчто же касается изменения реквизитов контрагента, то тут пути два: если меняется нечто существенное, типа названия, или, скажем, ИНН, то это опять же явно появление нового контрагента. соответственно, получаем ситуацию с переброской остатков с одного контрагента на другого. другой путь - сохранять эти реквизиты прямо в документе. на мой взгляд, дублирование информации в данном случае не такая уж страшная вещь, как кажется. А тут нет остатков в чистом виде, есть куча типов документов: договоры, заказы, расходные накладные, акты п/п векселей, бухг. док. и т.д. Т.е., как например "перевесить остатки" по документам "Заказ"? Этот документ имеет бумажный оригинал с печатями и подписями, а в БД к нему и к его подчиненным записям привязаны уже прошедшие ранее операции, например по исполнению заказа... То же с СФ: что такое "остатки по СФ"? Должна быть возможность распечатать старую СФ (как саму по себе, так и учесть ее в отчете) со старыми реквизитами. Делать сторно при изменении реквизитов - пользователи будут смотреть как на дурака (ИМХО, конечно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:22 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
KulavertА тут нет остатков в чистом виде, есть куча типов документов: договоры, заказы, расходные накладные, акты п/п векселей, бухг. док. и т.д. Т.е., как например "перевесить остатки" по документам "Заказ"? Этот документ имеет бумажный оригинал с печатями и подписями, а в БД к нему и к его подчиненным записям привязаны уже прошедшие ранее операции, например по исполнению заказа... То же с СФ: что такое "остатки по СФ"? Должна быть возможность распечатать старую СФ (как саму по себе, так и учесть ее в отчете) со старыми реквизитами. Делать сторно при изменении реквизитов - пользователи будут смотреть как на дурака (ИМХО, конечно). я имел в виду переброску остатков именно сторнированием. на нас, например, как на дураков не смотрят. иногда, правда, приходится популярно объяснять, что если у организации "поменялся" ИНН, то это уж никак не та же самая организация. и что "перевесить" остатки означает изменение на счетах бух. учета... да, на синтетическом счете изменений нет, но на аналитических - есть: "видите, были остатки по этой СФ, а стали по вот этой. изменение на лицо. а оформлять такие изменения можно лишь одним способом. и дело не в программе, а в том, что таковы основы бух. учета..." правда, опять же, зависит от того, что за реквизиты меняются... что-то целесообразнее прописывать в документах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 09:54 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
[quot Kulavert А как построить запросы?[/quot] Надо написать функцию, которая будет возвращать счет по его ID в документе и дате документа из таблицы изменений счета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 14:04 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
Изменение ИНН организации и номера счета не обязательно означает новую учетную позицию. Спросите бухгалтера, как с его точки зрения следует понимать запрос "Анализ оборотов за период с 01-11-2005 по 01-02-2006 по счету имевшему на начало период номер... и организации, имевшей ИНН ..." ? Готов ли он к тому, что еиу придется получать 3 отчета с фиктивным закрытием/открытием учетных позиций ? Т.е. аккуратнее все таки вести историю учетных объектов (счетов, организаций), а не считать их новыми при изменении реквизитов и не генерировать фиктивные проводки. Запросы конечно будут сложнее типа SELECT ....., NSchet, Schet_Number FROM ..... LEFT JOIN spSchet_history ON spSchet_history.SchetID=Docum.SchetID and spSchet_history.Date = (select max(h.Date) from spSchet_history h where h.SchetID=Docum.SchetID and h.Date <=Docum.Date) WHERE ... Для отчета можно брать данные на начало/конец периода по выбору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 16:24 |
|
||
|
Как построить изменение справочников?
|
|||
|---|---|---|---|
|
#18+
Т.е. предлагается введение доп. таблицы spSchet_history? Dokum -> spSchet -> spSchet_history? А какую информацию хранить в самой spSchet? Получается, что лучше всего никакой информации там и не хранить, а только SchetID? А может тогда историю перенести в собственно spSchet (в спр. контрагентов, банков и т.д. и т.п.)? По этой теме на форуме высказывались мнения, что мусор хранить в основной таблице нежелательно (хотя в данном случае может это и не мусор). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 07:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33287749&tid=1545640]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
100ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 449ms |

| 0 / 0 |
