|
|
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
Прошу совета: Есть товар (продукция), которая должна учитываться в следующем виде: и так на каждый месяц. Нач. остаток текущего месяца равен Кон. остатку предыдущего. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Это будет работать в APEX. 1. Т.е. должна быть таблица [приход_расход] , которая фиксирует все ПРИХОДЫ и РАСХОДЫ и ДАТУ. 2. По таблице [приход_расход] формировать VIEW [Итоговая] ? или таблицу [Итоговая] ? Выделяя нужный месяц. 3. А если в эту таблицу [приход_расход] , вносят данные несколько лет, то для того чтобы подсчитать Нач. остаток за текущий месяц, необходимо перелопатить все таблицу до текущего месяца? 4. Или может завести еще одну таблицу, которая будет хранить в себе | Name | Нач. остаток | Приход | Расход | Конеч. остаток | за предыдущий день и имея по дневной отчет можно формировать [Итоговая] , а когда и как вычислить баланс предыдущего дня. 5. А если кто-то захочет изменить данные за предыдущий месяц: увеличит ПРИХОД на 100 единиц. Это же должно отразиться и в текущем месяце или блокировать такую возможность? Я запутался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 10:46 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
Храните насчитанные закрытые периоды и пересчитывайте открытый период. Определите дисциплину закрытия периодов и, как исключение, правки и пересчетов уже закрытых периодов. Пролема не в программировании, а в методологии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:07 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
1. Желательно. 2. Лучше грамотно настроить фильтры. 3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ? 4. Особо нет смысла 5. Должно отразиться. Открываем период, корректируем с проверками, закрываем. Вариантов много. Полностью запрещать глупо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:13 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительХраните насчитанные закрытые периоды и пересчитывайте открытый период. Определите дисциплину закрытия периодов и, как исключение, правки и пересчетов уже закрытых периодов. Проблема не в программировании, а в методологии. работаю в ORACLE. Под периодом можно подразумевать и год, и месяц и день. Определите дисциплину закрытия периодов Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:30 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
LSV 3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?. около 50 000 в год ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 11:34 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
terra_nova2 Определите дисциплину закрытия периодов Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ? Закрывать периоды таки лучше вручную, иначе будет сильно влиять человеческий фактор. Кто-то чего-то забыл вчера внести или просто заболел, а сегодня пришел - период уже закрыт, нужно предпринимать доп. шаги по "раскрытию-закрытию". А так перед закрытием человек лишний раз проверит, все ли данные на месте. Да и период - "день" как-то маловат, если у тебя не банк :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:09 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
terra_nova2Как это реализовать? Делаем таблицу [приход_расход] , а также таблицу [остатки_период] . В остатках храним остаток на определенный момент (начало месяца, начало недели,...). Для расчета остатка на нужный период выбираем остаток на предыдущий и плюсуем-минусуем значения [приход_расход] до нужного нам периода. При изменении в закрытом периоде - пересчитываем все остатки последующих периодов. Можно как вариант повесить триггер с проверкой периода и выполнением нужной процедуры если период уже закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:44 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
terra_nova2Я запутался Самое простое - хранить текущий остаток и от него плясать в прошлое. При разумных объемах работает быстро. Отчетность как правило за месяц делается. А годовую можно и подождать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:55 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
Злой Бобрterra_nova2Как это реализовать? Делаем таблицу [приход_расход] , а также таблицу [остатки_период] . В остатках храним остаток на определенный момент (начало месяца, начало недели,...). Для расчета остатка на нужный период выбираем остаток на предыдущий и плюсуем-минусуем значения [приход_расход] до нужного нам периода. При изменении в закрытом периоде - пересчитываем все остатки последующих периодов. Можно как вариант повесить триггер с проверкой периода и выполнением нужной процедуры если период уже закрыт. Спасибо сейчас проработаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 12:56 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
terra_nova2LSV 3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?.около 50 000 в годЭто смех. Даже не о чем говорить. Хорошо работает, даже когда 20млн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 16:40 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
tru55terra_nova2 Определите дисциплину закрытия периодов Это должно происходить в ручном или автоматическом режиме. А как в автоматичсеком ? Закрывать периоды таки лучше вручную, иначе будет сильно влиять человеческий фактор. Кто-то чего-то забыл вчера внести или просто заболел, а сегодня пришел - период уже закрыт, нужно предпринимать доп. шаги по "раскрытию-закрытию". А так перед закрытием человек лишний раз проверит, все ли данные на месте. Да и период - "день" как-то маловат, если у тебя не банк :)) Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 17:22 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
LSVterra_nova2LSV 3. Да. Пусть это не пугает. Сколько у Вас строк движения ? Сколько товаров будет участвовать в выборке ?.около 50 000 в годЭто смех. Даже не о чем говорить. Хорошо работает, даже когда 20млн. Это я и хотел услышать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2010, 17:23 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
terra_nova2 Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор. Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 10:57 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
tru55terra_nova2 Наверное: Закрывать периоды таки лучше АВТОМАТИЧЕСКИ , иначе будет сильно влиять человеческий фактор. Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом. Спасибо, Я правильно понимаю: ПРИМЕР: сейчас 4 октября, и сентябрь еще открыт. 1. Тогда текущий баланс выводится за (1-31) сентября + (1-4) октября. 2. Пусть 5 октября выполняется закрытие сентября: тогда текущий баланс выводится за (1-4) октября с учетом закрытых предыдущих месяцев Т.е. ничего сложного нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 12:04 |
|
||
|
как реализовать такой проектик?
|
|||
|---|---|---|---|
|
#18+
tru55Непосредственно закрытие естественно производит некая процедура, но решение о ее запуске должен принимать человек. Т.е. она не должна запускаться по некоему расписанию автоматом . Бред. Не путайте управленческий учет с работой БД. Каждого первого числа когда нет народу в системе нужно формировать остатки периода (если период выбран месяц). А все последующие исправления должны перехватываться триггером и менять сформированный остаток. Если период закрыт, то триггер должен откатить изменение и плюнуть в юзера сообщением, пусть идет к людям которые отвечают за закрытый период и объясняет почему ему хочется там что-то менять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2010, 16:18 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36712992&tid=1542638]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 479ms |

| 0 / 0 |
