Revision 5074cc50
Von Moritz Bunkus vor etwa 13 Jahren hinzugefügt
SL/IR.pm | ||
---|---|---|
106 | 106 |
if ( $::instance_conf->get_inventory_system eq 'periodic') { |
107 | 107 |
# inventory account number is overwritten with expense account number, so |
108 | 108 |
# never book incoming to inventory account but always to expense account |
109 |
$form->{"inventory_accno_$i"} = $form->{"expense_accno_$i"}
|
|
109 |
$form->{"inventory_accno_$i"} = $form->{"expense_accno_$i"} |
|
110 | 110 |
}; |
111 | 111 |
|
112 | 112 |
# get item baseunit |
... | ... | |
226 | 226 |
# ORDER BY transdate guarantees FIFO |
227 | 227 |
|
228 | 228 |
# sold two items without having bought them yet, example result of query: |
229 |
# id | qty | allocated | trans_id | inventory_accno_id | expense_accno_id | transdate
|
|
229 |
# id | qty | allocated | trans_id | inventory_accno_id | expense_accno_id | transdate |
|
230 | 230 |
# ---+-----+-----------+----------+--------------------+------------------+------------ |
231 | 231 |
# 9 | 2 | 0 | 9 | 15 | 151 | 2011-01-05 |
232 | 232 |
|
233 | 233 |
# base_qty + allocated > 0 if article has already been sold but not bought yet |
234 | 234 |
|
235 | 235 |
# select qty,allocated,base_qty,sellprice from invoice where trans_id = 9; |
236 |
# qty | allocated | base_qty | sellprice
|
|
236 |
# qty | allocated | base_qty | sellprice |
|
237 | 237 |
# -----+-----------+----------+------------ |
238 | 238 |
# 2 | 0 | 2 | 1000.00000 |
239 | 239 |
|
... | ... | |
1093 | 1093 |
push @values, $form->{"partnumber_$i"}; |
1094 | 1094 |
} |
1095 | 1095 |
|
1096 |
# Search for part ID overrides all other criteria. |
|
1096 | 1097 |
if ($form->{"id_${i}"}) { |
1097 |
$where .= qq| AND p.id = ?|;
|
|
1098 |
push @values, $form->{"id_${i}"};
|
|
1098 |
$where = qq|p.id = ?|;
|
|
1099 |
@values = ($form->{"id_${i}"});
|
|
1099 | 1100 |
} |
1100 | 1101 |
|
1101 | 1102 |
if ($form->{"description_$i"}) { |
Auch abrufbar als: Unified diff
Artikelauswahl gefixt: das Ausgewählte nehmen, nicht den ersten Treffer
Hintergrund: Suche in SL/IS.pm hat (sehr außergewöhnlich) ein
Suchkriterium nach EAN mit "OR" verknüpft. Dadurch, dass die Suche
nach ID schlicht ans Ende mit "AND" gestellt wurde, ergab sich grob
"(NOT OBSOLETE) OR (ean = ? AND id = ?)", wodurch wieder mehr als ein
Treffer gefunden wurde.
Bug wurde in Revision cb253140 eingebaut.