powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как учитываются в складской программе денежные средства?
41 сообщений из 41, показаны все 2 страниц
Как учитываются в складской программе денежные средства?
    #36694718
PrimaryPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

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

Спасибо
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36694797
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryPro, никак, если это просто складская программа.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695050
PrimaryPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это склад и торговля
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695107
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryProЭто склад и торговля

для начала бы интересно узнать что это такое "склад и торговля" ?
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695171
PrimaryPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen
Думаю, что Вы вопрос мой поняли.
А так, некрасиво это, относиться к другим надменно и с пренебрежением.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695272
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryProПодскажите пожалуйста, как учитываются в складской программе оплата (денежные средства) по полученным и отгруженным товарам? Как это можно реализовать? На основании чего производится оплата? Как ведется учет долгов контрагентов?
На столь точную и исчепывающую постановку задачи ответить можно только стебом.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695311
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и нужно первичные документы учитывать. Приходные/расходные накладные, счета, приходные документы (касса, банковские платёжки), договора.

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

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

нет не понял потому и спросил... я мог бы телепатировать что основанием отгрузки/получения может являться скажем счет или ПКО/РКО или договор или сам факт отгрузки НО увы не зная по какому решению вы спрашиваете я даже не знаю что вам конкретно то и посоветовать... может у вас там не ведутся взаиморасчеты в разрезе не только контрагентов а ещё и договоров/поставок и т.д.

телепаты как говорится в отпуске

или может вы хотели задать вопрос "как это реализовать" ? так опять же в чем именно или с использованием чего именно ?

уж извините но пока вам врядли кто-то поможет с такими вопросами как в заглавии темы
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695343
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
Чтобы велосипед не изобретать, стоит познакомится с планом счетов бухучёта.

это наверное лишнее будет если там только оперативный
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695349
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryPro,

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

С позиции пользователя технологии учёта/анализа финансовых операций и дебиторок/кредиторок очень глубоко описаны и можно посмотреть http://www.zhsoft.nm.ru/hand_fin/hand_fin.htm , но если интересно "с позиции разработчика", то:

1. В финансовом документе нал/безнал делается ссылка на "связанную" товарную накладную - некий код.
2. В товарной накладной имеется реквизит "отсрочка платежа".

Таким образом анализируя деньги можно анализировать товарные документы и наоборот.

Если интересно задавайте конкретные вопросы - в "КИС Lack" контур финансового учета и контроля отработан идеально и вполне могу детально ответить. Замечу только:

1. В КИС к одной накладной можно привязать несколько платежей, но user требует иногда, что-бы к нескольким накладным привязывался один платёж.
2. Нужно вводить понятие "виртуальной оплаты", т.е. денег НЕТ, но необходимо указать, что накладная оплачена. В "КИС Lack" это решается через ж...
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36695785
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PrimaryProДобрый день.

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

Спасибо
1) Если это складская программа - то никак.
2) Реализовать можно по разному. Я например сумму возникшей задолженности записываю как бух.проводку в соответствии с планом счетов бух.учета.
Если по простому, без бух.счетов - пишу сумму документа в колонку со знаком +. Когда будет оплата - запишу сумму оплаты со знаком -. Задолженность на любую дату - сумма колонки.
3)Оплата на основании платежки с подписью босса. :)
4)Зависит от желания "учетчика" - можно в разрезе контрагентов, а можно и усугубить доп. разрезами (договора, №ттн и т.д.).
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36696301
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Ж. если интересно "с позиции разработчика", то:

1. В финансовом документе нал/безнал делается ссылка на "связанную" товарную накладную - некий код.

Наиболее оптимально перекрытие оплат и отгрузок расчитывать автоматически в разрезе контрагентов (или варианты контрагентов/договоров/сделок). Жесткая привязка оплат к отгрузкам через ссылки усложняет работу пользователей, но иногода требуется. Поэтому у нас используется комбинированный вариант.
Андрей Ж.
2. В товарной накладной имеется реквизит "отсрочка платежа".
Аналогично, иначе невозможно будет построить план платежей.
Андрей Ж.
1. В КИС к одной накладной можно привязать несколько платежей, но user требует иногда, что-бы к нескольким накладным привязывался один платёж.
Это частая ситуация.
Андрей Ж.
2. Нужно вводить понятие "виртуальной оплаты", т.е. денег НЕТ, но необходимо указать, что накладная оплачена. В "КИС Lack" это решается через ж...
Если я правильно понял, то это сделано для подгонки фискальной отчетности (факт реализации товаров), т.к. с точки зрения оперативного учета нонсенс. У нас делается иначе. Вначале расчеты выполняются полностью по принятым правилам, затем, если расходная часть не устраивает, то пользователь может создать корректировочные записи, которые накладываются на основной расчет. Разумеется, в этом случае ему придется самостоятельно объясняться с налоговой по поводу завышения расходов, т.к. проверочные формы программа не выдаст.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36696677
Фотография Андрей Ж.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер! Отвечу на замечания FinSoft, т.к. ТС кажется тема уже не интересует... Каждая система реализует учёт финансов по разному, что подтверждает идеи vill_ager, но ТС помимо фиксации факта оплаты пожелал анализ дебиторки, а это:

1. Контроль долгов в терминах 1С - контрагентов;
2. Анализ просрочки оплат, вероятно в срезе приходов/продаж товаров.

В свете этого более подробно опишу структуру хранения и обработки финансовой информации в системе "КИС Lack", что так же прокомментирует технологию FinSoft (о программе Вы скромно умолчали?):

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

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

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

- Отнесение одного платежа к нескольким накладным . Задача решается, но не столь "красиво" как хотелось бы. Просто разбивается платёж на несколько документов, каждый из которых привязывается к отдельной накладной. На "уровне отчётов" по документам (акт сверки с клиентом, кассовая книга, реестр по банку и т.д.) имеется техника "склейки", когда несколько фин. документов с едиными реквизитами (дата, номер, тип, клиент) виртуально объединяются в один документ (одну запись).

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

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

- Что касается "налоговой"... Моя система изначально предполагалась для черно-белого учёта и каждоая внешняя (налоговая, учредители, контролёры) или внутренняя служба (бухгалтерия, отдел закупок/продаж, управление) получает только ту информацию, которая им полагается.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36697008
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Ж.
- существуют отдельные таблицы накладных (приход-возврат, отгрузка-возврат) и финансовых документов (касса/банк) следовательно в общем случае денежные операции учитываются независимо от накладных. Кроме этого существуют операции не относящиеся прямо товарообороту, например затратные операции или расчёты с бюджетом. При независимой работе с таблицами задачи дебиторки/кредиторки решаются:

1. Просто как долг клиента (перед клиентом) на некоторую дату;
У нас может быть долг по расчетам с контрагентом в разрезе разделов расчетов. Раздел расчетов - это аналог бухгалтерских счетов (60, 62, 76 и т.п.). Можно смотреть долг как целиком по контрагенту, так и в разрезе разделов расчетов. Но итоги сохраняются всегда в разрезе раздела расчетов. Если контрагент выступает и покупателем, и поставщиком, то для него в определенный момент нужно делать зачет. Для отдельных разделов расчетов может быть определено ведение долгов в разрезе договоров и сделок. Тогда итоги будут сохраняться с этими разрезами. Автоматическое отнесение оплат к отгрузкам выполняется также в рамках разделов расчетов/договоров/сделок.
Андрей Ж.
- для достижения гибкости учёта и анализа (да и упрощения алгоритмов построения отчётов) в "КИС Lack" можно сопоставить накладную (любого типа) финансовому документу, а именно в фин.документе указать уникальный код накладной (понятно, что имеется индекс по данному полю). В этом случае при сканировании накладных доступна инфа по финансам и наоборот. Сложно пользователя минимальны, т.к. программа предлагает при вводе и привязки платежа допустимый список накладных, ограниченный по клиенту, типу оплаты, дате накладной, торговой точки клиента и т.д.
У нас существует отдельная таблица, в которой хранятся ручные перекрытия документов отгрузки и оплаты. Таким образом, один платеж может быть отнесен к нескольким накладным и наоборот. Но ручные отметки оплат рекомендуется применять только, если это необходимо. Как правило, такая необходимость возникает при работе с бюджетными организациями. Сложности работы с ручными отметками оплат возникают при возвратах и исправлениях задним числом. Отследить корректность привязок, не мешая пользователю, в этом случае довольно сложно. Приходится делать специальный контрольный отчет, выявляющий возможные некорректности (в основном - превышения суммовых итогов ссылок над суммой первичного документа). Чтобы не было разночтений - у нас ручные отметки оплат можно комбинировать с автоматическим распределением. Если для первичного документа ручное распределение задано, то используется оно, если нет, то документ перекрывается автоматически другими "свободными" документами.
Андрей Ж.
- Виртуальная оплата . Может быть несколько бизнес ситуаций когда необходимо сделать платёж не отражая его в списке финансовых операций (задача решается плохо - предложите более красивый способ), например:

1. Накладная предполагает оплату "по банку", а оплачивается частично по кассе, частично по банку. Но нужно установить чёткую привязку!!! Конечно можно было "заложить" независимость привязки от формы оплаты, но тогда бы я лишался возможности "управлять документами одного типа из списка документов другого типа". Сейчас решается - делаются два "левых" документов приход/расход денег на одну сумму, но с разными типами оплаты, одна из которых "закрывает" накладную и данные документы не отражаются в финансовой отчётности.
Извините, Андрей, но я не понимаю, каким образом фактическая оплата по банку или кассе требует таких решений. Если у вас анализируется план/факт поступления денежных средств раздельно по банку и кассе, то такую "пересортицу" можно легко отследить в соответствующей отчетной форме.
Андрей Ж.
2. Накладная и долг имеется, но нужно "простить" клиенту данный долг и что бы он не отражался в оперативной дебиторке/кредиторке, но сам факт долга не был бы "утерян". Решение описано выше.
3. "Финансовое" погашение бартерных операций - так же решается "левыми" документами. И так далее...
Думаю, что вышеобозначенные ситуации возникли в связи с отсутствием в системе понятия разделов расчетов. "Простить" долг - это перенести его на другой раздел расчетов. Например, с расчетов с покупателями на расчеты по отложенным платежам. Бартерные операции - акт взаимозачетов с контрагентом по двум разделам расчетов, как покупателем и поставщиком. На самом деле тут все просто - все подобные схемы давно проработаны в стандартном бухгалтерском учете, остается провести аналогии в оперативном.
Андрей Ж.
- Что касается "налоговой"... Моя система изначально предполагалась для черно-белого учёта и каждоая внешняя (налоговая, учредители, контролёры) или внутренняя служба (бухгалтерия, отдел закупок/продаж, управление) получает только ту информацию, которая им полагается.
У нас аналогично, только не для "черно-белого" учета, а для оперативного и фискального. Сорри, конкретно ссылку на сайт проекта пока давать не буду. Скажу только, что это локальным проект, имеющий клиентскую базу в одном из регионов, под Windows, модульный, не sql (варианты со встроенным форматом файл-сервер/терминальный сервер/ip-сервер или первасив), тематика - оптово-розничная торговля и небольшие производства.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36697317
Фотография Андрей Ж.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо FinSoft за подробное пояснение гибких и альтернативных моим технологиям учёта финансовых операций - распечатал Ваши подходы и буду думать, может, что-то и попробую применить! Самое главное - подходы даже к такой "узкой" области учета могут радикально отличаться, в то же время корректно решая задачи пользователя...


Просто для информации.

1. Некий аналог Ваших "разделов расчетов" имеется и у меня - разделение операций на "товарные" (60/62/76 бух.счет) и "финансовые".

2. "Деление" накладных по предполагаемой форме оплаты мне нужно для управления документами одного типа при работе со связанными документами другого типа . Например могу сменить "раздел расчета" кассового документа из связанной отгрузочной накладной.

3. Понятие поставщика/покупателя у меня раздельны, т.е. один клиент существует в двух записях, что связано с "потугами" использовать КИС Lack, как бухгалтерскую программу и применяется при построении оборотно-сальдовой ведомости по 60 или 62 счету.

4. Иногда user "извращается", что ему необходимо отследить сделку, проходящую через несколько товарных и финансовых документов и даже нескольких клиентов. Это решается через "виртуальные объекты" (подробнее можно почитать технологии отчётной подсистемы ) или попросту глобальной уникальной пометки сделки в полях оснований документов или системных меток.

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

6. "Извините, Андрей, но я не понимаю, каким образом фактическая оплата по банку или кассе требует таких решений". Задачи дебиторок/кредиторок, да и каждая из них имеет множество вариаций (отчетов с разными алгоритмами построения); контроль оплат от торговых точек (адресов) клиента; погашение (что бы "не святились" в дебиторках) бартерных операций; отражение и контроль оплат "за счет платежей других клиентов" (Иванов платит за Сидорова) и т.д.

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


Ещё раз спасибо за ценные идеи.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36697356
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"живая" тема, несмотря на выходные дни :)

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

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

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

Удобно - для любого счета работает один алгоритм (написанный еще в прошлом веке:) ).
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36697888
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vill_ager"живая" тема, несмотря на выходные дни :)

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

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

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

Удобно - для любого счета работает один алгоритм (написанный еще в прошлом веке:) ).
У нас одна из главных "фишек" - работа без проведения документов. Т.е все отчеты строятся на основании документов, а не проводок, которых в базе данных нет в принципе. Модуль бухгалтерского учета работает аналогично - проводки рассчитываются и группируются нужным образом непосредственно при формировании отчетов. Остатки выставляются при закрытии периодов и используются только для ускорения отчетов, а также при удалении данных за прошедшие периоды.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36697911
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FinSoftvill_ager"живая" тема, несмотря на выходные дни :)

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

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

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

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

очень интересно а за какое время "закрывают" период при отсутствии какого-то нибыло контроля в оперативном режиме ?
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698226
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1CmenFinSoftvill_ager"живая" тема, несмотря на выходные дни :)

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

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

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

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

очень интересно а за какое время "закрывают" период при отсутствии какого-то нибыло контроля в оперативном режиме ?
В принципе, закрывать период можно любой датой. Из практики обычно - последней датой каждого месяца. Мелкие конторы порой не закрывают период в течении года. Если необходимо внести изменения в документы в закрытом периоде, то закрытие отменяется, а затем устанавливается снова. Можно откатываться и повторно закрывать несколько периодов за раз, останавливать работу других пользователей не требуется. Разумеется, те, кто в это время формируют отчеты, несколько просядут в скорости. На современных серверах это уже не так критично.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698333
PrimaryPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за ответы.

Только оперативный учет.

2 Андрей Ж.
Да, интересно с позиции разработчика

1. Я так понял, что создается журнал финансовых документов (отдельно от журнала складских документов), где каждому финансовому документу привязывается один или несколько документов из журнала складских документов (или не привязывается, если фин. документ не связан с дурнадом складских документов)?
2. Как вести отдельно наличные фин.документы (касса) и безналичные фин.документы (банк) с позиции разработчика?
3. В товарной накладной имеется реквизит "отсрочка платежа". Для чего?
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698442
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryPro
2 Андрей Ж.
Да, интересно с позиции разработчика

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

PrimaryPro
2. Как вести отдельно наличные фин.документы (касса) и безналичные фин.документы (банк) с позиции разработчика?
3. В товарной накладной имеется реквизит "отсрочка платежа". Для чего?
Я бы не стал консультироваться у Андрея по этим вопросам. Он закоренелый технарь и находится слегка в плену DOSовской парадигмы программирования.

PrimaryPro3. В товарной накладной имеется реквизит "отсрочка платежа". Для чего?
Взаиморасчеты с клиентами осуществляются на основе договора и ГК. Отсрочка платежа - отражение индивидуального подхода к расчетам для клиента. Обычно дата возникновения долга совпадает с датой накладной, но если клиенту дается отсрочка, это можно отрегулировать данным полем.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698455
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trdm_PrimaryPro
[quot PrimaryPro]3. В товарной накладной имеется реквизит "отсрочка платежа". Для чего?
Взаиморасчеты с клиентами осуществляются на основе договора и ГК. Отсрочка платежа - отражение индивидуального подхода к расчетам для клиента. Обычно дата возникновения долга совпадает с датой накладной, но если клиенту дается отсрочка, это можно отрегулировать данным полем.
Дата наступления расчета в случае использования поля "отсрочка платежа" расчитывается так:
Дата оплаты = Дата документа + "отсрочка платежа".
Если "Дата оплаты" < текущей даты, то долг (если он есть) считается не просроченным.
Обычно применяют более изощренную формулу, в зависимости от договоренности (отсрочка в календарных /в рабочих днях):
Дата оплаты = Дата документа + КоличествоРабочихДней(Дата_документа, "отсрочка платежа").
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698548
DimAAA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryProДобрый день.

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

Спасибо

Самое главное на складе - это Журнал материальной ответственности (в рублях).
В нем, в ЖМО, как и 100 лет назад условно 3 колонки: Приход - Расход- Остаток

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

А в чём вопрос?

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

При инвентаризациях считается Недостача, очень удобно.
Больше не надо закрывать Магазин или Склад на инвентаризации, этот анахронизм ушёл.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698628
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FinSoftLast1CmenFinSoftvill_ager"живая" тема, несмотря на выходные дни :)

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

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

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

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

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

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

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

при построении системы на одних документах (наборах данных движения объектов) без механизма получения и хранения данных о остатках и вспомогательной информации служащей для отслеживания актуальности и "правильности" состояния БД мы рискуем получить продукт не только не помогающий в работе но ещё и наткнуться на проблему "автоматизации ради автоматизации"
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698640
PrimaryPro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 trdm_

Спасибо за ответ.

Но не совсем могу согласиться с Вашим утвержением, что:

авторЯ бы не стал консультироваться у Андрея по этим вопросам. Он закоренелый технарь и находится слегка в плену DOSовской парадигмы программирования

Все таки структура и схема БД программы не совсем зависит от того, на какой ОС программирует человек.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698895
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen вы не поняли сути проблемы а именно сокращение времени для "закрытия периода" для того чтобы система функционировала актуально происходящим процессам а не по истечении нескольких месяцев "выравнивать" что либо

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

Каким образом закрытие периода связано с контролем ввода данных и актуальностью процессов? У нас есть дополнительно оперативные остатки по товарам в разрезе складов, которые используются для ускорения расчетов. Остальные параметры считаются от ближайших зафиксированных остатков (границы закрытого периода). Например, чтобы получить текущий долг контрагента, в открытом периоде читаются все документы, влияющие на взаиморасчеты с ним. Обычно это несколько записей в базе данных, получить которые составляет доли секунды.
Last1Cmen
при построении системы на одних документах (наборах данных движения объектов) без механизма получения и хранения данных о остатках и вспомогательной информации служащей для отслеживания актуальности и "правильности" состояния БД мы рискуем получить продукт не только не помогающий в работе но ещё и наткнуться на проблему "автоматизации ради автоматизации"
Как раз все наоборот. Любой актуальный параметр можно сохранять в базе данных, затем брать оттуда, а можно рассчитывать динамически. В первом случае всегда существует проблема актуальности сохраненных значений. Например, в вашей парадигме (судя по нику), после корректировки прихода задним числом потребуется перепроведение всех последующих документов, чтобы получить актуальное значение наценки с продаж. В альтернативном варианте значение наценки всегда остается актуально.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36698981
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FinSoft
Каким образом закрытие периода связано с контролем ввода данных и актуальностью процессов?


время на эту процедуру как правило обратнопропорционально наличию оперативного контроля

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

вот видите - они же есть (какова реализация - предмет другой темы не менее интересной)

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


FinSoftНапример, в вашей парадигме (судя по нику), после корректировки прихода задним числом потребуется перепроведение всех последующих документов

не всегда но бывает - это так называемое понятние "последовательности"

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

да конечно но тут палка о двух концах

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

т.е. дело в разумном балансе этих подходов к учетным задачам НО в любом случае какие-то статические даные для контроля будут присутствовать... нельзя сказать что фиксируя только движения наборов учетных объектов можно построить толковую систему... только накопительную для неких анализов основанных восновном на оборотах - возможно а остальное - врядли

вот как-то слабо себе представляю рабочую систему в момент фиксации изменения состояния взаиморасчетов получающую всю необходимую аналитику за несколько лет с момента начала ведения отношений с контрагентом и по последний существующий факт
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699060
СергейF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PrimaryPro,
похожая ситуация... заказчику писали склад для позаказного производства. В итоге пришли к тому, что помимо производства они занимаются, купи – продай.
В итоге, написали модуль «Счета» выставляемые поставщиками. Счета указываются в ожидаемых поставках на склад. Ожидаемая поставка, на основании ее номера делается приход. Расход со склада по той же схеме в обратную сторону. Ожидаемая поставка к приходу на склад 1:М
По счетам бухгалтерия делает отметки – дата и номер платежного поручения.
Отчет по сверке показывает всю картину взаимоотношений. Все!)
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699111
Фотография Андрей Ж.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер господа!

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

Привет тёзка. Вы демонстрируете один из подходов – и он имеет «право на жизнь», но замечу, что обычно делят операции по типам для достижения «логичности» системы и структуры хранения информации. Ваша идея подходит, если пытаться создавать некую «платформу» информационной системы, но здесь явно не хватает таблицы типа (так называемых «метаданных»):
1. код_операции
2. поле_1/структура информации

х. поле_х/структура информации


авторFinSoft. У нас одна из главных "фишек" - работа без проведения документов.

Проведение – это просто термин , означающий попадание операции в «отчёты». В КИС Lack – это «распределение» для накладной, «ввод даты оплаты» для финансового документа.

Что бы «опера» не испортили «отчётность бухгалтерии» в КИС имеются ограничение доступа к действиям пользователям (что решает проблемы озвученные Last1Cmen):
1. Запрет документа к изменению или удалению;
2. Запрет ввода операций «задним числом».


авторTrdm. Я бы не стал консультироваться у Андрея по этим вопросам. Он закоренелый технарь и находится слегка в плену DOSовской парадигмы программирования.

С момента последней нашей «тёрки» система КИС Lack переделана (на уровне исходных текстов) под мультиплатформенную парадигму и должна легко «собираться» под dos, windows, linux, macOS, PocketPC. На сайте имеются исходные текста и сборка системы УС Land под Win32 и если:

1. Вам «не влом»;
2. Хотя бы на «поверхностном» уровне знаете какой нибудь Free компилятор ANSI C;
3. Научились настраивать FireFox.

То без проблем пересобирёте систему под любой ПК платформой. ОС в задаче ТС абсолютно не важна, м.б. какое-то значение имеет механизм доступа к данным:
1. Навигационный
2. Реляционный. Хотя и это не влияет на структуры хранения информации (таблицу БД).


авторPrimaryPro
1. Я так понял, что создается журнал финансовых документов (отдельно от журнала складских документов), где каждому финансовому документу привязывается один или несколько документов из журнала складских документов (или не привязывается, если фин. документ не связан с дурнадом складских документов)?
2. Как вести отдельно наличные фин.документы (касса) и безналичные фин.документы (банк) с позиции разработчика?

Вы всё правильно поняли – достаточно «факультативной» ссылки на уникальные код документа «журнала складских документов». Все механизмы «привязок» подробно описаны на страничке e-book: технологии и отчёты по финансовым документам. Для примера приведу структуру таблицы «кассовых документов» из описания laks_dbf.doc комплекса документации системе (можно взять на сайте):

Код: 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.
Cash_ord.dbf	Кассовые ордера.

codCash	  c	 4 	Код кассового документа
tip	  c	 1 	тип документа. "1" - ПКО, "2" - РКО
dat	  d	 8 	его дата
number	  c	 12 	номер
sum	  n	 15 . 2 	сумма документа
client	  c	 4 	сист.код клиента
reason	  c	 150 	основание платежа
datPay	  d	 8 	дата оплаты
idCodInv	  c	 5 	код накладной или пусто
dmove	  l	 1 	рабочее поле АРМ директора
keeping	  l	 1 	признак отнесения оплаты к товарным операциям
closes	  l	 1 	признак абсолютного запрета изменений
dGr	  l	 1 	метка групповой операции
dProv	  l	 1 	признак проводимости документа
stat	  l	 1 	признак запрета операции
tabel3	  c	 4 	код оператора добавивщего/изменившего документ
codStores c	 2 	код связанного с операций склада
tabel	 c	 4 	рабочее поле для совместимости
lab1	 c           25 	системная метка. 

CashMain.ntx    into    client+Dtos(dat)        	CO_CLIENT_DAT                1 
CashCode.ntx    into    codCash                 	CO_CODCASH                   2 
CashDate.ntx    into    Dtos(dat)+Upper(number)	CO_DAT_NUMBER                3 
Cash_inv.ntx    into    idCodInv                	CO_IDCODINV                  4 

автор3. В товарной накладной имеется реквизит "отсрочка платежа". Для чего?
В принципе спецы уже ответили, но в основном:
1. Анализ дебиторкой или кредиторской задолжности;
2. Выявление «просроченных» оплат;
3. Инфа для контрагента и торгового представителя о сроках оплат.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699409
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen
при "динамическом" подходе будем иметь проблемы при большой транзакционной нагрузке
при "статическом" - проблемы с той же последовательностью регистрации событий

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

Last1Cmen
вот как-то слабо себе представляю рабочую систему в момент фиксации изменения состояния взаиморасчетов получающую всю необходимую аналитику за несколько лет с момента начала ведения отношений с контрагентом и по последний существующий факт
а в чем здесь проблема? При динамическом подходе фиксировать изменение состояния взаиморасчетов не нужно. Просто фиксируется очередная операция (платеж, отгрузка...). А состояние считается, на любую дату и за любой период. Времени это занимает больше, но не смертельно... Зато точно, и по простым алгоритмам.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699424
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Ж.
Привет тёзка. Вы демонстрируете один из подходов – и он имеет «право на жизнь», но замечу, что обычно делят операции по типам для достижения «логичности» системы и структуры хранения информации. Ваша идея подходит, если пытаться создавать некую «платформу» информационной системы, но здесь явно не хватает таблицы типа (так называемых «метаданных»):
1. код_операции
2. поле_1/структура информации

х. поле_х/структура информации

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

А если проводить анализ взаиморасчетов в динамике (с шагом, например, 7 дней) - готовые остатки не реально держать на каждую дату.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699480
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может я не правильно понимаю, но при динамическом подходе как раз транзакций (операций записи информации в разные таблицы) меньше , чем при статическом. Одно дело записать информацию об операции, другое - одновременно еще и обновить различные остатки (как ни крути - пока не закончилась одна транзакция, другая такого же типа не стартует). При большом количестве пользователей - теряем скорость ввода

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

после этого продолжим разговор про статику\динамику

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

да... с последним соглашусь


эта схема применима к тем ситуациям когда задержка констатации факта неприменима и за это расплачиваемся временем потраченным на "разбор полетов" из-за ошибок ввода перед "закрытием периода"
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36699615
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen
FinSoftЛюбой актуальный параметр можно сохранять в базе данных, затем брать оттуда, а можно рассчитывать динамически. В первом случае всегда существует проблема актуальности сохраненных значений.

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

Отнюдь. Вернемся к предыдущему примеру с изменением в приходной накладной. Сколько записей в базе данных вам придется удалить/создать/изменить? Даже при проведении одной накладной в торговой системе счет будет на десятки и сотни, причем нужно не только сохранить накладную и сделать проводки в регистры, но и пересчитать остатки по каждому товару на конец каждого последующего месяца и оперативные. И т.д. В нашем случае это будет изменение 3 записей - строка накладной, оперативный остаток по товару и лог. Сами понимаете, что займет это доли секунды и никак не отразиться на работе других пользователей. Чтение же информации из кэша сервера при формировании отчетов выполняется очень быстро, при этом пользователи не блокируют работу друг друга.
Конечно, структура базы данных заранее оптимизируется для возможности быстрого доступа к данным.
Чтобы было понятно, приведу еще один пример. Чтобы получить карточку движений товара в вашей системе вы предварительно делаете проводки в регистр, который упорядочивается по ссылке на товар и периоду операции. Затем при формировании отчета вы уже можете быстро отобрать все движения, относящиеся к этому товару за период. Сами строки накладной можно получить лишь в контексте накладной. У нас наоборот, можно напрямую работать со строками документов. Ссылка на товар там всегда есть, а период (дата и время) всегда устанавливается равным периоду в шапке накладной (денормализация). В результате мы получаем ту-же последовательность (товар+период операции), но без проведения документа. При построении карточки товара будут считаны только те записи, которые к нему относятся, ничего более - отчет будет сформирован практически мгновенно.

Last1Cmen
т.е. дело в разумном балансе этих подходов к учетным задачам НО в любом случае какие-то статические даные для контроля будут присутствовать... нельзя сказать что фиксируя только движения наборов учетных объектов можно построить толковую систему... только накопительную для неких анализов основанных восновном на оборотах - возможно а остальное - врядли

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

Динамические расчеты выполняются в открытом периоде и частично в закрытом, кроме случаев ресурсоемких отчетов. Я с вами согласен, что обработка всех движений за период может сильно просаживать производительность (причем именно обработка, а не чтение из базы). Только обычно это относится к товародвижению, а не расчетам с контрагентами. Поэтому в закрытых периодах у нас используются сводные итоги в некоторых разрезах. Например, для быстрого получения информации по наценке сохраняются итоги в разрезах товар+склад, товар+поставщик, товар+покупатель, а также итоговые наценки в разрезе накладных. Структурно это напоминает регистры в вашей системе, но записи там итоговые за период, их намного меньше, формируются они при закрытии периодов и их обновление никак не тормозит работу других пользователей.
Если отчет далее будет формироваться по нескольким периодам, то программа выполнит декомпозицию, где можно, возьмет готовые итоги, где нельзя (открытый период или неполный закрытый) пересчитает динамически, результаты объединит. В результате, к примеру, отчет по движению всех товаров за год будет сформирован в пределах 1-2 минут со всеми сортировками и группировками.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36700074
Ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FinSoft
Чтобы было понятно, приведу еще один пример. Чтобы получить карточку движений товара в вашей системе вы предварительно делаете проводки в регистр, который упорядочивается по ссылке на товар и периоду операции. Затем при формировании отчета вы уже можете быстро отобрать все движения, относящиеся к этому товару за период. Сами строки накладной можно получить лишь в контексте накладной. У нас наоборот, можно напрямую работать со строками документов. Ссылка на товар там всегда есть, а период (дата и время) всегда устанавливается равным периоду в шапке накладной (денормализация). В результате мы получаем ту-же последовательность (товар+период операции), но без проведения документа. При построении карточки товара будут считаны только те записи, которые к нему относятся, ничего более - отчет будет сформирован практически мгновенно.

Динамические расчеты выполняются в открытом периоде и частично в закрытом, кроме случаев ресурсоемких отчетов. Я с вами согласен, что обработка всех движений за период может сильно просаживать производительность (причем именно обработка, а не чтение из базы). Только обычно это относится к товародвижению, а не расчетам с контрагентами. Поэтому в закрытых периодах у нас используются сводные итоги в некоторых разрезах. Например, для быстрого получения информации по наценке сохраняются итоги в разрезах товар+склад, товар+поставщик, товар+покупатель, а также итоговые наценки в разрезе накладных. Структурно это напоминает регистры в вашей системе, но записи там итоговые за период, их намного меньше, формируются они при закрытии периодов и их обновление никак не тормозит работу других пользователей.
Если отчет далее будет формироваться по нескольким периодам, то программа выполнит декомпозицию, где можно, возьмет готовые итоги, где нельзя (открытый период или неполный закрытый) пересчитает динамически, результаты объединит. В результате, к примеру, отчет по движению всех товаров за год будет сформирован в пределах 1-2 минут со всеми сортировками и группировками.

На мой взгляд вариант "получать остатки налету из документов" конечно же имеет право на жизнь.
Все же есть недостатки, из которых лично для меня этот способ неприемлим:
1. И основное. Ограниченная производительность системы. Все хорошо когда у нас только расходные и приходные накладные и возвраты - можно делать документы на одной таблице, или собирать в процедуре расчета остатков, всего таблички прошерстить. Далее появляются инвентаризация, акты оприходывания и списания, потребление в производство, выход товара из производства. Переписываем процедуру расчета остатков. Сколько ж у нас табличек в запросе будет? А потом (не дай бог!) введем резервирование при вводе строк документов (разумеется с проверкой актуальных остатков и резервов на непроведенные документы) - сколько ж такая процедура работать будет? С клиентами (например проверка просроченной задолженности) при наличии десятка типов документов - та же беда.
2. Вытекает из первого. Сложность поддержки - всегда нужно помнить какой документ как влияет на остатки - это если писать код оптимально, либо писать код универсально и генерить мегапроцедуры по расчету остатков.
3. Достаточно сложно отследить нарушения целостности учета, к примеру при удалении приходной накладой или смене даты проведения (это ведь так просто! - считаем все по документам) могут возникнуть запрещенные отрицательные остатки, товар отгрузился раньше чем произвелся ну и тому подобные казусы.

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

Я лично придерживаюсь системы: Документ->Журнал Учета-Регистр.
Журналы учета (и только они) пишут в регистры, документы могут писать только в журналы учета и их проводить. Регистров и журналов немного (товарный, складской, по клиентам, по поставщикам, по банкам, финансовых операций), но код по проверке и занесению в них данных из журналов достаточно изощренный, документов больше на порядок, код по их проведению сводится к заполнению и проведению журналов учета. Общий смысл - разделить мух и котлет, документы от ядра системы - регистров.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36700175
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага[quot FinSoft]
На мой взгляд вариант "получать остатки налету из документов" конечно же имеет право на жизнь.
Все же есть недостатки, из которых лично для меня этот способ неприемлим:
1. И основное. Ограниченная производительность системы. Все хорошо когда у нас только расходные и приходные накладные и возвраты - можно делать документы на одной таблице, или собирать в процедуре расчета остатков, всего таблички прошерстить. Далее появляются инвентаризация, акты оприходывания и списания, потребление в производство, выход товара из производства. Переписываем процедуру расчета остатков. Сколько ж у нас табличек в запросе будет ? А потом (не дай бог!) введем резервирование при вводе строк документов (разумеется с проверкой актуальных остатков и резервов на непроведенные документы) - сколько ж такая процедура работать будет? С клиентами (например проверка просроченной задолженности) при наличии десятка типов документов - та же беда.
2. Вытекает из первого. Сложность поддержки - всегда нужно помнить какой документ как влияет на остатки - это если писать код оптимально, либо писать код универсально и генерить мегапроцедуры по расчету остатков.
3. Достаточно сложно отследить нарушения целостности учета, к примеру при удалении приходной накладой или смене даты проведения (это ведь так просто! - считаем все по документам) могут возникнуть запрещенные отрицательные остатки, товар отгрузился раньше чем произвелся ну и тому подобные казусы.

1-2: А стоит ли заводить таблички на каждый вид операции (вид документа)? Можно хранить все в одной таблице приходов-расходов (кол-во с плюсом - приход, кол-во с минусом - расход), и алгоритм расчета остатка прост: простой select с нужным group by
3:Защита от таких безобразий одинакова при любом подходе - проверка и запрет. Но если операция корректна, то в "динамике" она выполнится моментально (поменяли дату документа в одной таблице), а в "статике" - ?

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

я заострил внимание что он (пересчет или промежуточная фиксация итога) должен быть а уж какая у него реализация это дело другое

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

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

Чтобы получить карточку движений товара в вашей системе вы предварительно делаете проводки в регистр, который упорядочивается по ссылке на товар и периоду операции. Затем при формировании отчета вы уже можете быстро отобрать все движения, относящиеся к этому товару за период. Сами строки накладной можно получить лишь в контексте накладной. У нас наоборот, можно напрямую работать со строками документов. Ссылка на товар там всегда есть, а период (дата и время) всегда устанавливается равным периоду в шапке накладной (денормализация). В результате мы получаем ту-же последовательность (товар+период операции), но без проведения документа. При построении карточки товара будут считаны только те записи, которые к нему относятся, ничего более - отчет будет сформирован практически мгновенно.

если касательно 1С то там возможно разное построение построение регистра фиксации и самое главное почему изначально не рекомендуется использование документов в качестве источника данных для отчетов то это методология того что сам документ - не более чем удобная форма ввода информации данные в которой не обязательно должны совпадать с фактически необходимой структурой хранения

по этому и иной раз построить отчет "по документам" либо не представляется возможным либо не является рациональным

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


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

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

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

ну все таки мне кажется мы несколько уходим от темы
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36700827
Ага
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot vill_ager]
1-2: А стоит ли заводить таблички на каждый вид операции (вид документа)? Можно хранить все в одной таблице приходов-расходов (кол-во с плюсом - приход, кол-во с минусом - расход), и алгоритм расчета остатка прост: простой select с нужным group by
[quot]
Ну примерно так у меня и устроены регистры. Строки же документов многообразны - в инвентаризации нет цены, зато есть расчетное количество и количество по инвентаризации, в строках покупок и продаж есть цены, расчет НДС и прочее относящееся к бух. учету и фискальному учету. Наверно все можно пихнуть в одну таблицу, но я слабо представляю как :).

[quot vill_ager]
3:Защита от таких безобразий одинакова при любом подходе - проверка и запрет. Но если операция корректна, то в "динамике" она выполнится моментально (поменяли дату документа в одной таблице), а в "статике" - ?
[quot]
Согласен с методикой защиты - вопрос в том сколько будут выполнятся проверки (к примеру простой расчет наличия товара с учетом зарезервированного).
Далее, если операция корректна в статике ее перепроведение/отмена разумеется будет выполнятся дольше. Я все же рассмотрел вопрос под немного другим углом: чем больше загружен сервер - проверками при вводе документов и отчетами или проведением/распроведением документов.
Вопрос о там как отследить корректна операция или нет (к примеру смена даты проведения) Вы видимо сознательно обошли стороной :), по моему опыту с системой а-ля "собираем по документам" это выливается в головняк похуже написания алгоритмов проведения документа.
Кроме того не стоит забывать про периодически выполняемые задания, к примеру расчет себестоимости (в общем случае может идти до закрытия периода) , расчет курсовых разниц - куда писать результаты работы этих процедур в случае системы "считаем по документно" для меня остается загадкой.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36701129
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага На мой взгляд вариант "получать остатки налету из документов" конечно же имеет право на жизнь.
Все же есть недостатки, из которых лично для меня этот способ неприемлим:
1. И основное. Ограниченная производительность системы. Все хорошо когда у нас только расходные и приходные накладные и возвраты - можно делать документы на одной таблице, или собирать в процедуре расчета остатков, всего таблички прошерстить. Далее появляются инвентаризация, акты оприходывания и списания, потребление в производство, выход товара из производства. Переписываем процедуру расчета остатков. Сколько ж у нас табличек в запросе будет? А потом (не дай бог!) введем резервирование при вводе строк документов (разумеется с проверкой актуальных остатков и резервов на непроведенные документы) - сколько ж такая процедура работать будет? С клиентами (например проверка просроченной задолженности) при наличии десятка типов документов - та же беда.
Все документы складского учета у нас собраны в две таблицы - шапки и строковые части. Точнее сказать три, но это другая тема. Новые документы вводятся достаточно редко, чаще модифицируются существующие. Например, один вид документа "Списание" используется и для списания товаров/материалов на затраты, и для перемещения материалов производство. В этих случаях несколько различается набор реквизитов заголовка документа, но с точки зрения движений материалов на складе операция одинаковая. Аналогично с приходом из производства и т.п.
По поводу резервирования ситуация следующая. Вначале был сделан динамический расчет. На сервере это работало без каких-либо заметных проблем. Затем потребовалась поддержка работы по сети, сделали все-же оперативные остатки. В данном случае их использование оправдано, т.к. текущий остаток нужно показывать много где, в подборе, строках документов и т.п. Надо заметить, что текущие остатки не являются проводками, это фиксированные записи в разрезе товар+склад.
К вопросу о производительности - сколько записей в секунду будет выбирать из кэша современный сервер? И сколько записей нужно просмотреть для получение всех операций с заданным контрагентом? Получаем доли секунды.
Ага
2. Вытекает из первого. Сложность поддержки - всегда нужно помнить какой документ как влияет на остатки - это если писать код оптимально, либо писать код универсально и генерить мегапроцедуры по расчету остатков.
Поработав с системами обоих видов, я пришел к другому мнению. Дин. расчеты, касающиеся какого-то аналитического среза (регистра) собираются в одной/двух процедурах. В принципе, объем кода приблизительно одинаков, только в системах с проведением он размазан по документам, в нашем случае - по расчетным процедурам. Все остальное производно. Когда что-то меняется в расчете, все равно придется проверять работу разных отчетов, с ним связанных. Так как затащить все в регистры проблематично и обращение к документам все равно происходит в том или ином виде. Могу сказать, как организовано у нас. Проект разрабатывается на уровне методанных и к каждому диалогу или расчету можно приписать набор "тем", которые он затрагивает. Например, складской учет или взаиморасчеты. Что-то поменяли, скажем, во взаиморасчетах, формируем список мест, где эта тема задействована, и проводим дополнительные тесты. Еще у нас существуют автотесты, в которых выполняется автоматическое сравнение некоторых контрольных показателей разных расчетов.
Посмотрите на вопрос с другой точки зрения. Предположим, нужно ввести новый функционал или уточнить старый, а это затрагивает информацию, сохраненную в регистрах при проведении. У нас такого нет в принципе, мы просто делаем новый расчет или уточняем старый, и это будет работать во всех периодах. Как быть в случае с проводками? Перепроводить все в большинстве ситуаций не выход, придется делать какие-то дополнительные служебные документы и т.п. А затем учитывать их использование во всех расчетах. Далее, вы никогда не мониторили количество звонков на суппорт по поводу того, что клиент что-то поменял не по порядку и не понимает, что произошло?
Ага
3. Достаточно сложно отследить нарушения целостности учета, к примеру при удалении приходной накладой или смене даты проведения (это ведь так просто! - считаем все по документам) могут возникнуть запрещенные отрицательные остатки, товар отгрузился раньше чем произвелся ну и тому подобные казусы.
Если разрешены корректировки задним числом, то мы никуда от этого не уйдем в обоих случаях. Вопрос цены исправления ситуации - лопатить кучу данных в базе или исправить одну-две записи. Для описанной ситуации применительно к движению товаров у нас используется понятие "фиктивный приход". Все расходы, образующие отрицательный остаток, не повисают в воздухе, а относятся к этим "фиктивным приходам". Специальная процедура контроля товарных операций позволяет легко их обнаружить и исправить, а в отчетах, где нужно, такие позиции тоже визуально выделяются.
Ага
В Вашем посте радует последний абзац - Вы уже пришли к пониманию необходимости регистров хотя бы в закрытых периодах. Осталось сделать решающий шаг - отказатся от динамического расчета по документам и построить все систему на регистрах :).
Итоги по периодам не то-же самое, что проводки. Как я написал, это сводные данные в некоторых разрезах, используемые для ускорения работы. Иными словами, программа будет работать и без них (кроме начальных остатков после среза базы данных), а их расчет не приводит к блокировке работы других пользователей. Скорость сохранения итогов за месяц обычно занимает не более минуты, отмена итогов выполняется мгновенно (изменения статуса заглавной записи). Сколько по времени будут перепроводиться накладные за месяц?
PS. От систем с проведением документов был сделан сознательный уход лет 7 назад, к сводным итогам за период пришли года 4 назад. Главная мотивация - это беспроблемность техподдержки клиентов. Это совсем разные вещи - протестить код расчетной процедуры или копаться с базой данных клиента, который что-то сделал не так, не в том порядке, либо мы и не думали, что он такое может как-то сделать, либо мы сами допустили ошибку, а клиент успел накопить неверные результаты в базе и т.п. ...
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36701138
FinSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1CmenFinSoft я не углубляюсь пока в технологические аспекты пересчета т.к. это отдельная тема
я заострил внимание что он (пересчет или промежуточная фиксация итога) должен быть а уж какая у него реализация это дело другое

С этим я вполне согласен.
...
Рейтинг: 0 / 0
Как учитываются в складской программе денежные средства?
    #36701574
Клёвый топик. Что ни пост, так сразу видно одаренную личность.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как учитываются в складской программе денежные средства?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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