powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
5 сообщений из 5, страница 1 из 1
Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
    #40034767
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Кто помнит программа моя работает с 2000 года. Это несколько магазинов компьютерной техники - в каждом свой сервер и репликакации раз в 15 минут. Все на фоксе.

Сайт ALGSoft.ru - данные берет с моей программы и в нее же валит заказы. Репликации раз в час. Сайт не я писал. Его купили за 50 баксов тоже давно. :)

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

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

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

Чтобы отрезать старые данные - я просто проссумировал старые документы объединив их в один в разрезе фирма, клиент, товар и так далее и удалил после этого. При слиянии и правда число записей уменьшилось и вроде все норм..

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

Думаю все таки сгородить таблицы по остаткам - хранить именно остатки не привязанные к документам.
Что останавливает.. В моей структуре изменения в старых днях делаются легко.
Меняем документ в любом дне и пересчитываем все с 2000 года и заносим во входящий остаток и текущий - всего два изменения.

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

Какие будут мысли, господа программисты?
...
Рейтинг: 0 / 0
Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
    #40034788
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaestroEv,

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

Чтобы получить долги мы считаем весь дебит с кредитом и прочей пенёй от начала мира. Оракл пока справляется даже без промежуточного сальдо, я хз, как делать это на фоксе.
...
Рейтинг: 0 / 0
Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
    #40034812
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaestroEv
Я не смог придумать ничего иного ...

Вам просто надо подумать об изменении архитектуры. Во многих фирмах есть разделение на DWH (OLAP) и OLTP. То есть данные делятся на две части - одна как-бы архивная где хранятся все проводки и вторая "оперативная" в которой текущие проводки для повседневной деятельности. В итоге Вы ежедневно работаете с гораздо меньшими объёмами данных. Начальные остатки для текущей работы пересчитываются как и в Вашем случае. Документы же за предыдущие периоды просто идут в DWH. Обычно ничего не удаляется но можно и "просуммировать" как в Вашем случае. Сколько данные хранятся в DWH и в каком виде как правила зависит от требования налоговой или политики Вашей компании.

Примерно так - два массива данных: один большой (архивный) и небольшой для ежедневного пользования.
...
Рейтинг: 0 / 0
Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
    #40034966
Фотография MaestroEv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Моих два остатка - это по сути тоже самое.
Остатки на экран (промежуточные) считаются всего за один сегодняшний день - их мало и делается это быстро.
Ночью остатки переносятся во входящие и это уже, считай, архив.
Ну и документ как бы на "ввод остатка" - при отрезании старых данных его корректирую на новую дату.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Всем привет. Годы идут - фокс живет. Давайте подумаем над правильным хранением остатков.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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