Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Учет товаров на складе  [new]
пипидастра
Guest
Добрый день, немогу решить одну задачку по учету товаров на складе

Умееем 2-ве таблицы

operation_book - перечень всех накладных
operation_item_book - товары накладной

Структура таблиц(основные полы)

operation_book

id - id таблицы
date|time дата, время создания накладной
storage - склад
и прочие


operation_item_book

id - id талицы
item_id - id товара(связь со справочниками товаров)
description - название товара
amount - количество на складе

после выполнения запросика

select item.description,item.item_id,convert(varchar, operation.operation_date, 102) +' '+ convert(varchar, operation.operation_time, 8),
     item.amount 
from operation_item_book item 
     join
     operation_book operation on 
item.operation_id = operation.operation_id 
and operation.storage ='Склад1'
order by item.item_id

имеем такой результат

descriptionitem_iddatetimeamount
Вино"Сидр"1092009.12.02 11:37:0010
Вино"Сидр"1092009.10.02 12:17:003
суп "Уха"1102009.12.02 11:37:001
суп "Уха"1102009.12.01 15:26:501
Суп "гороховый"1112009.12.01 11:37:002


Вопрос

Со склада списали, два СИДР в количестве 6 штук и данные в таблице должны быть такими

descriptionitem_iddatetimeamount
Вино"Сидр"1092009.12.02 11:37:007
Вино"Сидр"1092009.10.02 12:17:000 - или без этой строчи
суп "Уха" 1102009.12.02 11:37:001
.
.
.


Тоесть смысл такой.
Изменяется количество товара, в первую очередь товара "старого по дате"
Изменение может быть в сторону увелечения и уменьшения количества

Спасибо
Буду рад выслущать любые идеи ))
5 дек 09, 12:08    [8023819]     Ответить | Цитировать Сообщить модератору
 Re: Учет товаров на складе  [new]
Taffy
Member

Откуда:
Сообщений: 20498
угу, а "списали" как у вас в таблице отражается?
То бишь - в том что вы привели нет ни прихода, ни расхода - поэтому как писать скрипт подсчета остатков, да еще с учетом дат прихода - не понятно
5 дек 09, 14:52    [8024046]     Ответить | Цитировать Сообщить модератору
 Re: Учет товаров на складе  [new]
пипидастра
Guest
Забыл приписать, есть еще одна таблица.
Учет расходов по дате и складу

СкладПродуктДатаПриходРасход
Склад1Вино"Сидр" 109 2009.12.02 11:37:000 -6


Тут можно посмотреть, когда был расход или приход товара по дате и складу.

Потом (как я понимаю), изменяю количество товара.
Сначала изменяется "старый товар", а потом и все остальные.

Далее, смотрим сколько мы имеем товара на складе

select item.description,item.item_id, SUM(item.amount), item.price,item.units
        from [operation_item_book] item 
       join
        [operation_book] operation on item.operation_id = operation.operation_id
        where operation.storage = 'Склад1'
        GROUP BY item.description,item.item_id,item.price,item.units

и мы получаем таблицу

descriptionitem_idamountpriceunits
Вино"Сидр"109725литр



Основная проблема, это как сделать UPDATE таблицы, уменьшать количество товара сначала "старой даты" и если количество становиться равное 0....удалить эту строчку.
5 дек 09, 15:33    [8024085]     Ответить | Цитировать Сообщить модератору
 Re: Учет товаров на складе  [new]
Taffy
Member

Откуда:
Сообщений: 20498
https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=186254
5 дек 09, 18:07    [8024316]     Ответить | Цитировать Сообщить модератору
 Re: Учет товаров на складе  [new]
пипидастра
Guest
Taffy,

Спасибо, почитаю
5 дек 09, 19:00    [8024382]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить