|
|
|
| У меня учет товара сдаваемого в аренду.
Один и тот же товар периодически приходит и уходит с разных складов, т.е. может быть сдан на одном складе, а возвращен на другой склад.
Сейчас мой учет построен в одной таблице, в которой учитывается приход/уход товара по складам.
Получается, что на один товар – много записей по приходу/уходу на разных складах.
Я совершенно не понимаю, как в запросе или форме отобразить – какой товар, где сейчас находиться.
Может нужно принципиально изменить схему учета? | |
|
| |
|
|
|
| навскидку:
к таблице "Товар" добавить еще таблицу "Движение товара" с полями:
- ID товара;
- ID склада, где он находиться;
- Статус товара ("на складе", "сдан в аренду", "в ремонте", "неизвестен", и проч.);
- Дата сдачи товара в аренду;
- Дата планируемого возвращения товара на склад;
- ID склада, куда планируется вернуть товар;
ну и проч. | |
|
| |
|
|
|
| Это не решает задачи, т.к. в одной таблице все равно собирается несколько записей с одним названием товара, разными статусами товара и разными складами.
Из этого все равно не получается создать запрос с одним названием товара и последним его местом нахождения. | |
|
| |
|
|
|
| А для какого интересу, как думаете, ДрЮня предложил ввести атрибут "- Дата сдачи товара в аренду"? | |
|
| |
|
|
|
| Предположим, но... в запросе получится вот что:
один и тот же товар за год много раз приходит на разные склады.
Т.е. по одному товару будет несколько записей с разными датами.
Как в запросе выбрать запись с последней датой прихода по конкретному товару? | |
|
| |
|
|
|
| Создашь групповой запрос по последней дате и дело в шляпе. Запускать будешь нажатием кнопки. Товар в одной табле, а его движение в подчиненных. Собственно со структуры начинать надо.
В Борее очень похожее есть. | |
|
| |
|
|
|
|
Создашь групповой запрос по последней дате
|
А как это сделать?
/я очень зеленый в SQL/ | |
|
| |
|
|
|
| Для начала откройте конструктор запросов... далее по обстановке ;-) (могу дать наводку: жмите чаще F1, не стесняйтесь) | |
|
| |
|
|
|
|
Вот она помощь профессионалов! | |
|
| |
|
|
|
| Я не профессиронал, а просто любитель поболтать немного на форуме. Может за Вас и напишут запрос на другом форуме, но легче Вам от этого не станет, когда интернет неожиданно кончится (тьфу, тьфу, тьфу), а начальство попросит срочно (!) подготовить отчёт ;-) | |
|
| |
|
|
|
| IMHO, с таким подходом вы рискуете совсем не получить никакой помощи.
Если вы приедете в автосервис и скажите "Хочу сам поменять прокладку блока цилиндров. Помогите мне снять мне двигатель и головку блока, ну а дальше я сам". Как думаете что вам скажут?
Как выходите учитывать движение не создавая запись для каждого перемещения?
Я бы предложил сделать немного не так как предложено, сделать таблицу с типами операции и таблицу с перемещениями.
Типы операций
ID
Название (возврат, выдача, перемещение...)
Направление (приход, расход)
|
Перемещения
ID
Дата
Тип операции
код товара
Склад
|
Все остальные поля (срок выдачи, кому выдано и т.д.) в отдельную таблицу со ссылкой на таблицу с движениями.
Любое движение заносится в эту таблицу
Для получения текущего состояния есть "дата операции"
Отобрав самую новую, по дате, запись для товара, вы увидите выдан он или вернулся и на каком складе | |
|
| |
|
|
|
|
Отобрав самую новую, по дате, запись для товара, вы увидите выдан он или вернулся и на каком складе
|
Я это уже пробовал, возможно не тем методом.
Я делаю группировку по максимальному значению даты для группы товара. В таком запросе я могу получить только два столбца - дата и товар, как только я добавляю другое поле (например "склад"), группировка сразу же добавляет записи по этим складам (товар приходил/уходил ранее по разным складам). В результате - в запросе один и тот же товар повторяется. | |
|
| |
|
|
|
| сделайте отдельный запрос возвращающий только ID последнего перемещения для товара, и используйте его в других запросах подключая нужные поля | |
|
| |
|
|
|
| Это не решает задачу, т.к. я не могу получить один список со всеми данными (товар, склад).
Подчиненная форма к "товару" это не подходящее решение. | |
|
| |
|
|
|
|
навскидку:
к таблице "Товар" добавить еще таблицу "Движение товара" с полями:
- ID товара;
- ID склада, где он находиться;
- Статус товара ("на складе", "сдан в аренду", "в ремонте", "неизвестен", и проч.);
- Дата сдачи товара в аренду;
- Дата планируемого возвращения товара на склад;
- ID склада, куда планируется вернуть товар;
ну и проч
|
Если можн - мне на мыло такую табличку.......
Потому как и проч....
это мне ещё не известно | |
|
| |
|
|
|
| если я понял правильно - учет товара должен вестись партиями - для возможности отследить перемещение конктерного ТМЦ, для этого в таблу Товары вносится поле ID_Получение, Которое хранит № партии, т.е. ID первого попадания данной партии на склад. и по нему производим учет который нам нужен - где конкретно и сколько находится. | |
|
| |
|
|
|
| Как я понял, в данном случае товар штучный ;-) | |
|
| |
|
|
|
| а какие проблемы с расфасовкой?
при приеме товара указывается - в каких единицах
колбаса, мсяо... все просто | |
|
| |
|
|
|
| а какая разница - ведь на складе м/б несколько одинаковых ТМЦ, и контроль нужен за конкретным, хорошо если серийник есть а если нет. вот и должен лепиться хоть какой ярлык и по нему все отслеживается. | |
|
| |
|
|
|
| шо удалось вспомнить
таблица(справочник) Товаров (tbGoods)
таблица Поставок товара (tbDelivery)
таблица Движений товара (tbMov)
таблица Документов (tbDoc)
таблица Остатков на сейчас (tbSklad)
При поступлении товара (tbDocType - приходный документ) на склад (tbSklad) создаются записи в таблице tbDelivery и партии поставки присваивается уникальный ключ deliveryID и goodsID
в таблице tbMov фиксируется движение товара idFrom, idTo <- контрагенты (Откуда, Куда) из справочника контрагентов. понятно, что м.б. как внешним контрагентом, так внутренним подразделением
в таблице tbDoc - хранятся т.н. "шапки документов" с доп параметрами - типа документа, расчитаными полями по накладной, аналитические счета и др...
в таблице tbSklad фиксируется остаток по поставке и товару на внутренних подразделениях или внешних, в случае, если это товар "на комиссию" и, соответственно, уменьшается или увеличивается в зависимости от движения (приход или расход)
в общих чертах.... | |
|
| |