|
|
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте! Я сейчас программирую учет на складе. Требование - ежедневное получение остатков,т.е текущее состояние на складе количества готовой продукции. У меня одна таблица -склады (справочник) 2-я движение товара.Структра ее: TOVAR_ID INTEGER NOT NULL, POLKA CHAR(7), NAME_TOVAR VARCHAR(30), MARKA VARCHAR(20), KOL_SKLAD INTEGER, ED_IZM CHAR(5), PRIXOD INTEGER, RASXOD INTEGER, DATA_PR DATE, DATA_RASX DATE, KATEGORIA CHAR(1), PRIMECANIE VARCHAR(20) ); KOL_TEK INTEGER Остатки инвентаризации я первый раз ввожу в kol__sklad.Все движение в этой таблице. Но при расчете текущего состояния склада на каждый день я использую view по табл.движение и считаю тек.количество(kol_sklad+prixod-rasxod). Но при этом зачение поля KOL_SKLAD должно динамически меняться на kol_tek(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 12:07 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
как у тебя меняется значение kol_tek (Остатки инвентаризации) из таблицы склады, ручками? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 08:07 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
Предварительно kol_sklad вводится ручками( начальные остатки на складе). Затем корректируются prixod ,rasxod. И при этом должно меняться kol_sklad и после Update это значение становится текущим количеством для для конкретно выбранной записи из Tovary и так для любой операции приход-расход - пересчет по одной записи, которая корректировалясь приходом или расходом. Наваял Storproc. ПРоцедура вроде работает при теcтировании. B приложении присваиваю параметрам значения через ParamByName(...).value:=Tovar.FieldByNAme(tovar_id).values;(*) Второй параметр в процедуре могу присвоить такой же операцией(*) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 10:36 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
OvvПредварительно kol_sklad вводится ручками( начальные остатки на складе). Затем корректируются prixod ,rasxod. И при этом должно меняться kol_sklad и после Update это значение становится текущим количеством для для конкретно выбранной записи из Tovary и так для любой операции приход-расход - пересчет по одной записи, которая корректировалясь приходом или расходом. Наваял Storproc. ПРоцедура вроде работает при теcтировании. B приложении присваиваю параметрам значения через ParamByName(...).value:=Tovar.FieldByNAme(tovar_id).values;(*) Второй параметр в процедуре могу присвоить такой же операцией(*) ? begin select kol_sklad,prixod,rasxod from tovar where marka=:in_marka and tovar_id=:in_tovar_id into:i_koltek,i_prixod,i_rasxod; out_kols=i_koltek+i_prixod-i_rasxod; update tovar set KOL_SKLAD=:out_kols where MARKA=:in_marka AND TOVAR_ID=:in_tovar_id; /* Procedure Text */ suspend; end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2007, 10:39 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
Процедура работает. С двумя параметрами. Может можно как-то оптимизировать процедуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 12:30 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
OvvВсем здравствуйте! Я сейчас программирую учет на складе. Требование - ежедневное получение остатков,т.е текущее состояние на складе количества готовой продукции. У меня одна таблица -склады (справочник) 2-я движение товара.Структра ее: TOVAR_ID INTEGER NOT NULL, POLKA CHAR(7), NAME_TOVAR VARCHAR(30), MARKA VARCHAR(20), KOL_SKLAD INTEGER, ED_IZM CHAR(5), PRIXOD INTEGER, RASXOD INTEGER, DATA_PR DATE, DATA_RASX DATE, KATEGORIA CHAR(1), PRIMECANIE VARCHAR(20) ); KOL_TEK INTEGER Остатки инвентаризации я первый раз ввожу в kol__sklad.Все движение в этой таблице. Но при расчете текущего состояния склада на каждый день я использую view по табл.движение и считаю тек.количество(kol_sklad+prixod-rasxod). Но при этом зачение поля KOL_SKLAD должно динамически меняться на kol_tek(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет. Решение в корне неверное (если рассматривать имеено как оперативный учет). Должны быть следующие таблицы: 1. Остатки по инвентаризации (ID товара, ID склада, количество, дата инвентаризации) 2. Движение товара по складу (ID товара, ID склада, количество, тип операции (приход или расход), дата движения) 3. Оперативные остатки (id товара, id склада, остаток на складе) при этом: остаток на складе=количество инвентарное+приход-расход Почему надо отталкиваться от инвентарного количества? Есть такое понятие как "усушка и утруска", оно обозначает потери при хранении при нормальных условиях хранения (человеческий фактор не учитывается). Например, некоторые химикаты испаряют влагу и их вес уменьшается, другие химикаты впитывают влагу и их вес увеличивается. При инвентаризации устанавливают потери/избыток при хранении и вводят соответствующую запись в движение. Для динамического изменения можно повесить на таблицу движения товара триггер, который бы автоматически менял оперативные остатки на складе (например, через вызов некой хранимой процедуры). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2007, 15:01 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
OvvВсем здравствуйте! Я сейчас программирую учет на складе. Требование - ежедневное получение остатков,т.е текущее состояние на складе количества готовой продукции. У меня одна таблица -склады (справочник) 2-я движение товара.Структра ее: TOVAR_ID INTEGER NOT NULL, POLKA CHAR(7), NAME_TOVAR VARCHAR(30), MARKA VARCHAR(20), KOL_SKLAD INTEGER, ED_IZM CHAR(5), PRIXOD INTEGER, RASXOD INTEGER, DATA_PR DATE, DATA_RASX DATE, KATEGORIA CHAR(1), PRIMECANIE VARCHAR(20) ); KOL_TEK INTEGER Остатки инвентаризации я первый раз ввожу в kol__sklad.Все движение в этой таблице. Но при расчете текущего состояния склада на каждый день я использую view по табл.движение и считаю тек.количество(kol_sklad+prixod-rasxod). Но при этом зачение поля KOL_SKLAD должно динамически меняться на kol_tek(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет. тут явно одной табличкой движения не обойтись. ещё должна быть как минимум одна табличка, которая показывает текущие остатки на складах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 17:36 |
|
||
|
Запрос для изменение текущего количества
|
|||
|---|---|---|---|
|
#18+
Станислав С OvvВсем здравствуйте! Я сейчас программирую учет на складе. Требование - ежедневное получение остатков,т.е текущее состояние на складе количества готовой продукции. У меня одна таблица -склады (справочник) 2-я движение товара.Структра ее: TOVAR_ID INTEGER NOT NULL, POLKA CHAR(7), NAME_TOVAR VARCHAR(30), MARKA VARCHAR(20), KOL_SKLAD INTEGER, ED_IZM CHAR(5), PRIXOD INTEGER, RASXOD INTEGER, DATA_PR DATE, DATA_RASX DATE, KATEGORIA CHAR(1), PRIMECANIE VARCHAR(20) Kol_tek Integer ); KOL_TEK INTEGER Остатки инвентаризации я первый раз ввожу в kol__sklad.Все движение в этой таблице. Но при расчете текущего состояния склада на каждый день я использую view по табл.движение и считаю тек.количество(kol_sklad+prixod-rasxod). Но при этом зачение поля KOL_SKLAD должно динамически меняться на kol_tek(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет. Решение в корне неверное (если рассматривать имеено как оперативный учет). Должны быть следующие таблицы: 1. Остатки по инвентаризации (ID товара, ID склада, количество, дата инвентаризации) 2. Движение товара по складу (ID товара, ID склада, количество, тип операции (приход или расход), дата движения) 3. Оперативные остатки (id товара, id склада, остаток на складе) при этом: остаток на складе=количество инвентарное+приход-расход Почему надо отталкиваться от инвентарного количества? Есть такое понятие как "усушка и утруска", оно обозначает потери при хранении при нормальных условиях хранения (человеческий фактор не учитывается). Например, некоторые химикаты испаряют влагу и их вес уменьшается, другие химикаты впитывают влагу и их вес увеличивается. При инвентаризации устанавливают потери/избыток при хранении и вводят соответствующую запись в движение. Для динамического изменения можно повесить на таблицу движения товара триггер, который бы автоматически менял оперативные остатки на складе (например, через вызов некой хранимой процедуры). "3."У меня в этой таблице движения добавлеено поле KOl_tek. Текущее количество по складу считаю по: kol_tek=количество инвентарное+приход-расход; StoredProc выполняется по кнопке -Примвоение парам:IdTovar,:IDSklad и в Proc.выполняется Update KOl_tek при любом приходе или расходе по товару. По поводу 1...3 буду смотреть как сделать в моей структуре. ПО триггеру- подскажите ,как лучще сделать - по изменению прихода или расхода или по любой операции? Если можно-примерчик? Pls. И что делать в случае KOl_tek-0. У меня сей час просто присаивается по If kol_tek<>0 then begin..Update...end else Update Tov set kol_tek=0; и далее пересчет не делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2007, 23:03 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=122&tid=1544611]: |
0ms |
get settings: |
10ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 384ms |

| 0 / 0 |
