Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

Проблема с записями...   Найти похожие ветки 

 
softmaster ©   (2003-03-25 18:26) [0]

Народ, всем привет!
Подскажите- подхватил проект, и начинаются траблы
Суть - есть таблица SALES-фиксирует документы на продажу
товара со склада.
Подчинена ей табл. SALITEMS-фиксирует, какие товары на
какой документ ушли.
Проблема- открываю SALES EDITом, правлю, затем POST
c присвоением статуса ОПЛАЧЕНО.
после этого у меня в базе хранимая пройцедура
списывает количество товара , соответствующее
в SALITEMS<==>SALES.

Проблема в том, что процедура списывает в ДВА раза
большее кол-во товара, чем забито в таблице.
В чем может быть дело?...


 
Speaker ©   (2003-03-25 18:27) [1]



 
MsGuns ©   (2003-03-25 20:51) [2]

Во-первых, ошибка в самой процедуре (она должна сначала возвращать на склад (OLDValue), а затем снимать (NEWValue).
Во-вторых, проверь триггера
Ну и посмотри, конечно, код проги.

Но главная ошибка - гуля в алгоритме процы.


 
softmaster ©   (2003-03-26 07:32) [3]

Да нет, самый прикол, что после перезагрузки проги и вычисления остатков- все становится на свои места- в чем может быть еще дело?


 
Sergey13 ©   (2003-03-26 08:58) [4]

Это явно чеченский след. Ошибок может быть две:
1. в D5
2. В IB5.х
Но автор обеих - ты.
8-)


 
Mike_Goblin ©   (2003-03-26 09:18) [5]

Приведи код хранимой процедуры, а то штатные телепаты в отпуске :))


 
softmaster ©   (2003-03-28 13:05) [6]

Вот код процедуры


CREATE PROCEDURE OBOROT_WED (
DAY DATE,
DAY_NACH DATE)
RETURNS (
CODE VARCHAR(40),
NAME VARCHAR(50),
KOLWO_PRIHOD_OST INTEGER,
KOLWO_RASHOD_OST INTEGER,
OSTATOK_OST INTEGER,
KOLWO_PRIHOD INTEGER,
KOLWO_RASHOD INTEGER,
OSTATOK INTEGER)
AS

begin
for select Code, Name from Units
into :Code, :Name
do
begin
kolwo_Prihod=null;
kolwo_Rashod = null;
kolwo_Prihod_ost=null;
kolwo_Rashod_ost = null;

select sum (SI.UnitCount) from SalItems SI, Sales S
where SI.UnitCode = :Code and SI.SalDocNum = S.DocNum and S.Dat_ <= :day
and
((S.Stat="Оплачено") or (S.Stat="Возврат"))
into :kolwo_Rashod_ost;
if (kolwo_Rashod_ost is null) then Kolwo_Rashod_ost = 0;

select sum (UI.UnitCount) from upitems UI, updates U
where UI.UnitCode = :Code and UI.UpDocNum = U.DocNum and U.Dat_ <= :day
and U.Stat="Оприходовано"
into :kolwo_Prihod_ost;
if (kolwo_Prihod_ost is null) then Kolwo_Prihod_ost = 0;

ostatok_ost = :Kolwo_Prihod_ost-:Kolwo_Rashod_ost;

select sum (SI.UnitCount) from SalItems SI, Sales S
where SI.UnitCode = :Code and SI.SalDocNum = S.DocNum and S.Dat_ between :day and :day_nach
and ((S.Stat="Оплачено") or (S.Stat="Возврат"))
into :kolwo_Rashod;
if (kolwo_Rashod is null) then Kolwo_Rashod = 0;

select sum (UI.UnitCount) from upitems UI, updates U
where UI.UnitCode = :Code and UI.UpDocNum = U.DocNum and U.Dat_ between :day and :day_nach
and U.Stat="Оприходовано"
into :kolwo_Prihod;
if (kolwo_Prihod is null) then Kolwo_Prihod = 0;

ostatok = :Kolwo_Prihod-:Kolwo_Rashod+:ostatok_ost;

update units
set units.Vsklad=:ostatok
where units.code = :code;


suspend;
end
end


 
softmaster ©   (2003-03-30 09:44) [7]

Вот код, что тут может быть не так?



Страницы: 1 вся ветка

Текущий архив: 2003.04.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
14-54803
Vvedensk
2003-03-30 08:19
2003.04.17
Как изменить сетевые настройки компа?


3-54402
Инна
2003-03-31 20:24
2003.04.17
несуществующие таблицы


1-54724
Max1111
2003-04-04 12:37
2003.04.17
Проблема с глобальным динамическим массивом2


14-54890
sashas
2003-04-02 12:45
2003.04.17
Компоненты...


1-54559
kingdom2000
2003-04-05 17:20
2003.04.17
русская орфография в RichEdit