Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Запрос для изменение текущего количества / 8 сообщений из 8, страница 1 из 1
01.04.2007, 12:07
    #34429658
Ovv
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(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет.
...
Рейтинг: 0 / 0
02.04.2007, 08:07
    #34430293
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
как у тебя меняется значение kol_tek (Остатки инвентаризации) из таблицы склады, ручками?
...
Рейтинг: 0 / 0
02.04.2007, 10:36
    #34430563
Ovv
Ovv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
Предварительно kol_sklad вводится ручками( начальные остатки на складе). Затем корректируются
prixod ,rasxod. И при этом должно меняться kol_sklad и после Update это значение становится текущим количеством для для конкретно выбранной записи из Tovary и так для любой операции приход-расход - пересчет по одной записи, которая корректировалясь приходом или расходом.
Наваял Storproc. ПРоцедура вроде работает при теcтировании. B приложении присваиваю параметрам значения через ParamByName(...).value:=Tovar.FieldByNAme(tovar_id).values;(*)
Второй параметр в процедуре могу присвоить такой же операцией(*) ?
...
Рейтинг: 0 / 0
02.04.2007, 10:39
    #34430568
Ovv
Ovv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
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
...
Рейтинг: 0 / 0
09.04.2007, 12:30
    #34447034
Ovv
Ovv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
Процедура работает. С двумя параметрами. Может можно как-то оптимизировать процедуру?
...
Рейтинг: 0 / 0
09.04.2007, 15:01
    #34447529
Запрос для изменение текущего количества
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 склада, остаток на складе)
при этом:
остаток на складе=количество инвентарное+приход-расход

Почему надо отталкиваться от инвентарного количества? Есть такое понятие как "усушка и утруска", оно обозначает потери при хранении при нормальных условиях хранения (человеческий фактор не учитывается). Например, некоторые химикаты испаряют влагу и их вес уменьшается, другие химикаты впитывают влагу и их вес увеличивается. При инвентаризации устанавливают потери/избыток при хранении и вводят соответствующую запись в движение.

Для динамического изменения можно повесить на таблицу движения товара триггер, который бы автоматически менял оперативные остатки на складе (например, через вызов некой хранимой процедуры).
...
Рейтинг: 0 / 0
10.04.2007, 17:36
    #34450773
Melani
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
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(текущее состояние склада ежедневно). Решить таким методом у меня не получается. Подскажите пож.,как можно решить данную задачу. Отдельно приход- расход -пока нет.

тут явно одной табличкой движения не обойтись. ещё должна быть как минимум одна табличка, которая показывает текущие остатки на складах.
...
Рейтинг: 0 / 0
12.04.2007, 23:03
    #34457774
Ovv
Ovv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для изменение текущего количества
Станислав С 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; и далее пересчет не делается.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Запрос для изменение текущего количества / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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