Показать сообщение отдельно
  #9 (permalink)  
Старый 28.03.2011, 23:22
Новичок на форуме
Отправить личное сообщение для Rich Посмотреть профиль Найти все сообщения от Rich
 
Регистрация: 25.03.2011
Сообщений: 7

По всякому развлекался, но не получается. Вот куски кода...
<input type="checkbox" name="installation_n" onclick="nast()"/>Наш монтаж<br>
 <table id="equip">
 </table> 
 <script type="text/javascript" src="file:///G:/Insyte5/commerc.js"></script> 
 <input type="button" name="comerc_n" id="comerc_id" value="Сформировать коммерческое предложение" onclick="commerc()"/> 
 <script type="text/javascript" src="file:///G:/Insyte5/table.js"></script>


скрипт commerc.js
function t_equipment(name, type_s)
	 {
	  this.type_s = type_s;
	  this.name = name;
	 }
	 
	 var a_equipment = new Array();
	 a_equipment[0] = new t_equipment("Логический контроллер", "logic_controllers")
	 a_equipment[1] = new t_equipment("Встраиваемые микромодули", "embeddable_micromodules")
	 
	 function equipment(name, price, count, vsego, description, t_equipment, id)
	 {
	  this.name = name;   
	  this.price = price;
	  this.count = count; 
	  this.vsego = vsego; 
	  this.description = description;
	  this.t_equipment = t_equipment;
      this.id = id;	  
	 }	 
	 //equipment.id = document.getElementById("equip");
	 
	 var n_equipment = new Array();	 
	 n_equipment[0] = new equipment("SPIDER2", 500, "", "", "Программируемый логический контроллер, USB, Ethernet, RS-485, RS-232, 1-Wire, 4 реле, 4 дискр. входа, 2 аналог. входа, GSM-модем, GSM-антенна, USB-кабель, DIN", a_equipment[0])
	 n_equipment[1] = new equipment("SPIDER", 250, "", "", "Программируемый логический контроллер, RS-485, RS-232, блок питания, кабель, DIN", a_equipment[0])

 function n_montaj(names, price, vsego)
 {
  this.names = names;
  this.price = price;
 } 
 var montaj = new Array();
 montaj[0] = new n_montaj();
 montaj[1] = new n_montaj("Работы по монтажу системы", 100);

скрипт table.js
function commerc()
 {
     var vss = 0;
     var pusk = 0; 	 
     comm = window.open("", "Автоматизация",     "width = 1200px, height = 1600px, status=yes, toolbar=yes, menubar=yes", true);
     comm.document.open();      
	 comm.document.write("<h2 align='center'> Коммерческое предложение </h2>");

     var strTab = "<table border='2' ><tr>"
	 strTab += "<th> Тип </th><th width=100px> Наименование </th><th width=80px> Цена </th><th width=65px> Кол-во </th><th width=100px >"
	 strTab += "Всего </th><th width=550px > Описание </th>" 	 
	 for(var i = 0; i <= n_equipment.length - 1; i ++) 
	 {
	  vss = parseFloat(1 * (n_equipment[i].price));
	  strTab += "<TR><TD>" + n_equipment[i].t_equipment.name + "</TD><TD align=left >" + n_equipment[i].name 
	  strTab += "</TD><TD align=center >" + n_equipment[i].price + "</TD><TD align=center >" + 1/*n_equipment[i].count*/ 
	  strTab += "</TD><TD align=center >" + vss/*n_equipment[i].vsego*/ + "</TD><TD><h5>" + n_equipment[i].description + "</h5></TD></TR>"  
	 } 
 	 strTab += "</table>"  
	 comm.document.write(strTab); 	
	//******************************************************************
	// Подсчёт количества элементов
	 var col = 0;	 
	 var count_col = new Array();
	 for( var i = 1; i < document.getElementById("equip").rows.length; i ++)
	 {
	  count_col = parseInt(document.getElementById("equip").rows[i].cells[3].innerHTML);
	  col += count_col;  
	 } 	 
	 strTab = "<table border='2' ><tr>"  
	 strTab += "<tr><td align='right' width='495px' >Кол-во: " + col + "</td></tr>"
	 strTab += "</table>"  
	 comm.document.write(strTab);	  
	//****************************************************************** 
	// Подсчёт итоговой суммы     
	 var vs = 0;
	 var count_vs = new Array();
	 for( var i = 1; i < document.getElementById("equip").rows.length; i ++)
	 {
	  count_vs = parseFloat(document.getElementById("equip").rows[i].cells[2].innerHTML);
	  vs += count_vs;
	  //alert(vs);  
	 }	 
	 strTab = "<table border='2' ><tr>"
	 strTab += "<tr><td align='right' width='600px' > Итого стоимость оборудования: " + vs + " руб.</td></tr>"
	 strTab += "</table>" 
	 comm.document.write(strTab);  	 
    //******************************************************************
    // Виды работ	 
	 strTab = "<table 'border='2' ><tr>"
	 strTab += "<th align='center' width=40px > №: </th><th align='left' width=600px > Наименование работ "
	 strTab += "</th><th align='center' width=90px > Кол-во (шт.) </th><th align='center' width=80px > Цена (руб.) "
	 strTab += "</th><th align='center' width=100px > Сумма (руб.) </th>"	 
	 var mvs = 0;
	 for(var i = 1; i <= montaj.length - 1; i ++) 
	 {
	  mvs = parseFloat(col * (montaj[i].price));
	  strTab += "<TR><TD align=center>" + i + "</TD><TD align=left>" + montaj[i].names + "</TD><TD align=center>" + col  
	  strTab += "</TD><TD align=right>" + montaj[i].price + "</TD><TD>" + mvs + "</TD></TR>"       
	 }   
	 strTab += "</table>" 
	 comm.document.write(strTab);	 
	//******************************************************************
	// Расчёт суммы пусконаладочных работ
	 strTab = "<table border='2'> <tr>"
	 strTab += "<tr><td align='left' width='645px'> Пуск и наладка составляет 15% от стоимости оборудования и монтажных работ: </td><td>" 
	 strTab += + pusk + " руб.</td></tr>" 
	 strTab += "</table>"
	 comm.document.write(strTab); 
     comm.document.close();  
 }


В итоге я смог добиться что формируются все 3 таблицы, но перебор элементов в таблице не происходит. Причина по которой я не могу найти ошибку или внести изменения в код, банальна, нет достаточных для данной работы знаний. Я это делаю для себя, не для кого-нибудь. Поэтому прошу, люди добрые помогите
Ответить с цитированием