for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Лисоводы   всех   стран,  объединяйтесь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
  

Хранение остатков.
Maestro
Автор

Сообщений: 515
Откуда: г.Благовещенск А
Дата: 11.01.21 04:03:05
Всем привет.

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

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

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

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

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

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

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

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

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

Какие будут мысли, господа программисты?
Ratings: 0 negative/0 positive

Re: Хранение остатков.
pasha_usue

Сообщений: 3486
Откуда: Е-бург
Дата: 11.01.21 07:15:58
Создать документ "ввод остатков на момент времени". Базу обрезать до этого документа. Методику хранения остатков оставить без изменений.
Ratings: 0 negative/0 positive

Re: Хранение остатков.
Maestro
Автор

Сообщений: 515
Откуда: г.Благовещенск А
Дата: 12.01.21 03:55:24
Спасибо. Оно так и есть. Думал, что-то кто-то изобрел элегантнее.
Ratings: 0 negative/0 positive

Re: Хранение остатков.
pasha_usue

Сообщений: 3486
Откуда: Е-бург
Дата: 12.01.21 08:13:01
Maestro
Спасибо. Оно так и есть. Думал, что-то кто-то изобрел элегантнее.
Насколько я понял, вы туда обороты запихали, что в свою очередь притянуло исторически устаревшую номенклатуру.
Ratings: 0 negative/0 positive

Re: Хранение остатков.
medstrax

Сообщений: 5292
Дата: 13.01.21 07:46:47
А почему бы просто не хранить актуальные остатки в виде связанного списка по позиции документа прихода-расхода? При изменении документа берем остатки с предыдущей позиции списка и изменяем их на текущее значение
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 12 Chemberzhy Simple777  (Гостей: 10)


© 2000-2021 Fox Club 
Яндекс.Метрика