FSN#47307 Bestellijst met aantal 0 aanbieden
svn path=/Website/trunk/; revision=36731
This commit is contained in:
@@ -156,11 +156,18 @@ model_bes_disc_params =
|
||||
"label": L("bes_discipline_remoteconfirm"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"freeartikel": {
|
||||
"dbs": "bes_disc_params_freeartikel",
|
||||
"label": L("bes_discipline_freeartikel"),
|
||||
"ordermode": {
|
||||
"dbs": "bes_disc_params_bestelmode",
|
||||
"label": L("bes_discipline_bestelmode"),
|
||||
"typ": "number",
|
||||
"LOV": L("bes_discipline_freeartikelLOV"),
|
||||
"LOV": L("bes_discipline_bestelmodeLOV"),
|
||||
"emptyoption": null
|
||||
},
|
||||
"photomode": {
|
||||
"dbs": "bes_disc_params_fotomode",
|
||||
"label": L("bes_discipline_fotomode"),
|
||||
"typ": "number",
|
||||
"LOV": L("bes_discipline_fotomodeLOV"),
|
||||
"emptyoption": null
|
||||
},
|
||||
"punchouturl": {
|
||||
|
||||
@@ -132,7 +132,8 @@
|
||||
+ " , bes_disc_params_maxartikel"
|
||||
+ " , bes_disc_params_kpautorisatie"
|
||||
+ " , bes_disc_params_for_others"
|
||||
+ " , bes_disc_params_freeartikel"
|
||||
+ " , bes_disc_params_bestelmode"
|
||||
+ " , bes_disc_params_fotomode"
|
||||
+ " FROM bes_discipline bd, bes_disc_params bdp"
|
||||
+ " WHERE bd.ins_discipline_key = " + disc_key
|
||||
+ " AND bdp.bes_ins_discipline_key = bd.ins_discipline_key";
|
||||
@@ -165,7 +166,9 @@
|
||||
maxartikel : oRs("bes_disc_params_maxartikel").Value? oRs("bes_disc_params_maxartikel").Value : -1,
|
||||
kpautorisatie : oRs("bes_disc_params_kpautorisatie").Value == 1,
|
||||
disc_params_for_others : oRs("bes_disc_params_for_others").Value == 1,
|
||||
isFreeArticle : oRs("bes_disc_params_freeartikel").Value == 1, // {0=ouderwets, 1=vrij artikelen, 2=met suggest voor bestaande (future)}
|
||||
bestelmode : oRs("bes_disc_params_bestelmode").Value, // 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst
|
||||
fotomode : oRs("bes_disc_params_fotomode").Value, // 0=ouderwets bij kiezen, 1=ook in bestellijst
|
||||
isFreeArticle : oRs("bes_disc_params_bestelmode").Value == 1,
|
||||
can_concept : oRs("bes_disc_params_herfiat").Value > 0 // 5.1.2 functionaliteit
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -1027,7 +1030,16 @@
|
||||
for (var i = 0; i < srtdeel_keys.length; i++)
|
||||
{
|
||||
if (itemaantal_arr[i] == 0) // Bij een bestel_lijst zijn er heel veel met aantal 0
|
||||
{
|
||||
ItemArray.push({ item_key : srtdeel_keys[i],
|
||||
aantal : itemaantal_arr[i],
|
||||
prijs : null,
|
||||
eenheid : null,
|
||||
staffelgroep: null
|
||||
});
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
sql = "SELECT sd.bes_staffeltabel_key staffelgroep"
|
||||
+ ", bst.bes_staffeltabel_naam staffelgroepnaam"
|
||||
|
||||
@@ -211,7 +211,9 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
var psrt_keys = getQParamIntArray("ps", []); // array met srtdeel_key's
|
||||
var pamounts = getQParamIntArray("pn", []); // array met aantallen
|
||||
|
||||
var auto_bestellijst = true; // TODO!!
|
||||
if (bes_key > 0 && bes_disc_info.bestelmode == 2) // Bij *wijzigen* altijd gewone interface
|
||||
bes_disc_info.bestelmode = 0;
|
||||
var auto_bestellijst = bes_disc_info.bestelmode == 2;
|
||||
|
||||
bes_bestelling.flex_defaults = {};
|
||||
var flex_defaults = getQParam("flex_defaults", "").split("&"); // flex_defaults=bestellingid=12345
|
||||
@@ -235,6 +237,8 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
var user_kpnaam = "<%=safe.jsstring(user.afdeling().kpn_naam())%>";
|
||||
var inclBTW = <%=bes_bestelling.inclBTW%> == 1;
|
||||
var maxartikel = <%=bes_disc_info.maxartikel%>;
|
||||
var fotomode = <%=bes_disc_info.fotomode%>;
|
||||
var bestelmode = <%=bes_disc_info.bestelmode%>;
|
||||
</script>
|
||||
<% if (bes_key > 0)
|
||||
{
|
||||
@@ -827,55 +831,58 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
}
|
||||
else // Gewoon artikel uit catalogus kiezen
|
||||
{
|
||||
FCLTartikelgroepselector("srtgroep",
|
||||
"sgSrtgroep",
|
||||
{ label: L("lcl_bes_srtgroup"),
|
||||
artikelgroepKey: bes_bestelling.srtgroep,
|
||||
disc_key: bes_bestelling.dis_key,
|
||||
onChange: bes_disc_info.isFreeArticle?null:"onChangeArtikelgroep",
|
||||
required: bes_disc_info.isFreeArticle,
|
||||
extraParamField: "singlegroep",
|
||||
extracode: "S",
|
||||
readonly: (bes_key > 0 && bes_bestelling.singlegroep)
|
||||
});
|
||||
|
||||
sql = " SELECT bs.bes_staffeltabel_key"
|
||||
+ ", bs.bes_staffeltabel_naam"
|
||||
+ " FROM bes_staffeltabel bs"
|
||||
+ " WHERE EXISTS (SELECT sd.bes_srtdeel_key"
|
||||
+ " FROM bes_v_aanwezigsrtgroep sg"
|
||||
+ ", bes_v_aanwezigsrtdeel sd"
|
||||
+ " WHERE sg.ins_discipline_key = " + bes_bestelling.dis_key
|
||||
+ " AND sg.bes_srtgroep_key = sd.bes_srtgroep_key"
|
||||
+ " AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key)"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
if (bes_disc_info.bestelmode == 0) // Gewone artikel selector
|
||||
{
|
||||
FCLTselector("staffelgroep", sql, // filter op suggest besitem
|
||||
{ label: L("lcl_bes_staffelgroep"),
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{ // Staffelgroep hidden weergeven met -1 als waarde (geen staffelgroep geselecteerd)
|
||||
%> <input type="hidden" id="staffelgroep" tabindex="-1" class="fldselect" value="-1">
|
||||
<% }
|
||||
oRs.Close();
|
||||
FCLTartikelgroepselector("srtgroep",
|
||||
"sgSrtgroep",
|
||||
{ label: L("lcl_bes_srtgroup"),
|
||||
artikelgroepKey: bes_bestelling.srtgroep,
|
||||
disc_key: bes_bestelling.dis_key,
|
||||
onChange: bes_disc_info.isFreeArticle?null:"onChangeArtikelgroep",
|
||||
required: bes_disc_info.isFreeArticle,
|
||||
extraParamField: "singlegroep",
|
||||
extracode: "S",
|
||||
readonly: (bes_key > 0 && bes_bestelling.singlegroep)
|
||||
});
|
||||
|
||||
FCLTbesitemselector("besitem",
|
||||
"sgBesItem",
|
||||
{ label: L("lcl_bes_srtdeel"),
|
||||
bessrtdeel_key: -1,
|
||||
disc_key: bes_bestelling.dis_key,
|
||||
readonly: !this_bes.canItemsChange,
|
||||
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
|
||||
{urlParam: "staffel_key", field: "staffelgroep"}],
|
||||
onChange: "load_item_info",
|
||||
favouritelist: true
|
||||
sql = " SELECT bs.bes_staffeltabel_key"
|
||||
+ ", bs.bes_staffeltabel_naam"
|
||||
+ " FROM bes_staffeltabel bs"
|
||||
+ " WHERE EXISTS (SELECT sd.bes_srtdeel_key"
|
||||
+ " FROM bes_v_aanwezigsrtgroep sg"
|
||||
+ ", bes_v_aanwezigsrtdeel sd"
|
||||
+ " WHERE sg.ins_discipline_key = " + bes_bestelling.dis_key
|
||||
+ " AND sg.bes_srtgroep_key = sd.bes_srtgroep_key"
|
||||
+ " AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key)"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
FCLTselector("staffelgroep", sql, // filter op suggest besitem
|
||||
{ label: L("lcl_bes_staffelgroep"),
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{ // Staffelgroep hidden weergeven met -1 als waarde (geen staffelgroep geselecteerd)
|
||||
%> <input type="hidden" id="staffelgroep" tabindex="-1" class="fldselect" value="-1">
|
||||
<% }
|
||||
oRs.Close();
|
||||
|
||||
FCLTbesitemselector("besitem",
|
||||
"sgBesItem",
|
||||
{ label: L("lcl_bes_srtdeel"),
|
||||
bessrtdeel_key: -1,
|
||||
disc_key: bes_bestelling.dis_key,
|
||||
readonly: !this_bes.canItemsChange,
|
||||
urlAdd: [{urlParam: "srtgroep_key", field: "srtgroep"},
|
||||
{urlParam: "staffel_key", field: "staffelgroep"}],
|
||||
onChange: "load_item_info",
|
||||
favouritelist: true
|
||||
});
|
||||
}
|
||||
// Het informatieblok van een geselecteerd artikel
|
||||
%>
|
||||
<tr>
|
||||
@@ -907,6 +914,9 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
<td colspan="2" class="iteminfo2" title="<%=L("lcl_bes_multiple")%>" id="veelvoud_text"></td></tr>
|
||||
<tr id="stock_tr" style="display:none">
|
||||
<td colspan="2" class="iteminfo2" title="<%=L("lcl_bes_stock")%>"><%=L("lcl_bes_stock")%>: <span id="stock_text"></span></td></tr>
|
||||
<% if (bes_disc_info.bestelmode == 0) // Gewone artikel selector
|
||||
{
|
||||
%>
|
||||
<tr id="aantal_tr" style="display:none">
|
||||
<td><label><%=L("lcl_bes_amount")%>:</label><td><input onfocus="this.select()" class="fldbescnt" type="text" id="aantal_text" value="1"></td></tr>
|
||||
<tr id="buttons_tr" style="display:none"><td colspan="2">
|
||||
@@ -917,6 +927,9 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
CreateButtons(buttons, { showIcons: true })
|
||||
%></div>
|
||||
</td></tr>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -932,6 +945,13 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
<tr>
|
||||
<th></th>
|
||||
<!--<th><%=L("lcl_bes_srtgroup")%></th>-->
|
||||
<% if (bes_disc_info.fotomode == 1) // Foto erbij
|
||||
{
|
||||
%>
|
||||
<th><%=L("lcl_bes_image")%></th>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<th><%=L("lcl_bes_srtdeel_nr")%></th>
|
||||
<th><%=L("lcl_bes_srtdeel")%></th>
|
||||
<th><%=L("lcl_bes_unity")%></th>
|
||||
|
||||
@@ -236,6 +236,7 @@ var currency_suff = '<%=S("currency_suff")%>';
|
||||
var show_price = '<%=show_price%>';
|
||||
var lower = false;
|
||||
var inclBTW = <%=bes_bestelling.inclBTW%> == 1;
|
||||
var fotomode = <%=bes_disc_info.fotomode%>;
|
||||
|
||||
function bes_accept()
|
||||
{
|
||||
@@ -277,6 +278,13 @@ function bes_reject()
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<% if (bes_disc_info.fotomode == 1) // Foto erbij
|
||||
{
|
||||
%>
|
||||
<th><%=L("lcl_bes_image")%></th>
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<th><%=L("lcl_bes_srtdeel_nr")%></th>
|
||||
<th><%=L("lcl_bes_srtdeel")%></th>
|
||||
<th><%=L("lcl_bes_unity")%></th>
|
||||
|
||||
@@ -33,7 +33,8 @@ function generateDetails(bes_key, params)
|
||||
+ " , s.bes_srtdeel_nr"
|
||||
+ ", " + lcl.xsqla('s.bes_srtdeel_omschrijving', 's.bes_srtdeel_key')
|
||||
+ " , bes_srtdeel_details_loc"
|
||||
+ " , i.bes_bestelling_item_aantal"
|
||||
+ " , NVL2(s.bes_srtdeel_image, p.prs_bedrijf_image_loc || s.bes_srtdeel_image, NULL) foto"
|
||||
+ " , i.bes_bestelling_item_aantal"
|
||||
+ ", " + lcl.xsqla('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
|
||||
+ (edit
|
||||
? " , COALESCE(bes.getsrtdeelprijs(i.bes_srtdeel_key, null) , 0)"
|
||||
@@ -61,14 +62,17 @@ function generateDetails(bes_key, params)
|
||||
+ " , bes_srtgroep g"
|
||||
+ " , bes_bestelling b"
|
||||
+ " , bes_staffeltabel bst"
|
||||
+ " , prs_bedrijf p"
|
||||
+ " WHERE i.bes_bestelling_key = " + bes_key
|
||||
+ " AND i.bes_srtdeel_key = s.bes_srtdeel_key"
|
||||
+ " AND b.bes_bestelling_key = i.bes_bestelling_key"
|
||||
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
|
||||
+ " AND bst.bes_staffeltabel_key(+) = s.bes_staffeltabel_key"
|
||||
+ " AND p.prs_bedrijf_verwijder IS NULL" // want ook die geven later een error en kunnen niet besteld worden
|
||||
+ " AND s.prs_bedrijf_key = p.prs_bedrijf_key"
|
||||
+ " ORDER BY bes_srtdeel_nr, UPPER(bes_srtdeel_omschrijving)"; // XLAT??
|
||||
}
|
||||
else // punchout data heeft niets met staffels o.i.d.
|
||||
else // punchout en bestellijst hebben niets met staffels o.i.d.
|
||||
{
|
||||
sql = "SELECT ins_discipline_key"
|
||||
+ " , s.bes_srtdeel_key"
|
||||
@@ -76,6 +80,7 @@ function generateDetails(bes_key, params)
|
||||
+ ", " + lcl.xsqla('s.bes_srtdeel_omschrijving', 's.bes_srtdeel_key')
|
||||
// + " , 0 bes_bestelling_item_aantal" // komt straks uit pamounts
|
||||
+ " , bes_srtdeel_details_loc"
|
||||
+ " , NVL2(s.bes_srtdeel_image, p.prs_bedrijf_image_loc || s.bes_srtdeel_image, NULL) foto"
|
||||
+ ", " + lcl.xsqla('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
|
||||
+ " , bes.getsrtdeelprijs (s.bes_srtdeel_key, NULL) prijs"
|
||||
+ " , s.bes_srtdeel_btw"
|
||||
@@ -89,11 +94,18 @@ function generateDetails(bes_key, params)
|
||||
+ ", " + lcl.xsqla('s.bes_srtdeel_opmerking', 's.bes_srtdeel_key')
|
||||
+ " FROM bes_srtdeel s"
|
||||
+ " , bes_srtgroep g"
|
||||
+ " , prs_bedrijf p"
|
||||
+ " WHERE "
|
||||
+ (params.auto_bestellijst
|
||||
+ (params.auto_bestellijst // Dan alle artikelen van deze discipline
|
||||
?"g.ins_discipline_key = " + params.disc_key
|
||||
+ " AND bes_srtdeel_verwijder IS NULL"
|
||||
+ " AND bes_srtgroep_verwijder IS NULL"
|
||||
+ " AND (bes_srtdeel_vervaldatum IS NULL"
|
||||
+ " OR bes_srtdeel_vervaldatum > SYSDATE)"
|
||||
:"s.bes_srtdeel_key IN (" + psrt_keys.join(", ") + ")")
|
||||
+ " AND s.bes_srtgroep_key = g.bes_srtgroep_key"
|
||||
+ " AND p.prs_bedrijf_verwijder IS NULL" // want ook die geven later een error en kunnen niet besteld worden
|
||||
+ " AND s.prs_bedrijf_key = p.prs_bedrijf_key"
|
||||
+ " ORDER BY g.bes_srtgroep_volgnr"
|
||||
+ " , " + lcl.xsql('g.bes_srtgroep_omschrijving', 'g.bes_srtgroep_key')
|
||||
+ " , s.bes_srtdeel_volgnr"
|
||||
@@ -205,14 +217,16 @@ function generateDetails(bes_key, params)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// hieronder niet te veel spaties toevoegen: die gaan allemaal over het lijntje!
|
||||
var fotopad = oRs("foto").Value;
|
||||
if (fotopad && fotopad.indexOf("/") == -1) // Nog geen enkele slash? Dan moet het wel lokaal zijn.
|
||||
fotopad = S("bes_image_path") + oRs("ins_discipline_key").Value + "/" + fotopad;
|
||||
%>
|
||||
details_Items[<%=oRs("bes_bestelling_item_key").value%>] =
|
||||
{ srtdeel_key: <%=oRs("bes_srtdeel_key").value%>,
|
||||
srtdeel_nr: "<%=safe.jsstring(oRs("bes_srtdeel_nr").value)%>",
|
||||
srtdeel_omschrijving: "<%=safe.jsstring(oRs("bes_srtdeel_omschrijving").value)%>",
|
||||
srtdeel_details_loc: "<%=safe.jsstring(oRs("bes_srtdeel_details_loc").value)%>",
|
||||
srtdeel_fotopad: "<%=safe.jsstring(fotopad)%>",
|
||||
srtgroup_text: "<%=safe.jsstring(oRs("bes_srtgroep_omschrijving").value)%>",
|
||||
amount: <%=amount%>,
|
||||
price: <%=safe.jsfloat(oRs("prijs").value || 0)%>,
|
||||
|
||||
@@ -333,6 +333,16 @@ function CreateRow(bes_item_info, aantal, received, editable, objFlex, urole)
|
||||
|
||||
var new_price = aantal * bes_item_info.price;
|
||||
|
||||
if (window.fotomode == 1)
|
||||
{
|
||||
// Create foto
|
||||
cell = tr.insertCell(-1);
|
||||
cell.vAlign = 'top';
|
||||
cell.className = 'bessrtdeelfoto';
|
||||
if (bes_item_info.srtdeel_fotopad)
|
||||
$(cell).html("<img src='{0}'>".format(bes_item_info.srtdeel_fotopad));
|
||||
}
|
||||
|
||||
// Create srtdeel
|
||||
cell = tr.insertCell(-1);
|
||||
cell.vAlign = 'top';
|
||||
@@ -381,7 +391,7 @@ function CreateRow(bes_item_info, aantal, received, editable, objFlex, urole)
|
||||
}
|
||||
cell.innerHTML += "<div id='div" + id_key + "' style='display: \"none\"'></div>"+ "</nobr>";
|
||||
|
||||
// Create order unity field
|
||||
// Create order unit field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.vAlign = 'top';
|
||||
cell.innerHTML = "<nobr>" + bes_item_info.eenheid + "</nobr>";
|
||||
@@ -778,7 +788,13 @@ function checkAmount(aantal_cell)
|
||||
var id_key = aantal_cell.id.substring(6);
|
||||
var valid = true;
|
||||
var error = "";
|
||||
if (aantal_cell.value == '') aantal_cell.value = amount = 1;
|
||||
if (aantal_cell.value == '')
|
||||
{
|
||||
if (window.bestelmode == 2) // Bij autobestellijst staan we gewoon 0 of leeg toen
|
||||
aantal_cell.value = amount = 0;
|
||||
else
|
||||
aantal_cell.value = amount = 1;
|
||||
}
|
||||
valid = !isNaN(amount) && isGoodNumber(aantal_cell.value, true,false,-1,-1) && amount <= 99999;
|
||||
validateField(aantal_cell, valid, L("lcl_bes_invalidAmount"));
|
||||
if (!valid)
|
||||
|
||||
@@ -3622,13 +3622,15 @@ td.iconmenu {
|
||||
td.iconmenu h3 {
|
||||
font-weight: normal;
|
||||
}
|
||||
td.iconmenu img {
|
||||
td.iconmenu img, td.bessrtdeelfoto img {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
border: 1px solid #ffffff;
|
||||
}
|
||||
td.bessrtdeelfoto {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.iconlabel {
|
||||
background-color: #fcfcfc;
|
||||
|
||||
Reference in New Issue
Block a user