Похоже, вы добавили столбец в список деталей, но не добавили значение для этого <td></td>
, поэтому я думаю, что это может решить одну проблему html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><input type="text" value="%s" id="%s" size="6" /></td><td><input type="button" value="Order" onClick="moveToOrder(\'%s\',\'%s\');"/></tr>',pA[i][0],pA[i][1],pA[i][2],pA[i][3],pA[i][4],"inv-"+ Number(i+2),pA[i][2],i+2,"q-"+ Number(i+2));
Я также заметил, что у вас теперь естьцитаты в вашем размере и типе и, возможно, в других местах, поэтому я думаю, что вам придется искать цитаты в ваших данных и избегать их, и, вероятно, поэтому он не копирует сейчас.Но, честно говоря, я не могу быть уверен.
Внутри ваших данных о размере и типе есть "кавычки", как показано ниже:
Скорее всего, вы получили некорректную ошибку HTML.
Возможно, вы можете использовать что-то вроде этого pA[i][2].toString().replace(/"/g,'\\"');
Итак, строка html становится примерно такой:
html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><input type="text" value="%s" id="%s" size="6" /></td><td><input type="button" value="Order" onClick="moveToOrder(\'%s\',\'%s\');"/></tr>',pA[i][0],pA[i][1],pA[i][2].toString().replace(/(")/g,'\\"'),pA[i][3],pA[i][4],"inv-"+ Number(i+2),pA[i][2],i+2,"q-"+ Number(i+2));
I 'Мы постарались сделать это как можно более понятным. Я переписал код немного по-другому, чтобы заголовки столбцов заголовков могли использоваться для идентификации данных.
function getInventory() {//show order dialog for selecting parts
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Part List');
var rg=sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn());
var pA=rg.getValues();
var dObj={};
var hA=sh.getRange(1,1,1,sh.getLastColumn()).getValues()[0].map(function(r){return r.replace(/ /g,'');});
var html="<style>td,th{border:1px solid black;}</style><table>";
html+='<tr><th>Brand</th><th>Product Description</th><th>Size and Type</th><th>Item Number</th><th>Quantity</th><th> </tr>';
for(var i=0;i<pA.length;i++) {
for(var j=0;j<pA[i].length;j++) {
dObj[hA[i][j]]=pA[i][j];
}
html+=Utilities.formatString('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><input type="text" value="%s" id="%s" size="6" /></td><td><input type="button" value="Order" onClick="moveToOrder(\'%s\',\'%s\');"/></tr>',dObj.Brand,dObj.ProductDescription,dObj.SizeandType.replace(/(")/g,'\\"'),dObj.ItemNumber,dObjQuantity,'q-' + Number(i+2),dObj.ItemNumber,i+2);
}
html+='</table>';
var orderObj={html:html};
return orderObj;
}
А вот эскиз, который, я надеюсь, поможетпомочь вам понять, что здесь происходит.
Пока я смотрю на это, я не уверен, что это поможет вообще. Но я уйдуна данный момент.