Локал Elecon
плат на нашем заводе по текущим базовым ценам прайс-листа от 02.12.2022г. На реальную стоимость изготовления
печатных плат может повлиять тип используемых материалов, толщина материала, толщина фольги, размер печатной
платы, сложность изготовления. Для того чтобы Вы получили наиболее точное представление о стоимости своего
проекта, предлагаем прислать нам запрос или проект для точного расчета цены.
//---------------------------- // Один из способов инициализировать все подсказки на странице – обратиться к ним по атрибуту data-bs-toggle var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl) }); //---------------------------- var ECONTR34_OLD_STATE = 0; // в этой переменной сохраняется наличие или отсутствие электроконтроля при необязательном электроконтроле для 3 и 4 класса однослойных и двуслойных плат. Если не хранить это состояние то при переключении с многослоек на дпп или опп, электроконтроль всегда будет включеным. var FLAG_ENTER_IN_OBYAZATELNIY_ELCONTR = 0; // этот флаг показывает, что расчет находится в состоянии обязательного электроконтроля для многослоек или опп/дпп 5го и 6го класса.
var FLAG_2MASK = 0; //флаг для маски с двух сторон на однослойке, подтверждает что так и нужно
function rasch() { var price_list = new Array();
price_list[0] = new Array( 180, 172, 160, 133, 125, 119, 115, 110); //OPP 1x price_list[1] = new Array( 350, 290, 267, 241, 224, 218, 214, 208); //Alum price_list[2] = new Array( 248, 236, 225, 184, 170, 158, 147, 138); //DPP 2x price_list[3] = new Array( 475, 435, 400, 299, 273, 258, 251, 248); //4x price_list[4] = new Array( 633, 558, 500, 399, 371, 354, 350, 344); //6x price_list[5] = new Array( 833, 713, 632, 540, 493, 479, 461, 442); //8x price_list[6] = new Array(1100, 971, 874, 767, 705, 680, 662, 634); //10x price_list[7] = new Array(1358,1225,1120, 899, 863, 831, 830, 830); //12x price_list[8] = new Array(1608,1454,1284,1060, 983, 972, 971, 971); //14x price_list[9] = new Array(1842,1679,1488,1254,1149,1144,1143,1143); //16x price_list[10] = new Array(2092,1929,1744,1396,1329,1299,1299,1299); //18x price_list[11] = new Array( 30, 28, 21, 20, 18, 16, 15, 12); //mask 2x price_list[12] = new Array( 15, 14, 10, 8, 7, 6, 5, 4); //mark 1x price_list[13] = new Array( 100, 100, 100, 100, 100, 100, 100, 100); //im_gold price_list[14] = new Array( 100, 100, 100, 100, 100, 100, 100, 100); //im_olov
price_obrab_files = 520; price_fotoshablon = 290; price_markirovka = price_fotoshablon * 2; // фотошаблон + сито price_e_tester_opp_dpp = 30; // Цена электроконтроля для однослойных и двуслойных плат. Далее в расчете, ее можно включать или нет по желанию клиента, если плата однослойка или двуслойка 4го класса. Если же 5й или 6й класс, то электроконтроль обязателен. (для многослойных плат цена электроконтроля уже включена в цену по таблице и от электроконтроля отказаться нельзя, он для многослойных плат обязателен) price_frez_fr4 = 3.0; price_frez_alum = 5.0; price_im_gold = 60; price_im_gold_mm2=0.02; price_razem = 31; price_razem_zol_mm2 = 0.29; price_im_olov = 42; price_plen_mask = 190; price_DPP20mm = 27; price_DPP25mm = 44; price_DPP30mm = 53; price_Dfolga50FR4 = 25; price_Dfolga70FR4 = 40; price_Dfolga105FR4 = 61; price_Dfolga1835FR4 = 0; price_STF = 20; price_STF2mm = 44; price_HiTg = 30; price_HiTg2mm = 30; //--------Init--------- //--изменить цвет выпадающего списка маски var selectMASKcolor = document.querySelector('.select.new'); selectMASKcolor.addEventListener('change', function () { switch (parseInt(document.all.mask_color_select.value)) { case 0: selectMASKcolor.style.backgroundColor = "#EEFFE9"; break; //зеленая case 1: selectMASKcolor.style.backgroundColor = "#ECECEC"; break; //черная case 2: selectMASKcolor.style.backgroundColor = "#FCECEC"; break; //красная case 3: selectMASKcolor.style.backgroundColor = "#E9EFFF"; break; //синяя case 4: selectMASKcolor.style.backgroundColor = "#FFFFFF"; break; //белая } }); // -- цвет select для кол-ва слоев (при фольге 50,70,105, ОПП переводится на ДПП--- // при нажатии кнопки мыши поменять цвет select на белый в числе слоев var selectMASKcolor2 = document.querySelector('.select.numb_sloev_red_error'); selectMASKcolor2.addEventListener('mousedown', function () { selectMASKcolor2.style.backgroundColor = "#FFFFFF"; //белый }); // при нажатии кнопки мыши поменять цвет select на белый в числе слоев маски используется для алюминия и для простых однослоек var selectMASKcolor3 = document.querySelector('.select.numb_mask_red_error'); selectMASKcolor3.addEventListener('mousedown', function () { selectMASKcolor3.style.backgroundColor = "#FFFFFF"; //белый FLAG_2MASK=1; });
// при нажатии кнопки мыши поменять цвет select на белый в толщине фольги var selectMASKcolor4 = document.querySelector('.select.tolsh_folgi_red_error'); selectMASKcolor4.addEventListener('mousedown', function () { selectMASKcolor4.style.backgroundColor = "#FFFFFF"; //белый });
// при нажатии кнопки мыши поменять цвет select на белый в покрытиях var selectMASKcolor5 = document.querySelector('.select.pokritie_select_error'); selectMASKcolor5.addEventListener('mousedown', function () { selectMASKcolor5.style.backgroundColor = "#FFFFFF"; //белый });
// У плат на материале Алюминий максимум 1 слой. // Если в раскрывающемся списке материалов выбран материала выбран алюминий, то в раскрывающемся списке количества слоев выбрать один слой, и поэтому другое кол-во слоев выбрать нельзя, не 2, не 4, не 6... и подсветить красным цветом изменение числа слоев if (parseInt(document.all.material_select.value) == 3) { if (document.all.n_sloev_select.value != 1) //число слоев меди { document.all.n_sloev_select.value = 1; var selectMASKcolor2 = document.querySelector('.select.numb_sloev_red_error'); selectMASKcolor2.style.backgroundColor = "#ffff8a"; //желтый } }
// у плат на Алюминии максимум 1 маска, т.е. маска не может быть с двух сторон, но маска может отсутствовоать полностью // Если в раскрывающемся списке материалов выбран материала выбран алюминий, и одновременно в раскрывающемся списке выбора кол-ва масок выбрана маска с 2х сторон, то поставить принудительно маску с одной стороны. Если маска вообще не выбрана, то и останется без маски. if (parseInt(document.all.material_select.value) == 3) if (parseInt(document.all.maska_select.value) == 2) { if (document.all.maska_select.value != 1) // число слоев маски { document.all.maska_select.value = 1; var selectMASKcolor3 = document.querySelector('.select.numb_mask_red_error'); selectMASKcolor3.style.backgroundColor = "#ffff8a"; //желтый } }
//Цена фрезеровки Алюминиевых плат и плат на материале FR4, разная. //Если выбран материал Алюминий то переменная price_frez=price_frez_alum if (parseInt(document.all.material_select.value) == 3) price_frez = price_frez_alum; else price_frez = price_frez_fr4;
//У плат на материале Алюминий всегда фольга толщиной 35мкм (не 18, не 50, не 70, не 105) //Если в раскрывающемся списке материалов выбран материала выбран материал алюминий, то в раскрывающемся списке выбора толщин фольги выбрать фольгу 35мкм. if (parseInt(document.all.material_select.value) == 3) { if (document.all.tolsh_folgi_select.value != 35) { document.all.tolsh_folgi_select.value = 35; var selectMASKcolor4 = document.querySelector('.select.tolsh_folgi_red_error'); selectMASKcolor4.style.backgroundColor = "#ffff8a"; //желтый }
}
// старое 2021.04.19: Платы с толщиной фольги 50,70,105мкм могут быть только двуслойными, мы закупаем только такой материал. //if((parseInt(document.all.material_select.value)!=3)&&((document.all.tolsh_folgi_select.value==50)||(document.all.tolsh_folgi_select.value==70)||(document.all.tolsh_folgi_select.value==105))) document.all.n_sloev_select.value=2;
// Если клиен хочет однослойную плату с фольгой 50,70,105мкм, то мы все равно берем цену как за двухслойную. // Если в выпаюающем списке материалов выбран любой материал кроме Алюминия и в выпаюающем списке материалов выбрана фольга 50 или 70 или 105 то принудительно поставить в выпадающем списке количеств слоев - два слоя. if ((parseInt(document.all.material_select.value) != 3) && (document.all.n_sloev_select.value == 1) && ((document.all.tolsh_folgi_select.value == 50) || (document.all.tolsh_folgi_select.value == 70) || (document.all.tolsh_folgi_select.value == 105))) {
document.all.n_sloev_select.value = 2; // -- цвет select для кол-ва слоев (при фольге 50,70,105, ОПП переводится на ДПП--- var selectMASKcolor2 = document.querySelector('.select.numb_sloev_red_error'); selectMASKcolor2.style.backgroundColor = "#ffff8a"; //желтый }
// У высокотемпературного материала HiTg толщина фольги максимум 35мкм, т.е. 18 или 35 (но не 50, 70, 105) // Если в выпадающем списке материалов выбран материал HiTg, и в выпадающем списке выбора толщин выбрана фольга толще чем 35, то поставить фольгу 35мкм, при этом остается возможность переключиться на 18мкм фольгу if (parseInt(document.all.material_select.value) == 4) if (document.all.tolsh_folgi_select.value > 35) document.all.tolsh_folgi_select.value = 35;
//у HiTg толщина платы максимум 2мм // Если в выпадающем списке материалов выбран высокотемпературный материал HiTg, и в выпадающем списке толщин платы выбрана толщина более чем 2мм, то принудительно поставить тощину 2мм if (parseInt(document.all.material_select.value) == 4) if (document.all.tolsh_plati_select.value > 2) document.all.tolsh_plati_select.value = "2.0";
//-------------для тонких плат нельзя ПОС-63 (только без покрытия - голая медь или иммерсионные олово/золото) if (document.all.tolsh_plati_select.value < 0.71) if (parseInt(document.all.pokritie_select.value) == 0) { document.all.pokritie_select.value = 1; //подкраска желтым при авто-замене покрытия var selectMASKcolor5 = document.querySelector('.select.pokritie_select_error'); selectMASKcolor5.style.backgroundColor = "#ffff8a"; //желтый } //-------------для односторонних плат подсветить желтым кол-во слоев маски if (parseInt(document.all.n_sloev_select.value)<2) {if(parseInt(document.all.maska_select.value) == 2){ //подкраска желтым if(FLAG_2MASK==0) { document.all.maska_select.value = 1; var selectMASKcolor31 = document.querySelector('.select.numb_mask_red_error'); selectMASKcolor31.style.backgroundColor = "#ffff8a"; //желтый } }} else {FLAG_2MASK=0;} // переменной NUMB_sloev присваевается значение выбранное в выпадающем списке числа слоев: 1 или 2 или 4,6,8,10,12,14,16,18 NUMB_sloev = parseInt(document.all.n_sloev_select.value); // переменной KLASS присваевается значение из выпадающего списка выбора класса точности печатной платы: 4 или 5 или 6 KLASS = parseInt(document.all.klass_select.value); // Для плат однослойных и двуслойных и плат низкого класса т.е. 4го, клиент может самостоятельно выбирать делать ему электроконтроль или нет. // Если же плата больше чем 2 слоя, то она многослойная поэтому электроконтроль обязателен и он уже включен в табличную цену по прайсу, т.е. в отдельной переменной "ET"-ElectroTest он не просчитывается. // Если плата одно или двуслойная но высокого класса 5 или 6, то электроконтроль просчитывается в переменной "ET" и добавляется к цене производства. // Дальнейший блок IF с флагами предназначен для того чтобы в вывести на экран один из трех видов текста: // 1. Электроконтроль отсутствует // 2. Электроконтроль выполняется // 3. Электроконтроль входит в стоимость изготовления // 2й и 3й пункт текста выводятся через поле с выпадающим списком "Выполняется" там просто текст меняется и для дальнейших вычислений они равны единице, т.е. электроконтроль выполняется независимо каким текстом он обозначен. А первый пункт нулю, т.е. электроконтроль не выполняется. // т.е. все эти заморочки с флагами и состояниями чтобы вывести 3 вида текста в одном поле. А когда возвращались из обязательного электроконтроля восстанавливалось значение при электроконтроле по выбору. if ((NUMB_sloev > 2) || (KLASS > 4)) { if (FLAG_ENTER_IN_OBYAZATELNIY_ELCONTR == 0) ECONTR34_OLD_STATE = document.all.econtrol_select.value; FLAG_ENTER_IN_OBYAZATELNIY_ELCONTR = 1; document.all.econtrol_select.value = 1; document.all.econtrol_select.disabled = 1; document.all.econtrol_select.options[1].text = "входит в стоимость изготовления"; } else { if (FLAG_ENTER_IN_OBYAZATELNIY_ELCONTR == 1) { document.all.econtrol_select.value = ECONTR34_OLD_STATE; FLAG_ENTER_IN_OBYAZATELNIY_ELCONTR = 0; } document.all.econtrol_select.disabled = 0; document.all.econtrol_select.options[1].text = "выполняется"; } // но по факту на выходе у нас одна переменная document.all.econtrol_select.value которая содержит 0 или 1, т.е. электроконтроль не выполняется или выполняется. // которая в дальнейшем используется в расчетах. // ET1 это цена электроконтроля за 1дм2, а в переменной ET общая цена электроконтроля для всего заказа. // в переменной ET идет расчет электроконтроля для ОПП ДПП всех классов 4,5,6. только для 4 го класса его клиент может включить или выключить самостоятельно, а для 5 и 6класса он считается принудительно и отключить его клиент не может. // для многослоек в переменной ET электроконтроль не считается, т.е.
//заменяем в длинне ширине и вырезе запятую на точку, для дальнейшик корректных расчетов. tmp_val = document.all.shirina_input.value; document.all.shirina_input.value = tmp_val.replace(/,/, "."); tmp_val = document.all.dlinna_input.value; document.all.dlinna_input.value = tmp_val.replace(/,/, "."); tmp_val = document.all.virez_input.value; document.all.virez_input.value = tmp_val.replace(/,/, ".");
// если маска отсутствует то запретить выбор ее цвета и ее типа жидкая или пленочная, и скрыть ячейки if (parseInt(document.all.maska_select.value) == 0) { document.all.mask_color_select.disabled = 1; document.all.mask_type_select.disabled = 1; document.getElementById("mask_hide1").hidden=1; document.getElementById("mask_hide2").hidden=1;} else { document.all.mask_color_select.disabled = 0; document.all.mask_type_select.disabled = 0; document.getElementById("mask_hide1").hidden=0; document.getElementById("mask_hide2").hidden=0;}
// далее расчет подготовки к производству //----------Podgotovka--------- // число слоев маски, может принимать значения 0,1,2. NUMB_mask = parseInt(document.all.maska_select.value);
// число слоев маркировки, может принимать значения 0,1,2. NUMB_mark = parseInt(document.all.markirovka_select.value);
// кол-во заказываемых плат NUMB_plat = parseInt(document.all.n_plat_select.value); // parseInt нужно для отсева из цифр букв и чтобы не было ошибки NaN if (NUMB_plat<0) { NUMB_plat =1; } document.all.n_plat_select.value = NUMB_plat; //возвращается назад для того что при вводе с цифрами букв, останутся только цифры, и когда отрицательное то будет 1 //длинна платы dlinna = parseFloat(document.all.dlinna_input.value); if (dlinna > 1000) { dlinna = 1000; document.all.dlinna_input.value = 1000; }
// ширина платы shirina = parseFloat(document.all.shirina_input.value); if (shirina > 1000) { shirina = 1000; document.all.shirina_input.value = 1000; }
// толщина платы может принимать следующие значения 0.10, 0.25, 0.36, 0.51, 0.71, 1.0, 1.5, 2.0, 2.5, 3.0 tolsh_plati = parseFloat(document.all.tolsh_plati_select.value);
// толщина фольги, может принимать следующие значения 18, 35, 50, 70, 105 tolsh_folgi = parseInt(document.all.tolsh_folgi_select.value);
if ((tolsh_plati == 2.0) && (tolsh_folgi == 18) && (NUMB_sloev == 2)) document.all.tolsh_folgi_select.value = 35; KF = price_obrab_files * 1;
P1 = price_fotoshablon * NUMB_sloev;
P2 = price_fotoshablon * NUMB_mask;
P3 = price_markirovka * NUMB_mark;
if (parseInt(document.all.nds_select.value) == 1) k_nds = 1.20; else k_nds = 1.0;
if (KLASS > 4) KPF = 1.5; else KPF = 1;
PODG = (KF * KPF) + P1 + P2 + P3;
OTbuf = "КФ = Кол-во типов плат * " + price_obrab_files + " руб. =
Подготовка = (КФ * КПФ) + П1 + П2 + П3= " + PODG + " руб.
"; document.getElementById("PODG_label").innerHTML = OTbuf; S_odna_plata = (dlinna * shirina) / 10000; OTbuf = Math.round(S_odna_plata * 10000) / 10000; OTbuf = "S1 = Площадь одной платы = " + OTbuf + " дм²"; document.getElementById("plata_s_label").innerHTML = OTbuf; S_obsh = S_odna_plata * NUMB_plat; OTbuf = Math.round(S_obsh * 10000) / 10000; OTbuf = "S = Общая площадь заказа = " + OTbuf + " дм²"; document.getElementById("obsh_s_label").innerHTML = OTbuf; //--------- prn S ----- var s1_for_txt = Math.round(S_odna_plata * 100) / 100; var sALL_for_txt = Math.round(S_obsh * 100) / 100; OTbuf = "Площадь одной платы: " + s1_for_txt + " дм². Общая площадь заказа: " + sALL_for_txt + " дм²."; document.getElementById("text_s1_s").innerHTML = OTbuf; //--------- prn S ----- //---------IZGOTOVLENIE--------- if (S_obsh <= 20) k_price = 0; else if (S_obsh <= 50) k_price = 1; else if (S_obsh <= 100) k_price = 2; else if (S_obsh <= 200) k_price = 3; else if (S_obsh <= 300) k_price = 4; else if (S_obsh <= 500) k_price = 5; else if (S_obsh <= 1000) k_price = 6; else k_price = 7; //----выделение столбца с площадью в таблице -------- var color_list = [8]; for (var i = 0; i <= 7; i++) { if (i == k_price) color_list[i] = "#a0f0a0"; else color_list[i] = "#ffffff"; } var tbcol = document.getElementById("tbcol0"); tbcol.style.backgroundColor = color_list[0]; tbcol = document.getElementById("tbcol1"); tbcol.style.backgroundColor = color_list[1]; tbcol = document.getElementById("tbcol2"); tbcol.style.backgroundColor = color_list[2]; tbcol = document.getElementById("tbcol3"); tbcol.style.backgroundColor = color_list[3]; tbcol = document.getElementById("tbcol4"); tbcol.style.backgroundColor = color_list[4]; tbcol = document.getElementById("tbcol5"); tbcol.style.backgroundColor = color_list[5]; tbcol = document.getElementById("tbcol6"); tbcol.style.backgroundColor = color_list[6]; tbcol = document.getElementById("tbcol7"); tbcol.style.backgroundColor = color_list[7]; switch (NUMB_sloev) { case 1: PP1 = price_list[0][k_price]; break; case 2: PP1 = price_list[2][k_price]; break; case 4: PP1 = price_list[3][k_price]; break; case 6: PP1 = price_list[4][k_price]; break; case 8: PP1 = price_list[5][k_price]; break; case 10: PP1 = price_list[6][k_price]; break; case 12: PP1 = price_list[7][k_price]; break; case 14: PP1 = price_list[8][k_price]; break; case 16: PP1 = price_list[9][k_price]; break; case 18: PP1 = price_list[10][k_price]; break; } if (parseInt(document.all.material_select.value) == 3) PP1 = price_list[1][k_price]; /*Alum*/ switch (parseInt(document.all.material_select.value)) { case 1: { /*FR4*/ /*фолщина фольги применима для ДПП разных толщин, т.е. 1.5, 2, 2.5, 3*/ if (NUMB_sloev > 1) { switch (tolsh_folgi) { case 50: D_kf = price_Dfolga50FR4; break; case 70: D_kf = price_Dfolga70FR4; break; case 105: D_kf = price_Dfolga105FR4; break; default: D_kf = 0; break; } } else { D_kf = 0; }
switch (tolsh_plati) { case 2: { if (NUMB_sloev == 2) D_kf = D_kf + price_DPP20mm; break; } case 2.5: { if (NUMB_sloev == 2) D_kf = D_kf + price_DPP25mm; break; } case 3: { if (NUMB_sloev == 2) D_kf = D_kf + price_DPP30mm; break; } }
break; }
case 4: { switch (tolsh_plati) { /*High Tg*/ case 2: { if (NUMB_sloev == 2) D_kf = price_HiTg2mm; else D_kf = price_HiTg; break; } default: D_kf = price_HiTg; break; }
break; }
case 2: { switch (tolsh_plati) { /*СТФ*/ case 2: { if (NUMB_sloev == 2) D_kf = price_STF2mm; else D_kf = price_STF; break; } default: D_kf = price_STF; break; }
break; }
default: { D_kf = 0; break; }
} OTbuf = "Д=27/44/53руб.(ДПП_2/2.5/3мм), 30руб.(ДПП_2мм_HiTg), 30руб.(HiTg), 44руб.(ДПП_2мм_СТФ/Ми), 20руб.(СТФ/Ми), 25/40/61руб.(Фольга 50/70/105мкм)=" + D_kf + " руб."; document.getElementById("D_label").innerHTML = OTbuf; OTbuf = "Цена_табличная(материал, сверление, травление, меднение и эл.контроль МПП)= " + PP1 + " руб. за 1дм²"; document.getElementById("PP1_label").innerHTML = OTbuf; PP1D = PP1 + D_kf; M1 = price_list[11][k_price]; /*mask2x*/ if (parseInt(document.all.mask_type_select.value) == 1) M1 = price_plen_mask; switch (NUMB_mask) { case 0: M1 = 0; break; case 1: M1 = M1 / 2; break; case 2: M1 = M1; break; } if (parseInt(document.all.mask_color_select.value) != 0) M1 = M1 * 2; switch (NUMB_mark) { /*mark1x*/ case 0: MR1 = 0; break; case 1: MR1 = price_list[12][k_price]; break; case 2: MR1 = price_list[12][k_price] * 2; break; }
// скрывать площадь золота if (parseInt(document.all.pokritie_select.value) == 2) { document.all.gold_s_input.disabled = 0; document.getElementById("gold_hide1").hidden=0; document.getElementById("gold_hide2").hidden=0; document.getElementById("gold_hide3").hidden=0; } else { document.all.gold_s_input.disabled = 1; document.getElementById("gold_hide1").hidden=1; document.getElementById("gold_hide2").hidden=1; document.getElementById("gold_hide3").hidden=1; }
if (parseInt(document.all.pokritie_select.value) == 1) ImO1 = price_im_olov; else ImO1 = 0; if (parseInt(document.all.pokritie_select.value) == 2) IZ1 = price_im_gold+(price_im_gold_mm2*parseInt(document.all.gold_s_input.value)/S_odna_plata); else IZ1 = 0;
//document.all.gold_s_input.hidden=1; //document.getElementById("gold_hide1").hidden=1; document.getElementById("gold_hide2").hidden=1;
// всплывающая подсказка о площади золота Gold_proc_min=5; Gold_proc_med=20; Gold_proc_max=50; S_min_gold=Math.round((S_odna_plata*Gold_proc_min/100)*10000); S_mid_gold=Math.round((S_odna_plata*Gold_proc_med/100)*10000); S_max_gold=Math.round((S_odna_plata*Gold_proc_max/100)*10000); OTbuf="Суммарная площадь всех иммерсионно-позолоченных площадок и полигонов одной платы, мм². 1000мм² = 10см² = 0.1дм², т.е. дм²*10000=мм². Справочно в среднем, для данной платы, слабое заполнение "+Gold_proc_min+"%="+S_min_gold+"мм², среднее заполнение "+Gold_proc_med+"%="+S_mid_gold+"мм², плотное заполнение "+Gold_proc_max+"%="+S_max_gold+"мм²."; document.getElementById('gold_s_input').setAttribute('data-bs-original-title', OTbuf);
if (NUMB_sloev > 2) ET1 = 0; else ET1 = parseInt(document.all.econtrol_select.value) * price_e_tester_opp_dpp;
// всплывающая подсказка о кол-ве плат // толщина платы менее 1мм // толщина платы более 2мм // материал не FR4 // маска не зеленая // покрытие не ПОС-63 // разъемы есть // 6класс // слоев более или равно 6 if ((tolsh_plati<1)||(tolsh_plati>2)||(parseInt(document.all.material_select.value) != 1)||(parseInt(document.all.mask_color_select.value)!=0)||(parseInt(document.all.pokritie_select.value) != 0)||(parseInt(document.all.razem_yn_select.value)!=0)||(KLASS==6)||(NUMB_sloev>=6)){ OTbuf="от 6дм² (от "+Math.round(6/S_odna_plata)+" шт)"; document.getElementById('n_plat_select').setAttribute('data-bs-original-title', OTbuf); } else { OTbuf="от 1 шт"; document.getElementById('n_plat_select').setAttribute('data-bs-original-title', OTbuf); } // скрывать разъемы if (parseInt(document.all.razem_yn_select.value) == 0) { document.getElementById("razem_hide1").hidden=1; document.getElementById("razem_hide2").hidden=1; document.getElementById("razem_hide3").hidden=1; document.getElementById("razem_hide4").hidden=1; } else { document.getElementById("razem_hide1").hidden=0; document.getElementById("razem_hide2").hidden=0; document.getElementById("razem_hide3").hidden=0; document.getElementById("razem_hide4").hidden=0;
}
switch (parseInt(document.all.razem_yn_select.value)) { case 0: { document.all.razem_n_select.disabled = 1; document.all.razem_s_input.disabled = 1; R1 = 0; break; } case 1: { document.all.razem_n_select.disabled = 0; document.all.razem_s_input.disabled = 0; R1 = price_razem * parseInt(document.all.razem_n_select.value) + price_razem_zol_mm2 * parseInt(document.all.razem_s_input.value); break; } case 2: { document.all.razem_n_select.disabled = 0; document.all.razem_s_input.disabled = 1; R1 = price_razem * parseInt(document.all.razem_n_select.value); break; } } if (parseInt(document.all.virez_yn_select.value) == 1) { // показать document.all.virez_input.hidden = 0; virezF = parseFloat(document.all.virez_input.value); document.getElementById("virez_hide1").hidden=0; var virezdiv = document.getElementById("virez_yn_div") virezdiv.classList.remove("col-sm-6"); virezdiv.classList.add("col-sm-3"); virezdiv.classList.add("pe-sm-0"); virezdiv.classList.add("pe-sm-1");
} else { // скрыть document.all.virez_input.hidden = 1; virezF = 0; document.getElementById("virez_hide1").hidden=1;
//
if (parseInt(document.all.kontur_select.value) != 0) FS1 = price_frez; else FS1 = 0; PP = PP1D * S_obsh; M = M1 * S_obsh; MR = MR1 * S_obsh; IZ = IZ1 * S_obsh; ImO = ImO1 * S_obsh; ET = ET1 * S_obsh; obrezL=((dlinna * 2 + shirina * 2) / 100) ALL_FREZ=obrezL + virezF FS = FS1 * (ALL_FREZ) * NUMB_plat; R = R1 * NUMB_plat; switch (KLASS) { case 3: K1 = 1; break; case 4: K1 = 1; break; case 5: K1 = 1.25; break; case 6: K1 = 1.5; break; default: K1 = 1.0; break; } switch (tolsh_plati) { case 0.10: if (NUMB_sloev <= 2) K2 = 1.2; else K2 = 1.0; break; case 0.25: if (NUMB_sloev <= 2) K2 = 1.2; else K2 = 1.0; break; default: K2 = 1.0; break; } if (S_odna_plata > 5) K3 = 1.12; else K3 = 1; K = K1 * K2 * K3; IZGOTOVL = (PP + M + MR + IZ + ImO + ET + FS + R) * K; OTbuf = (Math.round(PP * 100) / 100).toFixed(2); OTbuf = "ПП = S * (Цена_табличная + Д)= " + OTbuf + " руб. (" + PP1D + " руб. за 1дм²)"; document.getElementById("PP_label").innerHTML = OTbuf; OTbuf = (Math.round(M * 100) / 100).toFixed(2); OTbuf = "М= S * цена(маска)= " + OTbuf + " руб. (" + M1 + " руб. за 1дм²)"; document.getElementById("M_label").innerHTML = OTbuf; OTbuf = (Math.round(MR * 100) / 100).toFixed(2); OTbuf = "МР= S * цена(маркировка)= " + OTbuf + " руб. (" + MR1 + " руб. за 1дм²)"; document.getElementById("MR_label").innerHTML = OTbuf; OTbuf = (Math.round(IZ * 100) / 100).toFixed(2); OTbuf = "ИЗ= S * цена(иммерсионное золото)= " + OTbuf + " руб. (" + (Math.round(IZ1 * 100) / 100)+ " руб. за 1дм² = ("+price_im_gold+"руб. за 1дм² + (("+price_im_gold_mm2+"руб. за 1 мм² * Sплощадок= "+parseInt(document.all.gold_s_input.value)+"мм²) / (S1= "+(Math.round(S_odna_plata * 10000) / 10000)+"дм²))))"; document.getElementById("IZ_label").innerHTML = OTbuf; OTbuf = (Math.round(ImO * 100) / 100).toFixed(2); OTbuf = "ИО= S * цена(иммерсионное олово)= " + OTbuf + " руб. (" + ImO1 + " руб. за 1дм²)"; document.getElementById("ImO_label").innerHTML = OTbuf; OTbuf = (Math.round(ET * 100) / 100).toFixed(2); OTbuf = "ЭТ= S * цена(эл.контр. ОПП/ДПП)= " + OTbuf + " руб. (" + ET1 + " руб. за 1дм²)"; document.getElementById("ET_label").innerHTML = OTbuf; OTbuf = "ФС= LF * кол-во плат * цена(фрез./скрайб.)= " + (Math.round(FS * 100) / 100).toFixed(2) + " руб. (" + FS1 + " руб. за 1дм), (LF * кол-во плат= "+(Math.round(ALL_FREZ*NUMB_plat * 100) / 100)+"дм), (LF= "+(Math.round(ALL_FREZ * 10000) / 10000)+"дм= ((L= "+(Math.round(obrezL * 10000) / 10000)+" дм)+(F= "+(Math.round(virezF * 10000) / 10000)+" дм)))"; document.getElementById("FS_label").innerHTML = OTbuf; OTbuf = (Math.round(R * 100) / 100).toFixed(2); OTbuf = "Р= Кол-во плат * цена(золочение разъемов)= " + OTbuf + " руб. (" + R1 + " руб. для одной платы= ((кол-во разъемов= "+parseInt(document.all.razem_n_select.value)+" шт) * "+price_razem+"руб + "+price_razem_zol_mm2+"руб за 1 мм² * (S всех разъемов одной платы = "+parseInt(document.all.razem_s_input.value)+" мм²)))"; document.getElementById("R_label").innerHTML = OTbuf; OTbuf = "K1= 1.25 если проводник (ободок) / зазор / диаметр менее 0.15 / 0.15 / Ø 0.3 (мм), K1= 1.5 если менее 0.125 / 0.125 / Ø0.25 (мм)= " + K1+""; document.getElementById("K1_label").innerHTML = OTbuf; OTbuf = "K2= 1.2 если ОПП/ДПП < 0.36 мм = " + K2+""; document.getElementById("K2_label").innerHTML = OTbuf; OTbuf = "К3= 1.12 если размер одной платы или блока(без брака) > 5дм² = " + K3+""; document.getElementById("K3_label").innerHTML = OTbuf; OTbuf = (Math.round(K * 100) / 100).toFixed(2); OTbuf = "К=K1 * K2 * K3= " + OTbuf+""; document.getElementById("K_label").innerHTML = OTbuf; OTbuf = (Math.round(IZGOTOVL * 100) / 100).toFixed(2); OTbuf = "
Изготовление= (ПП + М + МР + ИЗ + ИО + ЭТ + ФС + Р) * K= " + OTbuf + " руб.
"; document.getElementById("IZGOTOVL_label").innerHTML = OTbuf;
document.all.new_std.value = (Math.round((PODG + IZGOTOVL * 1.0) * k_nds * 100) / 100).toFixed(2);
document.all.new_expr.value = (Math.round((PODG + IZGOTOVL * 1.3) * k_nds * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.new_super.value = (Math.round((PODG + IZGOTOVL * 2.0) * k_nds * 100) / 100).toFixed(2); else document.all.new_super.value = "до1000дм²";
document.all.dm_new_std.value = (Math.round((PODG + IZGOTOVL * 1.0) * k_nds / S_obsh * 100) / 100).toFixed(2);
document.all.dm_new_expr.value = (Math.round((PODG + IZGOTOVL * 1.3) * k_nds / S_obsh * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.dm_new_super.value = (Math.round((PODG + IZGOTOVL * 2.0) * k_nds / S_obsh * 100) / 100).toFixed(2); else document.all.dm_new_super.value = "до1000дм²";
document.all.odna_new_std.value = (Math.round((PODG + IZGOTOVL * 1.0) * k_nds / NUMB_plat * 100) / 100).toFixed(2);
document.all.odna_new_expr.value = (Math.round((PODG + IZGOTOVL * 1.3) * k_nds / NUMB_plat * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.odna_new_super.value = (Math.round((PODG + IZGOTOVL * 2.0) * k_nds / NUMB_plat * 100) / 100).toFixed(2); else document.all.odna_new_super.value = "до1000дм²";
document.all.old_std.value = (Math.round(IZGOTOVL * 1.0 * k_nds * 100) / 100).toFixed(2);
document.all.old_expr.value = (Math.round(IZGOTOVL * 1.3 * k_nds * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.old_super.value = (Math.round(IZGOTOVL * 2.0 * k_nds * 100) / 100).toFixed(2); else document.all.old_super.value = "до1000дм²";
document.all.dm_old_std.value = (Math.round(IZGOTOVL * 1.0 * k_nds / S_obsh * 100) / 100).toFixed(2);
document.all.dm_old_expr.value = (Math.round(IZGOTOVL * 1.3 * k_nds / S_obsh * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.dm_old_super.value = (Math.round(IZGOTOVL * 2.0 * k_nds / S_obsh * 100) / 100).toFixed(2); else document.all.dm_old_super.value = "до1000дм²";
document.all.odna_old_std.value = (Math.round(IZGOTOVL * 1.0 * k_nds / NUMB_plat * 100) / 100).toFixed(2);
document.all.odna_old_expr.value = (Math.round(IZGOTOVL * 1.3 * k_nds / NUMB_plat * 100) / 100).toFixed(2);
if (S_obsh <= 1000) document.all.odna_old_super.value = (Math.round(IZGOTOVL * 2.0 * k_nds / NUMB_plat * 100) / 100).toFixed(2); else document.all.odna_old_super.value = "до1000дм²";
document.getElementById("new_std").innerHTML = IZGOTOVL;
procent_expr=Math.round((100*document.all.new_expr.value/document.all.new_std.value)-100);
if(document.all.new_super.value!="до1000дм²")
procent_super=Math.round((100*document.all.new_super.value/document.all.new_std.value)-100);
else procent_super="100";
if (NUMB_sloev <= 2) { // ОПП и ДПП
if (parseInt(document.all.material_select.value) == 3) // проверка на алюминий
{ // алюминий (новый)
OTbuf = "Cерийный
от 20 дней
Стандарт";
document.getElementById("std_txt_label").innerHTML = OTbuf;
OTbuf = "Ускоренный
от 9 дней
+"+procent_expr+"%
";
document.getElementById("expr_txt_label").innerHTML = OTbuf;
OTbuf = "СуперЭкспресс
от 5 дней
+"+procent_super+"%";
document.getElementById("super_txt_label").innerHTML = OTbuf;
}
else { // все остальные материалы (новый)
OTbuf = "Cерийный
14-20 дней
Стандарт";
document.getElementById("std_txt_label").innerHTML = OTbuf;
OTbuf = "Ускоренный
7-8 дней
+"+procent_expr+"%
";
document.getElementById("expr_txt_label").innerHTML = OTbuf;
OTbuf = "СуперЭкспресс
2-3 дня
+"+procent_super+"%";
document.getElementById("super_txt_label").innerHTML = OTbuf;
}
// повторный
OTbuf = "Cерийный
Стандарт";
document.getElementById("std_txt_label2").innerHTML = OTbuf;
OTbuf = "Ускоренный
+30%";
document.getElementById("expr_txt_label2").innerHTML = OTbuf;
OTbuf = "СуперЭкспресс
+100%";
document.getElementById("super_txt_label2").innerHTML = OTbuf;
}
else { // многослойки
OTbuf = "Cерийный
20-25 дней
Стандарт";
document.getElementById("std_txt_label").innerHTML = OTbuf;
OTbuf = "Ускоренный
10-12 дней
+"+procent_expr+"%
";
document.getElementById("expr_txt_label").innerHTML = OTbuf;
OTbuf = "СуперЭкспресс
4-5 дней
+"+procent_super+"%";
document.getElementById("super_txt_label").innerHTML = OTbuf;
OTbuf = "Cерийный
Стандарт";
document.getElementById("std_txt_label2").innerHTML = OTbuf;
OTbuf = "Ускоренный
+30%";
document.getElementById("expr_txt_label2").innerHTML = OTbuf;
OTbuf = "СуперЭкспресс
+100%";
document.getElementById("super_txt_label2").innerHTML = OTbuf;
}
}
function show_hide() { window.location.hash = "indetail"; //если попробный расчет показан то перейдет, инече нет //$('.collapse').collapse('show') // отобразить скрытый div var collapseElementList = [].slice.call(document.querySelectorAll('.collapse')) var collapseList = collapseElementList.map(function (collapseEl) { return new bootstrap.Collapse(collapseEl) }) }
function close_indetail() { //$('.collapse').collapse('hide') var myCollapse = document.getElementById('indetail') var bsCollapse = new bootstrap.Collapse(myCollapse, { hide: true })
}
function copy_calculation_report_to_clipboard () {
var buttreport = document.getElementById("buttoncopytoclipboard") buttreport.classList.remove("bi-clipboard-plus"); buttreport.classList.add("bi-clipboard-check");
//OTbuf="Готово!"; //buttreport.setAttribute('data-bs-original-title', OTbuf); //OTbuf="Скопировать результаты расчета в буфер обмена"> //var carousel = bootstrap.Tooltip.getInstance(buttreport) // Retrieve a Carousel instance //carousel.tooltip('hide'); //carousel.to('1')
buttreport.addEventListener( 'mouseover', function () { //tooltip = tooltipUpdate( button, tooltip, 'Скопировать' ); this.classList.remove( 'bi-clipboard-check' ); this.classList.add( 'bi-clipboard-plus' ); } );
//let OTbuf = "1111текст отчета"+"n"+"2222"+"n"+"3333"; //let text = OTbuf; OTbuf="Предварительный расчет стоимости изготовления печатных плат";
OTbuf += "rn"+"———————————"; //конструктив OTbuf+="rn"+"Конструктив: ("+NUMB_sloev+"/"; switch (tolsh_plati) { case 0.10: OTbuf+="01"; break; case 0.25: OTbuf+="025"; break; case 0.36: OTbuf+="036"; break; case 0.51: OTbuf+="05"; break; case 0.71: OTbuf+="071"; break; case 1.0: OTbuf+="10"; break; case 1.5: OTbuf+="15"; break; case 2.0: OTbuf+="20"; break; case 2.5: OTbuf+="25"; break; case 3.0: OTbuf+="30"; break; } OTbuf+="/"+tolsh_folgi+"/"; switch (parseInt(document.all.material_select.value)) { case 1: OTbuf+="FR)."; break; case 2: OTbuf+="СТФМи)."; break; case 3: OTbuf+="Алюм)."; break; case 4: OTbuf+="HTG)."; break; } OTbuf+="rn"+"Размер: "+dlinna+" мм x "+shirina+" мм.";
OTbuf+="rn"+"Площадь одной платы: "+(Math.round(S_odna_plata * 10000) / 10000)+" дм².";
OTbuf+="rn"+"Количество плат: "+NUMB_plat+" шт."; OTbuf+="rn"+"Общая площадь: "+(Math.round(S_obsh * 10000) / 10000)+" дм²."; OTbuf+="rn"+"Количество слоев: "+NUMB_sloev+" шт."; OTbuf+="rn"+"Толщина платы: "+tolsh_plati+" мм."; OTbuf+="rn"+"Толщина фольги: "+tolsh_folgi+" мкм.";
OTbuf+="rn"+"Материал: "; switch (parseInt(document.all.material_select.value)) { case 1: OTbuf+="FR4."; break; case 2: OTbuf+="СТФ/Ми."; break; case 3: OTbuf+="Алюминий."; break; case 4: OTbuf+="FR4 High Tg."; break; }
OTbuf+="rn"+"Паяльная маска: "; switch (NUMB_mask) { case 0: OTbuf+="отсутствует."; break; case 1: OTbuf+="с одной стороны "; break; case 2: OTbuf+="с двух сторон "; break; }
if(NUMB_mask>0) { switch (parseInt(document.all.mask_color_select.value)) { case 0: OTbuf+="(зеленая, "; break; //зеленая case 1: OTbuf+="(черная, "; break; //черная case 2: OTbuf+="(красная, "; break; //красная case 3: OTbuf+="(синяя, "; break; //синяя case 4: OTbuf+="(белая, "; break; //белая } if (parseInt(document.all.mask_type_select.value) == 1) OTbuf+="пленочная)."; else OTbuf+="жидкая)."; } OTbuf+="rn"+"Маркировка: "; switch (NUMB_mark) { case 0: OTbuf+="отсутствует."; break; case 1: OTbuf+="с одной стороны."; break; case 2: OTbuf+="с двух сторон."; break; }
OTbuf+="rn"+"Покрытие: "; switch (parseInt(document.all.pokritie_select.value)) { case 0: OTbuf+="ПОС-63."; break; case 1: OTbuf+="иммерсионное олово."; break; case 2: OTbuf+="иммерсионное золото"; break; case 3: OTbuf+="отсутствует (голая медь)."; break; }
if(parseInt(document.all.pokritie_select.value)==2) OTbuf+=" (площадь золота: "+parseInt(document.all.gold_s_input.value)+ " мм²).";
OTbuf+="rn"+"Разъемы: "; switch (parseInt(document.all.razem_yn_select.value)) { case 0: OTbuf+="нет."; break; case 1: {OTbuf+="золото ("+parseInt(document.all.razem_n_select.value)+"шт, площадь золота: "+parseInt(document.all.razem_s_input.value)+ " мм²)."; break; } case 2: {OTbuf+="никель ("+parseInt(document.all.razem_n_select.value)+"шт).";break;} }
OTbuf+="rn"+"Обработка контура: "; switch (parseInt(document.all.kontur_select.value)) { case 0: OTbuf+="отсутствует"; break; case 1: OTbuf+="фрезеровка"; break; case 2: OTbuf+="скрайбирование"; break; } OTbuf+=" (обрезка L="+(Math.round(obrezL * 10000) / 10000)+" дм).";
OTbuf+="rn"+"Вырезы/окна: "; if(parseInt(document.all.virez_yn_select.value)==1) OTbuf+="есть (F="+virezF+" дм)."; else OTbuf+="нет.";
OTbuf+="rn"+"Электроконтроль: "; if(parseInt(document.all.econtrol_select.value)==1) OTbuf+="выполняется."; else OTbuf+="отсутствует.";
OTbuf+="rn"+"Сложность: "; switch (parseInt(document.all.klass_select.value)) { case 4: OTbuf+="проводник 0.15 мм и больше / зазор 0.15 мм и больше / отверстие Ø 0.3 мм и больше."; break; case 5: OTbuf+="проводник менее 0.15 мм / зазор менее 0.15 мм / отверстие менее Ø 0.3 мм."; break; case 6: OTbuf+="проводник менее 0.125 мм / зазор менее 0.125 мм / отверстие менее Ø 0.25 мм."; break; }
OTbuf += "rn"+"Дата расчета: "+date_time();
OTbuf += "rn"+"———————————";
if(NUMB_sloev>2) // многослойные { OTbuf+="rn"+"Новый заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"20-25 дней (Стандарт): "+document.all.new_std.value+" руб. За одну плату: "+document.all.odna_new_std.value+" руб."; OTbuf+="rn"+"10-12 дней (Ускоренный): "+document.all.new_expr.value+" руб. За одну плату: "+document.all.odna_new_expr.value+" руб."; OTbuf+="rn"+"4-5 дней (СуперЭкспресс): "+document.all.new_super.value+" руб. За одну плату: "+document.all.odna_new_super.value+" руб.";
OTbuf+="rnrn"+"Повторный заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"20-25 дней (Стандарт): "+document.all.old_std.value+" руб. За одну плату: "+document.all.odna_old_std.value+" руб."; OTbuf+="rn"+"10-12 дней (Ускоренный): "+document.all.old_expr.value+" руб. За одну плату: "+document.all.odna_old_expr.value+" руб."; OTbuf+="rn"+"4-5 дней (СуперЭкспресс): "+document.all.old_super.value+" руб. За одну плату: "+document.all.odna_old_super.value+" руб."; } else // однослойные и двуслойные {
if (parseInt(document.all.material_select.value) == 3) // проверка на алюминий { //алюминий OTbuf+="rn"+"Новый заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"от 20 дней (Стандарт): "+document.all.new_std.value+" руб. За одну плату: "+document.all.odna_new_std.value+" руб."; OTbuf+="rn"+"от 9 дней (Ускоренный): "+document.all.new_expr.value+" руб. За одну плату: "+document.all.odna_new_expr.value+" руб."; OTbuf+="rn"+"от 5 дней (СуперЭкспресс): "+document.all.new_super.value+" руб. За одну плату: "+document.all.odna_new_super.value+" руб.";
OTbuf+="rnrn"+"Повторный заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"от 20 дней (Стандарт): "+document.all.old_std.value+" руб. За одну плату: "+document.all.odna_old_std.value+" руб."; OTbuf+="rn"+"от 9 дней (Ускоренный): "+document.all.old_expr.value+" руб. За одну плату: "+document.all.odna_old_expr.value+" руб."; OTbuf+="rn"+"от 5 дней (СуперЭкспресс): "+document.all.old_super.value+" руб. За одну плату: "+document.all.odna_old_super.value+" руб."; } else { // все остальные материалы OTbuf+="rn"+"Новый заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"14-20 дней (Стандарт): "+document.all.new_std.value+" руб. За одну плату: "+document.all.odna_new_std.value+" руб."; OTbuf+="rn"+"7-8 дней (Ускоренный): "+document.all.new_expr.value+" руб. За одну плату: "+document.all.odna_new_expr.value+" руб."; OTbuf+="rn"+"2-3 дня (СуперЭкспресс): "+document.all.new_super.value+" руб. За одну плату: "+document.all.odna_new_super.value+" руб.";
OTbuf+="rnrn"+"Повторный заказ, цена с НДС("; if(k_nds=1.2) OTbuf+="20%):"; OTbuf+="rn"+"14-20 дней (Стандарт): "+document.all.old_std.value+" руб. За одну плату: "+document.all.odna_old_std.value+" руб."; OTbuf+="rn"+"7-8 дней (Ускоренный): "+document.all.old_expr.value+" руб. За одну плату: "+document.all.odna_old_expr.value+" руб."; OTbuf+="rn"+"2-3 дня (СуперЭкспресс): "+document.all.old_super.value+" руб. За одну плату: "+document.all.odna_old_super.value+" руб."; }
}
window.navigator.clipboard.writeText( OTbuf );
} /************************/
function send_to_server() { alert('sdfgdg'); // document.getElementById('start').submit(); }
/**********************/
/* функция добавления ведущих нулей */ /* (если число меньше десяти, перед числом добавляем ноль) */ function zero_first_format(value) { if (value < 10) { value='0'+value; } return value; } function date_time() { var current_datetime = new Date(); var day = zero_first_format(current_datetime.getDate()); var month = zero_first_format(current_datetime.getMonth()+1); var year = current_datetime.getFullYear(); //var hours = zero_first_format(current_datetime.getHours()); //var minutes = zero_first_format(current_datetime.getMinutes()); //var seconds = zero_first_format(current_datetime.getSeconds()); //return day+"."+month+"."+year+" "+hours+":"+minutes+":"+seconds; //return year+"."+month+"."+day; return day+"."+month+"."+year; }