1(function ($) { 2 $.ETC = $.ETC || {}; 3 $.ETC.PSCHPS = $.ETC.PSCHPS || {}; 4 $.ETC.PSCHPS.Items = $.ETC.PSCHPS.Items || {}; 5 $.ETC.PSCHPS.Items.Detail = { 6 initForm: function (frm, data, nameSource, usePropsForAllNameSources) { 7 var okpd = $('#Model_Okpd', frm.container); 8 var okei = $('#Model_Okei', frm.container); 9 var name = $('#Model_Name', frm.container); 10 var price = $('#Model_Price', frm.container); 11 frm.usePropsForAllNameSources = usePropsForAllNameSources == 1; 12 $.ETC.EventContainer.init( 13 frm.container 14 .data('init', data) 15 .on('QuantityDefinitionTypeChanged', function (e, quantType) { _setFieldsVisibility(quantType, frm, true, data.FinYear, data.ExecutionYear, data.SchemaVersion); return false;}) 16 .on('IsAutoRecalcChanged', function (e, value){ _IsAutoRecalcChanged(frm, value, data.SchemaVersion); return false;}) 17 .on('QuantityChanged', function (e, val) { _changeQuantity(data.FinYear, data.ExecutionYear, frm, data.SchemaVersion, val); return false;}) 18 .on('NameSourceTypeChanged', function (e, val) { _changeSourceType(frm, data.IsLockPgItemGoodsFields, data.SchemaVersion, val); return false;}) 19 .on('GSPositionChanged', function (e, m) 20 { 21 if (m != null) 22 { 23 if (okpd != null) 24 okpd.DmLookup2({ val: { Key: m.OKPDKey, Version: m.OKPDVersion, DisplayText: m.OKPDDisplayText + ' - ' + m.DisplayText } }); 25 if (okei != null) 26 { 27 okei.DmLookup2({ val: { Key: m.OkeiKey, Version: m.OkeiVersion, DisplayText: m.OkeiDisplayText } }); 28 okei.DmLookup2({ setUrlParam: { n: "CategoryKey", v: "" }}); 29 } 30 if (name!=null) 31 name.val(m.DisplayText); 32 if (price != null && m.MaxPrice != null && !isNaN(m.MaxPrice)) { 33 price.val(m.MaxPrice); 34 } 35 } 36 return false; 37 }) 38 .on('AmountYearChanged', function (e, value) { _recalcAmount(frm, data.SchemaVersion); return false;}) 39 .on('QntUndefinedChanged', function (e, value) { _qntUndefinedChanged(frm, value, data.SchemaVersion);return false; }) 40 .on('QuantityYearChanged', function (e, value, rawValue) { _quantityYearChanged(frm, e, value, rawValue, data.SchemaVersion); return false;}) 41 .on('AveragePriceChanged', function (e, value, rawValue) { _setAmountYearsChanged(value, rawValue, frm, data.SchemaVersion); return false;}) 42 .on('QntOtherChanged', function (e, value, rawValue) { _quantityOtherChanged(frm, e, value, rawValue, data.SchemaVersion); return false;}) 43 .on('PriceChanged', function (e, eventType) { _recalcAmount(frm, data.SchemaVersion); return false; }) 44 .on('OkpdChanged', function (e, value) { _OkpdChanged(frm, value); }) 45 .on('CategoryChanged', function (e, value) { _CategoryChanged(frm, value); }) 46 47 ); 48 49 50 var valCheck = $('input[name="Model.QuantityDefinitionType"]:checked', frm.container).val(); 51 _setFieldsVisibility(valCheck, frm, false, data.FinYear, data.ExecutionYear, data.SchemaVersion); 52 53 _recalcAmount(frm, data.SchemaVersion); 54 $('#Model_LotNumber', frm.container).attr("readonly", true); 55 $('#Model_CategoryText', frm.container).prop("disabled", true); 56 57 _setNameSource(frm, nameSource, data.SchemaVersion); 58 59 frm.CASHE = {}; 60 frm.CASHE.qntElements = null; 61 frm.CASHE.qntOtherYear = null; 62 frm.CASHE.qntElement = null; 63 64 } 65 }; 66 67 function _OkpdChanged(frm, val) 68 { 69 var gsPosition = $('#Model_GSPosition', frm.container); 70 if (val != null && val != undefined && val.Code != null && val.Code != '' && val.Code != undefined) { 71 var okei = $('#Model_Okei', frm.container); 72 var ktru = $('#Model_Category', frm.container); 73 74 if (ktru != null && ktru != undefined) { 75 ktru.DmLookup2({ 'clear': true });
76 77 var nameC = $('#Model_Name', frm.container); 78 nameC.text(val.Text); 79 nameC.html(val.Text); 80 nameC.prop('readonly', false); 81 } 82 if (gsPosition != null) { 83 gsPosition.DmLookup2({ setUrlParam: { n: "okpdCode", v: val.Code } }); 84 } 85 okei.DmLookup2({ setUrlParam: { n: "CategoryKey", v: "" } }); 86 } else { 87 if (gsPosition != null) { 88 gsPosition.DmLookup2({ setUrlParam: { n: "okpdCode", v: "" }}); 89 } 90 91 } 92 } 93 94 95 function _CategoryChanged(frm, vv) 96 { 97 var nameC = $('#Model_Name', frm.container); 98 var nameSource = $('#Model_NameSource', frm.container); 99 var okei = $('#Model_Okei', frm.container); 100 if (vv!=null && vv!=undefined && vv.Key!=null && vv.Key!='' && vv.Key!=undefined) 101 { 102 var okpdl = $('#Model_Okpd', frm.container); 103 if (!okpdl.is('Div')) 104 { 105 okpdl.html(vv.OkpdDislpayText); 106 }else 107 { 108 okpdl.DmLookup2({ 'clear': true }); 109 okpdl.DmLookup2({ 'insertData': { 'DisplayText': vv.OkpdDislpayText, 'Key': vv.OkpdKey, 'Version': vv.OkpdVersion } }); 110 } 111 112 113 nameC.text(vv.Text); 114 nameC.html(vv.Text); 115 nameC.val(vv.Text); 116 nameC.prop('readonly', true); 117 //NameSource.val('') 118 okei.DmLookup2({ 'clear': true }); 119 okei.DmLookup2({ setUrlParam: { n: "CategoryKey", v: vv.Key }}); 120 } else { 121 //okei.DmLookup2({ 'clear': true }); 122 okei.DmLookup2({ setUrlParam: { n: "CategoryKey", v: "" }}); 123 nameC.prop('readonly', false); 124 } 125 } 126 127 128 function getBool(value) 129 { 130 return value == true || value == "true"; 131 } 132 133 function _IsAutoRecalcChanged(frm, value, schemaVersion) 134 { 135 $('#Model_Amount', frm.container).attr("readonly", value); 136 if ($('#Model_QntOtherYear', frm.container).length > 0 137 || $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).length > 0) 138 { 139 $('#Model_Amount', frm.container).attr("readonly", true); 140 } 141 $("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).attr("readonly", value); 142 $('#Model_AmountOtherYear', frm.container).attr("readonly", value); 143 144 if (getBool(value)) 145 { 146 _recalcAmount(frm, schemaVersion); 147 } else 148 { 149 var quantityDef = $('input[name="Model.QuantityDefinitionType"]:checked', frm.container).val(); 150 if (quantityDef == 2 && value==false) 151 { 152 $.Dm.Notify({ html: "ÐÐС не допÑÑкаеÑÑÑ ÑазмеÑение извеÑÐµÐ½Ð¸Ñ Ð¾ закÑпке, Ð»Ð¾Ñ ÐºÐ¾ÑоÑой ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñии Ñо ÑÑоимоÑÑÑÑ, не Ñавной пÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ Ð·Ð° единиÑÑ Ð¸ колиÑеÑÑва ÑоваÑа, ÑабоÑÑ, ÑÑлÑги. СÑоимоÑÑÑ Ð¿Ð¾Ð·Ð¸Ñии лоÑа ÑооÑвеÑÑÑвÑÐµÑ Ð¼Ð°ÐºÑималÑÐ½Ð¾Ð¼Ñ Ð¾Ð±ÑÐµÐ¼Ñ Ð¾Ð¿Ð»Ð°ÑÑ Ð¿Ð¾ конÑÑакÑÑ Ð´Ð»Ñ ÑоваÑа, ÑабоÑÑ, ÑÑлÑги позиÑии плана-гÑаÑика. ÐÑ Ð´ÐµÐ¹ÑÑвиÑелÑно Ñ Ð¾ÑиÑе оÑмениÑÑ Ð°Ð²ÑомаÑиÑеÑкий ÑаÑÑÐµÑ Ð¼Ð°ÐºÑималÑного обÑема оплаÑÑ Ð¿Ð¾ конÑÑакÑÑ?", timeout: -1, keys: { "ÐÑмена": function () { $('#Model_isAutoRecalcAmount').prop("checked", true); }, "ÐÑодолжиÑÑ": function () { null; } } }); 153 } 154 } 155 } 156 157 function _quantityOtherChanged(frm, e, value, rawValue, schemaVersion) 158 { 159 _setQuantity(frm, e, value, rawValue, schemaVersion); 160 161 var isAutoRecalc = getBool($('input[name="Model.isAutoRecalcAmount"]:checked', frm.container).val()); 162 if (isAutoRecalc == true) 163 { 164 var _averagePrice = $('#Model_AveragePrice', frm.container); 165 if (rawValue != "" && _averagePrice.val() != "") { 166 var amountOther = Math.round(Num.mul(Num.mul(value, _averagePrice.valToNumber()), 100)) / 100; 167 if (isNaN(amountOther)) { 168 $('#Model_AmountOtherYear', frm.container).val(""); 169 } else { 170 $('#Model_AmountOtherYear', frm.container).val(amountOther.toFixed(2)); 171 if (amountOther > 0) 172 $('#Model_AmountOtherYear', frm.container).formatNumber(); 173 } 174 } else { 175 $('#Model_AmountOtherYear', frm.container).val(""); 176 } 177 } 178 if (value>0) 179 { 180 frm.toggleReq({
181 AmountOtherYear: '!' 182 }); 183 } else { 184 frm.toggleReq({ 185 AmountOtherYear: '' 186 }); 187 } 188 _recalcAmount(frm, schemaVersion); 189 } 190 191 function _setAmountYearsChanged(value, rawValue, frm, schemaVersion) 192 { 193 var qntYears = $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).each(function () { 194 var qnt = $(this); 195 var target = splitTarget($(this).attr('id')); 196 if (qnt.val() != "" && rawValue != "") 197 { 198 var amountYear = Num.mul(Num.mul(qnt.valToNumber(), value), 100); 199 if (isNaN(amountYear)) { 200 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 201 } else { 202 amountYear = Math.round(amountYear) / 100; 203 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(amountYear.toFixed(11)); 204 if (amountYear > 0) 205 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).formatNumber(); 206 } 207 } else { 208 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 209 } 210 }); 211 var _qntOtherYear = $('#Model_QntOtherYear', frm.container); 212 var _averagePrice = $('#Model_AveragePrice', frm.container); 213 214 if (_qntOtherYear.val() != "" && _averagePrice.val()!="") { 215 var amountOther = Num.mul(Num.mul(_qntOtherYear.valToNumber(), _averagePrice.valToNumber()), 100); 216 if (isNaN(amountOther)) { 217 $('#Model_AmountOtherYear', frm.container).val(""); 218 } else { 219 amountOther = Math.round(amountOther) / 100; 220 $('#Model_AmountOtherYear', frm.container).val(amountOther.toFixed(2)); 221 if (amountOther > 0) 222 $('#Model_AmountOtherYear', frm.container).formatNumber(); 223 } 224 } else { 225 $('#Model_AmountOtherYear', frm.container).val(""); 226 } 227 228 _recalcAmount(frm, schemaVersion); 229 } 230 231 function _qntUndefinedChanged(frm, value, schemaVersion) 232 { 233 value = getBool(value); 234 //if (schemaVersion >0) 235 { 236 if (value) 237 { 238 $('input:radio[name="Model.QuantityDefinitionType"][value="1"]', frm.container).prop('checked', true); 239 $("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).parent().parent().hide(); 240 $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).parent().parent().hide(); 241 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).css('display', 'none'); 242 $("[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).css('display', 'none'); 243 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).parent().parent().hide(); 244 $("[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).parent().parent().hide(); 245 246 //$('#Model_Quantity', frm.container).prop("readonly", true); 247 //$('#Model_Amounty', frm.container).prop("readonly", true); 248 } 249 else 250 { 251 $('input:radio[name="Model.QuantityDefinitionType"][value="2"]', frm.container).prop('checked', true); 252 $("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).parent().parent().show(); 253 $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).parent().parent().show(); 254 $("[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).css('display', ''); 255 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).css('display', ''); 256 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).parent().parent().show(); 257 $("[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).parent().parent().show(); 258 259 //$('#Model_Quantity', frm.container).prop("readonly", false); 260 //$('#Model_Amounty', frm.container).prop("readonly", false); 261 } 262 frm.toggle({
263 Amount: !value, 264 AveragePrice: !value, 265 QntOtherYear: !value, 266 AmountOtherYear: !value, 267 Quantity: !value, 268 QuantityOtherYear: !value, 269 isAutoRecalcAmount: !value, 270 //Okei: !value, 271 Price: value 272 }); 273 _setFieldsVisibilitySchema1(frm, schemaVersion, true); 274 _recalcAmount(frm, schemaVersion); 275 } 276 } 277 278 function _setNameSource(frm, numCodeSource, schemaVersion) { 279 for (c1 = 0; c1 < numCodeSource.length; ++c1) { 280 var option = $('#Model_NameSource option[value="' + numCodeSource[c1] + '"]', frm.container); 281 option.remove(); 282 } 283 } 284 285 function _setFieldsVisibility(type, frm, cleanValues, finYear, executionYear, schemaVersion) 286 { 287 var blockQntCurrentYear = false; 288 if (executionYear != 0 && finYear == executionYear) 289 { 290 blockQntCurrentYear = true; 291 } 292 switch (type) 293 { 294 case "1": 295 { 296 $('#Model_QuantityInfo', frm.container).prop("disabled", false); 297 $('#Model_Quantity', frm.container).prop("readonly", true); 298 if (blockQntCurrentYear) 299 $('#Model_QuantityCurrentYear', frm.container).prop("readonly", true); 300 if (cleanValues == true) 301 { 302 if (blockQntCurrentYear) 303 $('#Model_QuantityCurrentYear', frm.container).val('1.00'); 304 $('#Model_Quantity', frm.container).val('1.00'); 305 $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).val(null); 306 } 307 //frm.toggle({ 'Okei': false }); 308 $('#Model_isAutoRecalcAmount', frm.container).prop("disabled", false); 309 //$('#Model_isAutoRecalcAmount').prop("checked", true); 310 $('#Model_Amount', frm.container).attr("readonly", true); 311 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).css('display', 'none'); 312 _recalcAmount(frm, schemaVersion); 313 break; 314 } 315 case "2": 316 { 317 if (!blockQntCurrentYear) 318 $('#Model_QuantityCurrentYear', frm.container).prop("readonly", false); 319 $('#Model_Quantity', frm.container).prop("readonly", false); 320 $('#Model_QuantityInfo', frm.container).prop("disabled", true); 321 $('#Model_QuantityInfo', frm.container).val(''); 322 frm.toggle({ 'Okei': true }); 323 $('#Model_isAutoRecalcAmount', frm.container).prop("disabled", false); 324 $("[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).css('display', ''); 325 // $('#Model_Amount').prop("disabled", false); 326 break; 327 } 328 } 329 _setFieldsVisibilitySchema1(frm, schemaVersion); 330 331 }; 332 333 function _setFieldsVisibilitySchema1(frm, schemaVersion, onlyVisibility) { 334 var qntUndefined = getBool($('input[name="Model.QntUndefined"]:checked', frm.container).val()); 335 336 if (onlyVisibility!=true) 337 _qntUndefinedChanged(frm, qntUndefined, schemaVersion); 338 339 $('#Model_Amount', frm.container).attr("readonly", true); 340 341 //еÑли еÑÑÑ Ð³ÑÑппа полей Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑвом по годам, Ñо Quantity - Ð Ð 342 if ($('#Model_QntOtherYear', frm.container).length > 0 343 || $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).length > 0) 344 { 345 $('#Model_Quantity', frm.container).attr("readonly", true); 346 $('#Model_Amount', frm.container).attr("readonly", true); 347 } else { 348 $('#Model_Quantity', frm.container).attr("readonly", false); 349 $('#Model_Amount', frm.container).attr("readonly", false); 350 351 } 352 353 var isAutoRecalcChangedValue = getBool($('input[name="Model.isAutoRecalcAmount"]:checked', frm.container).val()); 354 355 $('#Model_Amount', frm.container).attr("readonly", isAutoRecalcChangedValue); 356 if ($('#Model_QntOtherYear', frm.container).length > 0 357 || $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).length > 0) 358 { 359 $('#Model_Amount', frm.container).attr("readonly", true); 360 } 361 $("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).attr("readonly", isAutoRecalcChangedValue); 362 $('#Model_AmountOtherYear', frm.container).attr("readonly", isAutoRecalcChangedValue); 363 364 if (onlyVisibility!=true && isAutoRecalcChangedValue == true) 365 { 366 _recalcAmount(frm, schemaVersion); 367 } 368 } 369 370 function _quantityYearChanged(frm, e, value, rawValue, schemaVersion) { 371 _setQuantity(frm, e, value, rawValue, schemaVersion); 372 373 var isAutoRecalc = getBool($('input[name="Model.isAutoRecalcAmount"]:checked', frm.container).val()); 374 375 if (isAutoRecalc) { 376 var target = splitTarget(e.target.id); 377
378 var averageAmount = $('#Model_AveragePrice', frm.container); 379 380 if (rawValue != "" && averageAmount.val() != "") { 381 var amountYear = Num.mul(Num.mul(averageAmount.valToNumber(), value), 100); 382 if (isNaN(amountYear)) { 383 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 384 } else { 385 amountYear = Math.round(amountYear) / 100; 386 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(amountYear.toFixed(2)); 387 if (amountYear >= 0) 388 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).formatNumber(); 389 } 390 } else { 391 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 392 } 393 _recalcAmount(frm, schemaVersion); 394 } 395 } 396 397 var setQuantityId; 398 var cnt = 0; 399 function _setQuantity(frm, e, value, rawValue, schemaVersion) { 400 401 cnt++; 402 var ccnt = cnt; 403 //clearTimeout(setQuantityId); 404 var ffunction = function () { 405 console.log(ccnt, cnt); 406 407 if (frm.CASHE.qntElements == null) { 408 frm.CASHE.qntElements = $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container); 409 frm.CASHE.qntOtherYear = $('#Model_QntOtherYear', frm.container); 410 frm.CASHE.qntElement = $('#Model_Quantity', frm.container); 411 } 412 var totalQuantity = 0; 413 414 frm.CASHE.qntElements.each(function () { 415 var val = $(this).valToNumber(); 416 if (isNaN(val) || val == null) 417 val = 0; 418 totalQuantity = Num.add(totalQuantity , val); 419 }); 420 var qntOtherFromCashe = frm.CASHE.qntOtherYear.valToNumber(); 421 if (isNaN(qntOtherFromCashe) || qntOtherFromCashe == null) 422 qntOtherFromCashe = 0; 423 totalQuantity = Num.add(totalQuantity, qntOtherFromCashe); 424 425 frm.CASHE.qntElement.val(totalQuantity.toFixed(11)); 426 }; 427 ffunction(); 428 setQuantityId = setTimeout(ffunction, 500); 429 } 430 431 function splitTarget(id) { 432 var splitArray = id.split("_"); 433 if (splitArray.length < 3) { 434 return ""; 435 } else { 436 return splitArray[2]; 437 } 438 } 439 440 function _recalcAmount(frm, schemaVersion) 441 { 442 return _recalcAmount_Default(frm); 443 } 444 445 function _recalcAmount_Default(frm) 446 { 447 var isAutoRecalcInput = $('input[name="Model.isAutoRecalcAmount"]:checked', frm.container); 448 var isAutoRecalc = getBool(isAutoRecalcInput.val()); 449 450 var amount = 0; 451 var priceVal = 0; 452 var hasManyYears = $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).length>0; 453 if (!hasManyYears 454 && $('#Model_QntOtherYear', frm.container).length > 0) 455 { 456 hasManyYears = true; 457 } 458 var price = $('input#Model_Price', frm.container); 459 var qntUndefined = getBool($('input[name="Model.QntUndefined"]:checked', frm.container).val()); 460 if (!qntUndefined) 461 { 462 price = $('input#Model_AveragePrice', frm.container); 463 } 464 if (price.val() != null && price.val() != '') 465 { 466 priceVal = price.valToNumber(); 467 } 468 469 if (isAutoRecalc && !qntUndefined) 470 { 471 var qntYears = $("input[id^='Model_QuantityByYear'][id$='_Quantity']", frm.container).each(function () 472 { 473 var lqnt = $(this); 474 if (lqnt.val() != '' && price.val()!='') { 475 var target = splitTarget($(this).attr('id')); 476 var amountYear = Num.mul(Num.mul(lqnt.valToNumber(), priceVal), 100); 477 if (isNaN(amountYear)) { 478 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 479 } else { 480 amountYear = Math.round(amountYear) / 100; 481 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(amountYear.toFixed(2)); 482 if (amountYear > 0) 483 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).formatNumber(); 484 } 485 } else { 486 $("input[id='Model_QuantityByYear_" + target + "__Amount']", frm.container).val(""); 487 } 488 }); 489 if ($('#Model_QntOtherYear', frm.container) != null) { 490 var qntOtherYear = $('#Model_QntOtherYear', frm.container); 491 if (qntOtherYear.val() != '' && price.val()!='') { 492 var amountOther = Num.mul(Num.mul(qntOtherYear.valToNumber(), priceVal), 100); 493 if (isNaN(amountOther)) { 494 $('#Model_AmountOtherYear', frm.container).val(""); 495 } else { 496 amountOther = Math.round(amountOther) / 100; 497 $('#Model_AmountOtherYear', frm.container).val(amountOther.toFixed(2)); 498 if (amountOther > 0) 499 $('#Model_AmountOtherYear', frm.container).formatNumber(); 500 } 501 } else { 502 $('#Model_AmountOtherYear', frm.container).val(""); 503 } 504 } 505 } 506 var totalAmount = 0; 507 if (hasManyYears) 508 { 509 if ($("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).length != 0) 510 { 511 $("input[id^='Model_QuantityByYear'][id$='_Amount']", frm.container).each(function () 512 { 513 var val = $(this).valToNumber(); 514 if (isNaN(val) || val == null) 515 val = 0; 516 totalAmount = Num.add(totalAmount , val); 517 }); 518 var amountOtherYear = $('#Model_AmountOtherYear', frm.container).valToNumber(); 519 if (isNaN(amountOtherYear) || amountOtherYear==null) 520 amountOtherYear = 0; 521 totalAmount = Num.add(totalAmount, amountOtherYear); 522 if (isNaN(totalAmount)) { 523 $('#Model_Amount', frm.container).val(""); 524 } else { 525 $('#Model_Amount', frm.container).val((Math.round(Num.mul(totalAmount, 100)) / 100).toFixed(2)); 526 } 527 528 529 } 530 } else 531 { 532 if (isAutoRecalc && !qntUndefined) 533 { 534 var qnt = $('input#Model_Quantity', frm.container); 535 if (qnt.val() != null && price.val()!='') 536 { 537 totalAmount = Num.mul(Num.mul(qnt.valToNumber(), priceVal), 100); 538 } else { 539 $('#Model_Amount', frm.container).val(""); 540 } 541 if (isNaN(totalAmount)) { 542 $('#Model_Amount', frm.container).val(""); 543 } else { 544 totalAmount = Math.round(totalAmount) / 100; 545 $('#Model_Amount', frm.container).val(totalAmount.toFixed(2)); 546 } 547 } 548 } 549 if (!isNaN(totalAmount) && totalAmount > 0) { 550 $('#Model_Amount', frm.container).formatNumber(); 551 } 552 }; 553 554 555 556 function _changeQuantity(fYear, exYear, frm, schemaVersion, val) 557 { 558 _recalcAmount(frm, schemaVersion); 559 560 if (exYear != 0 && fYear == exYear) 561 { 562 $('#Model_QuantityCurrentYear', frm.container).val($('#Model_Quantity', frm.container).val()); 563 } 564 } 565 566 function _changeSourceType(frm, isLockPgItemGoodsFields, schemaVersion, val) 567 { 568 var sourceType = $('#Model_NameSource option:selected', frm.container).val(); 569 if (sourceType == undefined) 570 sourceType = val; 571 if (sourceType > 0) { 572 frm.toggle({ 573 Name: sourceType == 1 || sourceType == 5 || sourceType == 4, 574 GSPosition: sourceType == 2, 575 Category: sourceType == 5, 576 Okpd: sourceType == 4 || sourceType == 1 || sourceType == 2 577 }); 578 $('#Model_Name', frm.container).prop("readonly", sourceType == 5); 579 $("#Model_Name_t", frm.container).html("<span class=\"icon requared\" title=\"Ðоле обÑзаÑелÑно Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ\"></span> Ðаименование ÑоваÑа, ÑабоÑÑ, ÑÑлÑги"); 580 frm.toggleReq({ 581 Name: '*' 582 }); 583 switch (sourceType+"") { 584 case "1": 585 var catL = $('#Model_Category', frm.container); 586 if (catL != null) 587 catL.DmLookup2({ 'clear': true });
588 589 var okpdL = $('#Model_Okpd', frm.container); 590 if (okpdL != null) 591 okpdL.DmLookup2({ 'clear': true }); 592 593 var gspL = $('#Model_GSPosition', frm.container); 594 if (gspL != null) 595 gspL.DmLookup2({ 'clear': true }); 596 if (!frm.usePropsForAllNameSources) { 597 $("#Model_ItemDetailPropertyListG_c", frm.container).hide(); 598 $("#Model_ItemDetailPropertyList_c", frm.container).hide(); 599 } 600 $("#Model_FuncCharacteristicsContent", frm.container).hide(); 601 $("#Model_FuncCharacteristicsContent_t", frm.container).hide(); 602 break; 603 case "2": 604 var catL = $('#Model_Category', frm.container); 605 if (catL != null) 606 catL.DmLookup2({ 'clear': true }); 607 if (!frm.usePropsForAllNameSources) { 608 $("#Model_ItemDetailPropertyListG_c", frm.container).hide(); 609 $("#Model_ItemDetailPropertyList_c", frm.container).hide(); 610 } 611 $("#Model_Name_t", frm.container).text("Ðаименование ÑоваÑа, ÑабоÑÑ, ÑÑлÑги"); 612 $("#Model_FuncCharacteristicsContent_c", frm.container).show(); 613 $("#Model_FuncCharacteristicsContent_t", frm.container).show(); 614 break; 615 case "3": 616 var catL = $('#Model_Category', frm.container); 617 if (catL != null) 618 catL.DmLookup2({ 'clear': true }); 619 620 var gspL = $('#Model_GSPosition', frm.container); 621 if (gspL!=null) 622 gspL.DmLookup2({ 'clear': true }); 623 if (!frm.usePropsForAllNameSources) { 624 $("#Model_ItemDetailPropertyListG_c", frm.container).hide(); 625 $("#Model_ItemDetailPropertyList_c", frm.container).hide(); 626 } 627 $("#Model_FuncCharacteristicsContent_c", frm.container).hide(); 628 $("#Model_FuncCharacteristicsContent_t", frm.container).hide(); 629 break; 630 case "4": 631 var catL = $('#Model_Category', frm.container); 632 if (catL != null) 633 catL.DmLookup2({ 'clear': true }); 634 635 var gspL = $('#Model_GSPosition', frm.container); 636 if (gspL!=null) 637 gspL.DmLookup2({ 'clear': true }); 638 if (!frm.usePropsForAllNameSources) { 639 $("#Model_ItemDetailPropertyListG_c", frm.container).hide(); 640 $("#Model_ItemDetailPropertyList_c", frm.container).hide(); 641 } 642 $("#Model_Name_t", frm.container).text("Ðаименование ÑоваÑа, ÑабоÑÑ, ÑÑлÑги"); 643 $("#Model_FuncCharacteristicsContent_c", frm.container).show(); 644 $("#Model_FuncCharacteristicsContent_t", frm.container).show(); 645 break; 646 case "5": 647 var okpdL = $('#Model_Okpd', frm.container); 648 if (okpdL!=null) 649 okpdL.DmLookup2({ 'clear': true }); 650 651 var gspL = $('#Model_GSPosition', frm.container); 652 if (gspL!=null) 653 gspL.DmLookup2({ 'clear': true }); 654 if (!frm.usePropsForAllNameSources) { 655 $("#Model_ItemDetailPropertyListG_c", frm.container).show(); 656 $("#Model_ItemDetailPropertyList_c", frm.container).show(); 657 } 658 $("#Model_FuncCharacteristicsContent_c", frm.container).hide(); 659 $("#Model_FuncCharacteristicsContent_t", frm.container).hide(); 660 break; 661 662 } 663 } 664 665 if (isLockPgItemGoodsFields) { 666 var okpd = $('#Model_Okpd', frm.container); 667 var okei = $('#Model_Okei', frm.container); 668 669 if (sourceType == 2) { 670 okpd.DmLookup2({ enable: false }); 671 okei.DmLookup2({ enable: false }); 672 } else { 673 okpd.DmLookup2({ enable: true });
674 okei.DmLookup2({ enable: true }); 675 } 676 $('#Model_InternationalName', frm.container).prop("readonly", sourceType == 2); 677 $('#Model_MinRequirement', frm.container).prop("readonly", sourceType == 2); 678 $('#Model_Description', frm.container).prop("readonly", sourceType == 2); 679 } 680 } 681})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.