powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Запрос для изменение текущего количества
8 сообщений из 8, страница 1 из 1
Запрос для изменение текущего количества
    #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
Запрос для изменение текущего количества
    #34430293
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как у тебя меняется значение kol_tek (Остатки инвентаризации) из таблицы склады, ручками?
...
Рейтинг: 0 / 0
Запрос для изменение текущего количества
    #34430563
Ovv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ovv
Гость
Предварительно kol_sklad вводится ручками( начальные остатки на складе). Затем корректируются
prixod ,rasxod. И при этом должно меняться kol_sklad и после Update это значение становится текущим количеством для для конкретно выбранной записи из Tovary и так для любой операции приход-расход - пересчет по одной записи, которая корректировалясь приходом или расходом.
Наваял Storproc. ПРоцедура вроде работает при теcтировании. B приложении присваиваю параметрам значения через ParamByName(...).value:=Tovar.FieldByNAme(tovar_id).values;(*)
Второй параметр в процедуре могу присвоить такой же операцией(*) ?
...
Рейтинг: 0 / 0
Запрос для изменение текущего количества
    #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
Запрос для изменение текущего количества
    #34447034
Ovv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ovv
Гость
Процедура работает. С двумя параметрами. Может можно как-то оптимизировать процедуру?
...
Рейтинг: 0 / 0
Запрос для изменение текущего количества
    #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
Запрос для изменение текущего количества
    #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
Запрос для изменение текущего количества
    #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]