powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как реализовать такой проектик?
15 сообщений из 15, страница 1 из 1
как реализовать такой проектик?
    #36712596
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу совета:
Есть товар (продукция), которая должна учитываться в следующем виде:
и так на каждый месяц. Нач. остаток текущего месяца равен Кон. остатку предыдущего.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[Итоговая]
| Name | Нач. остаток | Приход | Расход | Конеч. остаток | 
+------+--------------+--------+--------+----------------+
|      |              |        |        |                |
|      |              |        |        |                |
|      |              |        |        |                |
|      |              |        |        |                |
|      |              |        |        |                |
Как это реализовать?
Это будет работать в APEX.
1. Т.е. должна быть таблица [приход_расход] , которая фиксирует все ПРИХОДЫ и РАСХОДЫ и ДАТУ.
2. По таблице [приход_расход] формировать VIEW [Итоговая] ? или таблицу [Итоговая] ? Выделяя нужный месяц.
3. А если в эту таблицу [приход_расход] , вносят данные несколько лет, то для того чтобы подсчитать Нач. остаток за текущий месяц, необходимо перелопатить все таблицу до текущего месяца?
4. Или может завести еще одну таблицу, которая будет хранить в себе | Name | Нач. остаток | Приход | Расход | Конеч. остаток | за предыдущий день и имея по дневной отчет можно формировать [Итоговая] , а когда и как вычислить баланс предыдущего дня.
5. А если кто-то захочет изменить данные за предыдущий месяц: увеличит ПРИХОД на 100 единиц. Это же должно отразиться и в текущем месяце или блокировать такую возможность?
Я запутался
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712652
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Храните насчитанные закрытые периоды и пересчитывайте открытый период.
Определите дисциплину закрытия периодов и, как исключение, правки и пересчетов уже закрытых периодов.

Пролема не в программировании, а в методологии.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712663
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Желательно.
2. Лучше грамотно настроить фильтры.
3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?
4. Особо нет смысла
5. Должно отразиться. Открываем период, корректируем с проверками, закрываем. Вариантов много. Полностью запрещать глупо.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712702
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программист-ЛюбительХраните насчитанные закрытые периоды и пересчитывайте открытый период.
Определите дисциплину закрытия периодов и, как исключение, правки и пересчетов уже закрытых периодов.

Проблема не в программировании, а в методологии.
работаю в ORACLE.
Под периодом можно подразумевать и год, и месяц и день.

Определите дисциплину закрытия периодов
Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ?
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712711
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV
3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?.

около 50 000 в год
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712817
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terra_nova2
Определите дисциплину закрытия периодов
Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ?

Закрывать периоды таки лучше вручную, иначе будет сильно влиять человеческий фактор. Кто-то чего-то забыл вчера внести или просто заболел, а сегодня пришел - период уже закрыт, нужно предпринимать доп. шаги по "раскрытию-закрытию". А так перед закрытием человек лишний раз проверит, все ли данные на месте. Да и период - "день" как-то маловат, если у тебя не банк :))
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712940
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terra_nova2Как это реализовать?
Делаем таблицу [приход_расход] , а также таблицу [остатки_период] . В остатках храним остаток на определенный момент (начало месяца, начало недели,...). Для расчета остатка на нужный период выбираем остаток на предыдущий и плюсуем-минусуем значения [приход_расход] до нужного нам периода.
При изменении в закрытом периоде - пересчитываем все остатки последующих периодов. Можно как вариант повесить триггер с проверкой периода и выполнением нужной процедуры если период уже закрыт.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712988
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
terra_nova2Я запутался
Самое простое - хранить текущий остаток и от него плясать в прошлое. При разумных объемах работает быстро. Отчетность как правило за месяц делается. А годовую можно и подождать
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36712992
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобрterra_nova2Как это реализовать?
Делаем таблицу [приход_расход] , а также таблицу [остатки_период] . В остатках храним остаток на определенный момент (начало месяца, начало недели,...). Для расчета остатка на нужный период выбираем остаток на предыдущий и плюсуем-минусуем значения [приход_расход] до нужного нам периода.
При изменении в закрытом периоде - пересчитываем все остатки последующих периодов. Можно как вариант повесить триггер с проверкой периода и выполнением нужной процедуры если период уже закрыт.
Спасибо сейчас проработаю
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36713457
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terra_nova2LSV
3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?.около 50 000 в годЭто смех. Даже не о чем говорить. Хорошо работает, даже когда 20млн.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36713642
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55terra_nova2
Определите дисциплину закрытия периодов
Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ?

Закрывать периоды таки лучше вручную, иначе будет сильно влиять человеческий фактор. Кто-то чего-то забыл вчера внести или просто заболел, а сегодня пришел - период уже закрыт, нужно предпринимать доп. шаги по "раскрытию-закрытию". А так перед закрытием человек лишний раз проверит, все ли данные на месте. Да и период - "день" как-то маловат, если у тебя не банк :))

Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36713647
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVterra_nova2LSV
3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?.около 50 000 в годЭто смех. Даже не о чем говорить. Хорошо работает, даже когда 20млн.


Это я и хотел услышать
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36714745
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
terra_nova2
Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор.

Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36714999
terra_nova2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tru55terra_nova2
Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор.

Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом.
Спасибо, Я правильно понимаю:
ПРИМЕР: сейчас 4 октября, и сентябрь еще открыт.
1. Тогда текущий баланс выводится за (1-31) сентября + (1-4) октября.
2. Пусть 5 октября выполняется закрытие сентября: тогда текущий баланс выводится за (1-4) октября с учетом закрытых предыдущих месяцев
Т.е. ничего сложного нет.
...
Рейтинг: 0 / 0
как реализовать такой проектик?
    #36715907
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом .
Бред. Не путайте управленческий учет с работой БД. Каждого первого числа когда нет народу в системе нужно формировать остатки периода (если период выбран месяц). А все последующие исправления должны перехватываться триггером и менять сформированный остаток. Если период закрыт, то триггер должен откатить изменение и плюнуть в юзера сообщением, пусть идет к людям которые отвечают за закрытый период и объясняет почему ему хочется там что-то менять.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / как реализовать такой проектик?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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