Skip to content
This repository was archived by the owner on Apr 22, 2023. It is now read-only.

Commit a2684e5

Browse files
Merge branch 'master' into 0.7.x
2 parents a93d230 + 5895412 commit a2684e5

File tree

7 files changed

+63
-0
lines changed

7 files changed

+63
-0
lines changed
237 KB
Loading
255 KB
Loading
96.4 KB
Loading

docs/extend/plugins.md

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Supported mixin classes are:
6161
- [BarcodeMixin](./plugins/barcode.md)
6262
- [EventMixin](./plugins/event.md)
6363
- [LabelPrintingMixin](./plugins/label.md)
64+
- [LocateMixin](./plugins/locate.md)
6465
- [NavigationMixin](./plugins/navigation.md)
6566
- [PanelMixin](./plugins/panel.md)
6667
- [ScheduleMixin](./plugins/schedule.md)

docs/extend/plugins/locate.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: Locate Mixin
3+
---
4+
5+
## LocateMixin
6+
7+
The `LocateMixin` class enables plugins to "locate" stock items (or stock locations) via an entirely custom method.
8+
9+
For example, a warehouse could be arranged with each individual 'parts bin' having an audio-visual indicator (e.g. RGB LED and buzzer). "Locating" a particular stock item causes the LED to flash and the buzzer to sound.
10+
11+
Another example might be a parts retrieval system, where "locating" a stock item causes the stock item to be "delivered" to the user via a conveyor.
12+
13+
The possibilities are endless!
14+
15+
### Web Integration
16+
17+
{% with id="web_locate", url="plugin/web_locate.png", description="Locate stock item from web interface", maxheight="400px" %}
18+
{% include 'img.html' %}
19+
{% endwith %}
20+
21+
### App Integration
22+
23+
If a locate plugin is installed and activated, the [InvenTree mobile app](../../app/app.md) displays a button for locating a StockItem or StockLocation (see below):
24+
25+
{% with id="app_locate", url="plugin/app_locate.png", description="Locate stock item from app", maxheight="400px" %}
26+
{% include 'img.html' %}
27+
{% endwith %}
28+
29+
### Implementation
30+
31+
Refer to the [InvenTree source code](https://github.com/inventree/InvenTree/blob/master/InvenTree/plugin/samples/locate/locate_sample.py) for a simple implementation example.

docs/part/views.md

+30
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,36 @@ This tab is only displayed if the part is marked as *Purchaseable*.
122122

123123
The *Sales Orders* tab shows a list of the sales orders for this part. It provides a view for important sales order information like customer, status, creation and shipment dates.
124124

125+
### Scheduling
126+
127+
The *Scheduling* tab provides an overview of the *predicted* future availabile quantity of a particular part.
128+
129+
The *Scheduling* tab displays a chart of estimated future part stock levels. It begins at the current date, with the current stock level. It then projects into the "future", taking information from:
130+
131+
#### Incoming Stock
132+
133+
- **Purchase Orders** - Incoming goods will increase stock levels
134+
- **Build Orders** - Completed build outputs will increase stock levels
135+
136+
#### Outgoing Stock
137+
138+
- **Sales Orders** - Outgoing stock items will reduce stock levels
139+
- **Build Orders** - Allocated stock items will reduce stock levels
140+
141+
#### Caveats
142+
143+
The scheduling information only works as an adequate predictor of future stock quantity if there is sufficient information available in the database.
144+
145+
In particular, stock movements due to orders (Purchase Orders / Sales Orders / Build Orders) will only be counted in the scheduling *if a target date is set for the order*. If the order does not have a target date set, we cannot know *when* (in the future) the stock levels will be adjusted. Thus, orders without target date information do not contribute to the scheduling information.
146+
147+
Additionally, any orders with a target date in the "past" are also ignored for the purpose of part scheduling.
148+
149+
Finally, any unexpected or unscheduled stock operations which are not associated with future orders cannot be predicted or displayed in the scheduling tab.
150+
151+
{% with id="scheduling", url="part/scheduling.png", description="Part Scheduling View" %}
152+
{% include 'img.html' %}
153+
{% endwith %}
154+
125155
### Tests
126156

127157
If a part is marked as *trackable*, the user can define tests which must be performed on any stock items which are instances of this part. [Read more about testing](./test.md).

mkdocs.yml

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ nav:
129129
- Barcode Mixin: extend/plugins/barcode.md
130130
- Event Mixin: extend/plugins/event.md
131131
- Label Printing Mixin: extend/plugins/label.md
132+
- Locate Mixin: extend/plugins/locate.md
132133
- Navigation Mixin: extend/plugins/navigation.md
133134
- Panel Mixin: extend/plugins/panel.md
134135
- Schedule Mixin: extend/plugins/schedule.md

0 commit comments

Comments
 (0)