• Как правильно окрасить строку в таблице в цикле через переменные?

    vladd56
    @vladd56 Автор вопроса
    Alexander Ivanov, Вот полный код
    // Продажи на Prom ua
     async function getResponse() {
     
     var ss = SpreadsheetApp.getActiveSpreadsheet();
     var sheet1 = ss.getSheetByName('Продажи на Prom ua');
     var spreadsheet = SpreadsheetApp.getActive();
     var summaa =0;
     var key; 
     var id;
     let orderList; 
     let lngth;
     let x = 0;
     let v=0;
     let responseCode=0;
     let result ;
     let storeSt = {};
     let data = [];
     let str= "";
     let strprice = '';
    sheet1.getRange("A1:F100").setHorizontalAlignment('center');
    
    
     var headers = {
      'Authorization': **********************************************,
     'contentType': 'application/json; charset=utf-8'
    };    
     
    var options = {
          'method' : 'get',
          'headers': headers
              
    };
    while (x < 10) {        
             result = await UrlFetchApp.fetch('https://my.prom.ua/api/v1/orders/list', options);         
            if (result) {break;}        
          x++
    }; 
     orderList =  JSON.parse(result.getContentText());  
     var orderList1 = JSON.stringify(orderList, null, 2);
     //Logger.log(orderList1); 
    
    if(orderList){
    let value = sheet1.getRange('B2').getValue();       
        sheet1.getRange('R1').setValue(value);
        
           lngth = orderList['orders'].length;
    for (let i = 0; i<lngth; i++ ){
         if(orderList['orders']){ 
            id =  orderList['orders'][i]['id'];
       //Ищем такой же id в старых записях 
            lr = sheet1.getLastRow();
    //Создаём массив из id со второго стобца         
    if(id){
       if(lr>1){
           let ran = sheet1.getRange(1,2,lr,1);        
               data = ran.getValues(); 
         for (let t = lr; t>0; t--){
            let key = data[t];
            storeSt[key] = t+1;
          }; }; 
      if(storeSt[id]==null){
      value = sheet1.getRange('B2').getValue()
      let value1 = sheet1.getRange('R1').getValue()
       Logger.log('value =',value);
       Logger.log('value1 =',value1);
        if (value == value1&&value>1){
                   var lr1 = sheet1.getLastRow();
                   let lc = sheet1.getLastColumn(); 
                   sheet1.getRange(2, 1, lr1, lc).activate();
                   spreadsheet.getActiveRangeList().setBackground('#fff2cc')
                   .setFontWeight('bold');
         };
            //Заполняем первый запрос для таблицы
           
            var cell = sheet1.getRange(lr+1,2);
                cell.setValue(id);
                
                     var stringg = orderList["orders"][i]["date_created"];
                         stringg = stringg.replace("T"," \nT ");
                         stringg = stringg.replace("."," \n. ");
                cell = sheet1.getRange(lr+1,1);            
                cell.setValue(stringg);
                
                var firstname = orderList["orders"][i]['client_first_name'];
               var secondname = orderList["orders"][i]['client_second_name'];
               var lastname = orderList["orders"][i]['client_last_name'];
               if (firstname == null){firstname = ' '};
               if (secondname == null){secondname = ' '};
               if (lastname == null){lastname = ' '};
               var name = firstname + "\n" + secondname + "\n"+ lastname;
                    cell = sheet1.getRange(lr+1,3);
                    cell.setValue(name);
                    
                    cell = sheet1.getRange(lr+1,4);
                    cell.setValue(orderList["orders"][i]['phone']);
    //****************************************************************************************************************************************************************
           for ( key in orderList["orders"][i]['products']){
               var nproducts = orderList["orders"][i]['products'].length;
            };
            cell = sheet1.getRange(lr+1,6);
            cell.setValue(nproducts);
            
            if(nproducts>1){
                str = ' ';
            for (var j = 0; j<nproducts; j++ ){
                  var prname = [];
                    prname[j] = orderList["orders"][i]['products'][j]['name'];
                    /* var ProductName=prname[j];
                     var result1 = check('Прейскурант товаров', 'A:A', ProductName) // Проверка товара на наличие в листе Прейскурант товаров
               if (result1 && nproducts ==1){
               cell = sheet1.getRange(lr+1,getRange(lr+1,17));
               cell.setValue('Прейскурант');
               }*/
                      str +=(j+1)+'.'+prname[j]+'\n';
                      }}
                    else{
                    str =  orderList["orders"][i]['products'][0]['name']};
                        n = 30;
                   while(n < str.length) {
                         while(str[n] !== " " && n < str.length) {
                                      n++
                               }
                   str = str[n] ? str.slice(0, n) + str[n].replace(" ", '\r\n') + str.slice(n+1) : str;n += (30 + 1);
                    }
                    cell = sheet1.getRange(lr+1,5);
                    cell.setValue(str);
                     
     //****************************************************************************************************************************************************************************         
                     // Общая сумма за товар
                     var temp = orderList["orders"][i]['price'];
                     price = parseInt(temp.match(/^(.*?)\sгрн./));
                        temp = Math.round(price);
                    cell = sheet1.getRange(lr+1,7);
                    cell.setValue(temp);
                    var summa = orderList["orders"][i]['products'][0]['quantity'] * temp;                
                
                    var  lngth1 = orderList["orders"][i]['products'].length;
                    if (lngth1>1){
                for ( v = 0; v<lngth1; v++ ){
                  var  price = orderList["orders"][i]['products'][v]['price'];
                   price = parseInt(price.match(/^(.*?)\sгрн./));
                   price = Math.round(price);
                 if(v<lngth1-1){
                               strprice= strprice + price +'грн. '+ '+';
                   } 
                  else {strprice= strprice + price+'грн. '}
                       }
                      var sum = summa+"грн."+" "+'='+ strprice
                      n = 4;   
                 while(n < sum.length) {
                         while(sum[n] !== " " && n < sum.length) {n++}
                       sum = sum[n] ? sum.slice(0, n) + sum[n].replace(" ", '\r\n\n') + sum.slice(n+1) : sum;n += (4 + 1);
                  }  
                    cell = sheet1.getRange(lr+1,8);
                    cell.setValue(sum); 
                    strprice= "";
    
                   }
                    
                  else {
                  cell = sheet1.getRange(lr+1,8)
                  cell.setValue(summa+"грн.")};
        
                    
               if(orderList["orders"][i]['payment_option']!=null){
                      var paymentt = orderList["orders"][i]['payment_option']['name'];
                      k = Math.round(paymentt.length/4); 
                         n = k;
              while(n < paymentt.length) {
                 while(paymentt[n] !== " " && n < paymentt.length) {n++}
                       paymentt = paymentt[n] ? paymentt.slice(0, n) + paymentt[n].replace(" ", '\r\n') + paymentt.slice(n+1) : paymentt;n += (k + 1);
                       
              }
                    cell = sheet1.getRange(lr+1,9);
                    cell.setValue(paymentt);//Вид оплаты                
               };
              
                 const address = orderList["orders"][i]['delivery_address'];
                // Logger.log('address=',address); 
               Address (address);   
                 
                var stats = '';
                       stats = orderList["orders"][i]['status'];
                   if (stats == 'received'){stats = 'Принят'};
                   if (stats == 'delivered'){stats = 'доставлен'};
                   if (stats == 'canceled'){stats = 'отменён'};
                   if (stats == 'paid'){stats = 'оплаченный'};
                   if (stats == 'pending'){stats = 'Новый'};
                    Logger.log('stats =', stats );
                    cell = sheet1.getRange(lr+1,14);
                    cell.setValue(stats);
                    
                    lr = sheet1.getLastRow();
                    lc = sheet1.getLastColumn();               
                   sheet1.getRange(lr, 1, lr, lc).setBackground('#ffff00')
                   spreadsheet.getRange('B:B').activate();
                   spreadsheet.getActiveSheet().sort(2, true)
                   .sort(2, false);
                   
            }; };} };   };
             
             sheet1.getRange('R1').clear({contentsOnly: true});
           
             var lr = sheet1.getLastRow();
             var lc = sheet1.getLastColumn();         
             sheet1.getRange(lr+1, 1, lr+24, lc).setBackground(null)
             .setBorder(false, false, false, false, false, false);
             sheet1.getRange(lr, 1, lr, lc).setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
             sheet1.getRange('A1').activate();
    };

    Окрашивание в последних строках.
  • Можно ли остановить выполнение программы на точке останова если запускать выполнение программы из сайдбара снаружи?

    vladd56
    @vladd56 Автор вопроса
    Сама функция
    function writeStrInTable(e) {
        var ProfitRatio = e.profit_ratio;
        var ManagerRatio = e.manager_ratio;
        var AdRatio = e.ad_ratio;
     
        // Получаем объект с активной (открытой в данный момент) таблицей
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var sheet = ss.getActiveSheet();
        var sheetname = ss.getSheetByName('Продажи на Prom ua');
        var lastRow = sheetname.getLastRow();
        var lastColumn = sheetname.getLastColumn();
        for (var i = 2; i < lastRow; i++) {
          for (var j = 1; j < lastColumn; j++) {
      
      var sheet1 = ss.getSheetByName('Продажи на Prom ua');
      if(sheet1.getRange(i, 5).getFontColor() == "#ff0000"){ 
      
      let NamePr = sheet1.getRange(i,5).getValue(); 
      let price = sheet1.getRange(i,7).getValue(); 
      
       break;
            }}
            
       var result =   check('Прейскурант товаров', 'A:A', NamePr) 
       sheet1.getRange(i,3).activate();
       if (result){
        // Записываем полученные данные в таблицу 'Прейскурант товаров'
        
        var sheetname = ss.getSheetByName('Прейскурант товаров');
        sheetname.getRange(i,3).activate();
        sheetname.getRange(result, 2).setValue(price - price*ProfitRatio); 
       sheetname.getRange(result, 3).setValue(ProfitRatio);
       sheetname.getRange(result, 4).setValue(price);
       sheetname.getRange(result, 5).setValue(ManagerRatio);
       sheetname.getRange(result, 6).setValue(AdRatio);
      }
      else{
      sheet1.getRange(i,3).activate();
      var lRow = sheetname.getLastRow()+1;
      sheetname.getRange(lRow, 1).setValue(NamePr);
      sheetname.getRange(lRow, 2).setValue(price - price*ProfitRatio); 
       sheetname.getRange(lRow, 3).setValue(ProfitRatio);
       sheetname.getRange(lRow, 4).setValue(price);
       sheetname.getRange(lRow, 5).setValue(ManagerRatio);
       sheetname.getRange(lRow, 6).setValue(AdRatio);
      }
      };
        return "Всё прошло успешно!";
    }
  • Можно ли остановить выполнение программы на точке останова если запускать выполнение программы из сайдбара снаружи?

    vladd56
    @vladd56 Автор вопроса
    Попробовал сделать так
    function FunctionCall(){
    writeStrInTable(e);
    }

    Но на самой функции writeStrInTable() программы вылетает.
    Так как рабочий вызов из сайдбара
    function showSidebar() {
     
        // Подключаем Bootstrap
        //var sidebarHTML = HtmlService.createTemplateFromFile("client");
        var sidebarHTML = '<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">';
        // Подключаем jQuery
        
       sidebarHTML += '<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>';
        
        
        sidebarHTML += '<form style="padding: 20px;text-align:center;">\
            <div class="form-group">\
                <label for="profit_ratio">Коэффициет прибыли</label>\
                <input type="text" class="form-control" id="profit_ratio" name="profit_ratio" value="">\
            </div>\
            <div class="form-group">\
                <label for="manager_ratio">Коэффициет менеджера</label>\
                <input type="text" class="form-control" id="manager_ratio" name="manager_ratio" value="">\
            </div>\
            <div class="form-group">\
                <label for="ad_ratio">Коэффициет рекламы</label>\
                <input type="text" class="form-control" id="ad_ratio" name="ad_ratio" value="">\
            </div>\
            <button type="submit" class="btn btn-primary">Записать данные в таблицу</button>\
            <br><br><br>\
            <button type="button" id="sidebarClose" class="btn btn-danger">Закрыть сайдбар</button>\
        </form>';
     
        // Создаём форму
    
        // Добавляем скрипты
        // При сабмите формы вызываем функцию writeStrInTable() и передаём ей введённые данные
        // https://developers.google.com/apps-script/guides/html/reference/run
        // При клике на кнопку 'Закрыть сайдбар' закрываем его
        // https://developers.google.com/apps-script/guides/html/reference/host#close()
        //**********************************************************************************************************************************************
         sidebarHTML += "<script>\
         $(document).on('submit', 'form', function () { \
            google.script.run \
         .withSuccessHandler(function (resultMsg) { \
                      alert(resultMsg);\
             })\
         .writeStrInTable(\
                    { profit_ratio: $('#profit_ratio').val(), manager_ratio: $('#manager_ratio').val(), ad_ratio: $('#ad_ratio').val() }\
         );\
            return false;\
         });\
    \
         $('#sidebarClose').on('click', function() {\
            google.script.host.close();\
         });\
         </script>";
        var htmlOutput = HtmlService
            .createHtmlOutput(sidebarHTML)
            .setTitle('Цвет текста в ячейке поменялся');
        SpreadsheetApp.getUi().showSidebar(htmlOutput);
     
    }

    такой
    .writeStrInTable(\
                    { profit_ratio: $('#profit_ratio').val(), manager_ratio: $('#manager_ratio').val(), ad_ratio: $('#ad_ratio').val() }

    Что делать? Как правильно вызвать функцию writeStrInTable()?
  • Как использовать Bootstrap и jQuery, не используя внешний источник?

    Alexander Ivanov, Заменил
    var sidebarHTML = '<?!= include('bs'); ?>';
    на
    var sidebarHtml = HtmlService.createTemplateFromFile("client");
  • Как использовать Bootstrap и jQuery, не используя внешний источник?

    Сделал всё так как обсуждалось. Теперь вылетает на строке
    .setTitle('Цвет текста в ячейке поменялся'));
    В функции
    function showSidebar() { 
      var htmlTemplate = HtmlService
        .createTemplateFromFile('client');
      SpreadsheetApp.getUi().showSidebar1(htmlTemplate.evaluate()
        .setTitle('Цвет текста в ячейке поменялся'));
    }
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    Вот ссылка на API загрузки городов
    https://devcenter.novaposhta.ua/docs/services/556d7ccaa0fe4f08e8f7ce43/operations/556d885da0fe4f08e8f7ce46

    Ответ сервера по поводу списка городов
    [20-06-09 12:41:20:541 EEST] Отчет журнала сокращен из-за слишком большого размера. {infoCodes=[], warnings=[], errors=[], errorCodes=[], messageCodes=[], data=[{Postomat=0.0, DescriptionRu=Абазовка (Полтавский р-н, Полтавская обл), Area=71508137-9b87-11de-822f-000c2965ae0e, Delivery7=0, Delivery3=1, SpecialCashCheck=1.0, AreaDescriptionRu=Полтавская, IsBranch=0, Delivery2=0, SettlementTypeDescription=село, Delivery6=0, Conglomerates=null, SettlementTypeDescriptionRu=село, Delivery4=0, CityID=2667, Delivery1=1, Description=Абазівка (Полтавський р-н, Полтавська обл), Ref=fc5f1e3c-928e-11e9-898c-005056b24375, AreaDescription=Полтавська, PreventEntryNewStreetsUser=null, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Delivery5=1}, {Delivery6=1, PreventEntryNewStreetsUser=null, AreaDescriptionRu=Одесская, Description=Авангард, Delivery4=1, SettlementType=563ced11-f210-11e3-8c4a-0050568002cf, Ref=8e1718f5-1972-11e5-add9-005056887b8d, SettlementTypeDescriptionRu=поселок городского типа, Delivery3=1, CityID=1042, IsBranch=0, AreaDescription=Одеська, Area=71508136-9b87-11de-822f-000c2965ae0e, Delivery2=1, SettlementTypeDescription=селище міського типу, Delivery7=0, Conglomerates=null, DescriptionRu=Авангард, Delivery5=1, SpecialCashCheck=1.0, Delivery1=1, Postomat=0.0}, {Postomat=0.0, Delivery2=0, Delivery7=0, Delivery6=0, DescriptionRu=Августиновка, AreaDescription=Запорізька, Area=7150812f-9b87-11de-822f-000c2965ae0e, CityID=2868, Description=Августинівка, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, SettlementTypeDescriptionRu=село, Delivery4=0, Ref=93edc540-9e41-11e9-898c-005056b24375, Delivery3=1, SettlementTypeDescription=село, PreventEntryNewStreetsUser=null, Delivery1=1, SpecialCashCheck=1.0, IsBranch=0, AreaDescriptionRu=Запорожская, Conglomerates=null, Delivery5=1}, {Delivery1=0, Delivery3=0, AreaDescription=Одеська, Ref=9523ea02-7302-11e9-898c-005056b24375, Delivery6=1, Delivery4=1, IsBranch=0, Delivery7=0, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, AreaDescriptionRu=Одесская, Conglomerates=null, SettlementTypeDescriptionRu=село, Delivery2=1, Description=Августівка, Area=71508136-9b87-11de-822f-000c2965ae0e, Delivery5=0, SpecialCashCheck=1.0, DescriptionRu=Августовка, CityID=1734, SettlementTypeDescription=село, Postomat=0.0, PreventEntryNewStreetsUser=null}, {CityID=1337, AreaDescription=Донецька, Delivery1=1, Area=7150812c-9b87-11de-822f-000c2965ae0e, Delivery4=1, DescriptionRu=Авдеевка (Донецкая обл.), Ref=a9522a7e-eaf5-11e7-ba66-005056b2fc3d, SettlementType=563ced10-f210-11e3-8c4a-0050568002cf, SpecialCashCheck=1.0, AreaDescriptionRu=Донецкая, Postomat=0.0, Delivery5=1, IsBranch=0, SettlementTypeDescriptionRu=город, Conglomerates=null, Description=Авдіївка (Донецька обл.), Delivery7=0, Delivery2=1, Delivery3=1, Delivery6=1, SettlementTypeDescription=місто, PreventEntryNewStreetsUser=null}, {Delivery1=1, Delivery3=1, Description=Авдіївка (Сосницький р-н., Чернігівська обл.), SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, IsBranch=0, Delivery2=0, PreventEntryNewStreetsUser=null, DescriptionRu=Авдеевка (Сосницкий р-н., Черниговская обл.), SettlementTypeDescriptionRu=село, Delivery5=1, SpecialCashCheck=1.0, Area=71508140-9b87-11de-822f-000c2965ae0e, AreaDescriptionRu=Черниговская, Ref=e3f238f7-5a94-11e9-a703-005056b24375, Conglomerates=null, SettlementTypeDescription=село, Postomat=0.0, Delivery7=0, Delivery4=0, AreaDescription=Чернігівська, CityID=1550, Delivery6=0}, {SettlementTypeDescriptionRu=село, DescriptionRu=Авиагородок, Postomat=0.0, CityID=5052, Delivery5=1, Conglomerates=null, Delivery1=1, Delivery3=1, SpecialCashCheck=1.0, Delivery6=0, Delivery7=0, SettlementTypeDescription=село, AreaDescription=Запорізька, Delivery2=0, Description=Авіамістечко , SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, PreventEntryNewStreetsUser=null, Delivery4=0, Area=7150812f-9b87-11de-822f-000c2965ae0e, IsBranch=0, Ref=0c134e58-1ab1-11ea-8c15-0025b502a06e, AreaDescriptionRu=Запорожская}, {Delivery4=1, CityID=1140, Delivery2=1, Delivery1=1, Area=7150812b-9b87-11de-822f-000c2965ae0e, SettlementTypeDescription=селище міського типу, Delivery5=1, SettlementTypeDescriptionRu=поселок городского типа, Delivery3=1, Delivery6=1, PreventEntryNewStreetsUser=null, DescriptionRu=Авиаторское, AreaDescriptionRu=Днепропетровская, AreaDescription=Дніпропетровська, Delivery7=0, Ref=d30a9675-7404-11e5-8d8d-005056887b8d, Conglomerates=null, SpecialCashCheck=1.0, SettlementType=563ced11-f210-11e3-8c4a-0050568002cf, Postomat=0.0, Description=Авіаторське, IsBranch=0}, {Delivery2=0, Description=Агаймани, SettlementTypeDescriptionRu=село, Postomat=0.0, Delivery5=1, CityID=3613, Delivery3=1, Delivery1=1, DescriptionRu=Агайманы, AreaDescriptionRu=Херсонская, Conglomerates=null, Delivery6=0, SettlementTypeDescription=село, AreaDescription=Херсонська, PreventEntryNewStreetsUser=null, Delivery7=0, SpecialCashCheck=1.0, IsBranch=0, Area=7150813c-9b87-11de-822f-000c2965ae0e, Ref=f384f3bf-b7a7-11e9-8c22-005056b24375, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Delivery4=0}, {Area=71508129-9b87-11de-822f-000c2965ae0e, Delivery3=1, Delivery2=1, SettlementTypeDescriptionRu=село, Delivery7=0, Conglomerates=null, Postomat=0.0, DescriptionRu=Агрономичное, Delivery6=1, AreaDescription=Вінницька, Delivery4=1, IsBranch=0, SettlementTypeDescription=село, Ref=ebc0eda9-93ec-11e3-b441-0050568002cf, Description=Агрономічне, PreventEntryNewStreetsUser=null, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, CityID=890, AreaDescriptionRu=Винницкая , SpecialCashCheck=1.0, Delivery1=1, Delivery5=1}, {Description=Агрономія, DescriptionRu=Агрономия, Ref=f17dc676-cf44-11e9-b0c5-005056b24375, AreaDescription=Миколаївська, Postomat=0.0, Conglomerates=null, Delivery4=1, Delivery7=0, Delivery1=0, AreaDescriptionRu=Николаевская, IsBranch=0, Delivery5=0, CityID=4150, SettlementTypeDescriptionRu=село, SpecialCashCheck=1.0, SettlementTypeDescription=село, Delivery2=1, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Area=71508135-9b87-11de-822f-000c2965ae0e, Delivery3=0, Delivery6=1, PreventEntryNewStreetsUser=null}, {Area=7150813d-9b87-11de-822f-000c2965ae0e, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Delivery1=0, Ref=67094bdd-9e45-11e9-898c-005056b24375, SettlementTypeDescription=село, Delivery3=0, Delivery7=0, DescriptionRu=Адамполь, Postomat=0.0, PreventEntryNewStreetsUser=null, SpecialCashCheck=1.0, Delivery2=1, Conglomerates=null, SettlementTypeDescriptionRu=село, Description=Адампіль, Delivery4=1, Delivery6=0, AreaDescription=Хмельницька, IsBranch=0, Delivery5=1, AreaDescriptionRu=Хмельницкая, CityID=2889}, {SettlementTypeDescription=село, Description=Аджамка, Delivery4=1, Delivery5=1, AreaDescriptionRu=Кировоградская, Delivery6=0, PreventEntryNewStreetsUser=null, Postomat=0.0, CityID=1188, Delivery7=0, Delivery2=1, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Area=71508132-9b87-11de-822f-000c2965ae0e, IsBranch=0, SpecialCashCheck=1.0, SettlementTypeDescriptionRu=село, DescriptionRu=Аджамка, Conglomerates=null, Delivery1=1, Ref=cc4ca497-d3ce-11e5-8478-005056887b8d, AreaDescription=Кіровоградська, Delivery3=1}, {Delivery7=0, Area=7150813c-9b87-11de-822f-000c2965ae0e, PreventEntryNewStreetsUser=null, AreaDescriptionRu=Херсонская, Delivery1=1, Description=Азовське, SpecialCashCheck=1.0, Conglomerates=null, SettlementTypeDescription=село, AreaDescription=Херсонська, Postomat=0.0, Ref=c1079228-76f9-11e9-898c-005056b24375, IsBranch=0, DescriptionRu=Азовское, CityID=1944, Delivery2=1, Delivery5=1, SettlementTypeDescriptionRu=село, Delivery3=1, SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Delivery6=0, Delivery4=1}, {Conglomerates=null, Postomat=0.0, IsBranch=0, Description=Азовське (Запорізька обл.), Delivery3=1, Area=7150812f-9b87-11de-822f-000c2965ae0e, Delivery4=0, SpecialCashCheck=1.0, Delivery1=1, AreaDescriptionRu=Запорожская, PreventEntryNewStreetsUser=null, AreaDescription=Запорізька, Ref=d30282f8-feee-11e9-91ff-0025b501a04b, Delivery5=1, SettlementTypeDescription=село, SettlementTypeDescriptionRu=село, CityID=5505, Delivery2=0, DescriptionRu=Азовское (Запорожская обл.), SettlementType=563ced13-f210-11e3-8c4a-0050568002cf, Delivery6=0, Delivery7=0}, {Del
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    Alexander Ivanov, Это вы по поводу загрузки списка городов с Нова Пошта?
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    Alexander Ivanov, Спасибо. Но для данного момента это не столь важно.
    Никто не подскажет где можно почитать о создании накладных на Нова Пошта.
    Нигде ничего не могу найти. А самому изобретать велосипед не просто.
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    Написал так
    if (((new Date()).getHours())>20&&((new Date()).getHours())<22 ){getDocumentListNovaPoshta ();};
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    А как написать что когда больше 21.00 тогда и запускаем функцию?
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    По минутам нагрузка наверное большая получается.
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    Я сделал тип триггера по часам. А теперь думаю правильно ли это?
  • Как создать триггер для запуска программы в назначенное время?

    vladd56
    @vladd56 Автор вопроса
    А можно подробнее пожалуйста вот это Создайте поминутный триггер. Никогда с триггерами не работал. Это в первый раз
  • Как лучше выгрузить список городов полученных с Нова Пошта в Таблицу?

    vladd56
    @vladd56 Автор вопроса
    Alexander Ivanov, А как его получить? Прочитал вот это но так и не понял как его получить.
    https://cloud.yandex.ru/docs/api-design-guide/concepts/pagination
  • Как лучше выгрузить список городов полученных с Нова Пошта в Таблицу?

    vladd56
    @vladd56 Автор вопроса
    Вот массив который приходит по этому вызову с Нова Пошта. Из этого массива для дальнейшей работы мне нужны только населенные пункты и их "Ref". Зачем весь массив загружать в колонку?
    "data": [
        {
          "Description": "Абазівка (Полтавський р-н, Полтавська обл)",
          "DescriptionRu": "Абазовка (Полтавский р-н, Полтавская обл)",
          "Ref": "fc5f1e3c-928e-11e9-898c-005056b24375",
          "Delivery1": "1",
          "Delivery2": "0",
          "Delivery3": "1",
          "Delivery4": "0",
          "Delivery5": "1",
          "Delivery6": "0",
          "Delivery7": "0",
          "Area": "71508137-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "2667",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Полтавська",
          "AreaDescriptionRu": "Полтавская"
        },
        {
          "Description": "Авангард",
          "DescriptionRu": "Авангард",
          "Ref": "8e1718f5-1972-11e5-add9-005056887b8d",
          "Delivery1": "1",
          "Delivery2": "1",
          "Delivery3": "1",
          "Delivery4": "1",
          "Delivery5": "1",
          "Delivery6": "1",
          "Delivery7": "0",
          "Area": "71508136-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced11-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "1042",
          "SettlementTypeDescription": "селище міського типу",
          "SettlementTypeDescriptionRu": "поселок городского типа",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Одеська",
          "AreaDescriptionRu": "Одесская"
        },
        {
          "Description": "Августинівка",
          "DescriptionRu": "Августиновка",
          "Ref": "93edc540-9e41-11e9-898c-005056b24375",
          "Delivery1": "1",
          "Delivery2": "0",
          "Delivery3": "1",
          "Delivery4": "0",
          "Delivery5": "1",
          "Delivery6": "0",
          "Delivery7": "0",
          "Area": "7150812f-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "2868",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Запорізька",
          "AreaDescriptionRu": "Запорожская"
        },
        {
          "Description": "Августівка",
          "DescriptionRu": "Августовка",
          "Ref": "9523ea02-7302-11e9-898c-005056b24375",
          "Delivery1": "0",
          "Delivery2": "1",
          "Delivery3": "0",
          "Delivery4": "1",
          "Delivery5": "0",
          "Delivery6": "1",
          "Delivery7": "0",
          "Area": "71508136-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "1734",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Одеська",
          "AreaDescriptionRu": "Одесская"
        },
        {
          "Description": "Авдіївка (Донецька обл.)",
          "DescriptionRu": "Авдеевка (Донецкая обл.)",
          "Ref": "a9522a7e-eaf5-11e7-ba66-005056b2fc3d",
          "Delivery1": "1",
          "Delivery2": "1",
          "Delivery3": "1",
          "Delivery4": "1",
          "Delivery5": "1",
          "Delivery6": "1",
          "Delivery7": "0",
          "Area": "7150812c-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced10-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "1337",
          "SettlementTypeDescription": "місто",
          "SettlementTypeDescriptionRu": "город",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Донецька",
          "AreaDescriptionRu": "Донецкая"
        },
        {
          "Description": "Авдіївка (Сосницький р-н., Чернігівська обл.)",
          "DescriptionRu": "Авдеевка (Сосницкий р-н., Черниговская обл.)",
          "Ref": "e3f238f7-5a94-11e9-a703-005056b24375",
          "Delivery1": "1",
          "Delivery2": "0",
          "Delivery3": "1",
          "Delivery4": "0",
          "Delivery5": "1",
          "Delivery6": "0",
          "Delivery7": "0",
          "Area": "71508140-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "1550",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Чернігівська",
          "AreaDescriptionRu": "Черниговская"
        },
        {
          "Description": "Авіамістечко ",
          "DescriptionRu": "Авиагородок",
          "Ref": "0c134e58-1ab1-11ea-8c15-0025b502a06e",
          "Delivery1": "1",
          "Delivery2": "0",
          "Delivery3": "1",
          "Delivery4": "0",
          "Delivery5": "1",
          "Delivery6": "0",
          "Delivery7": "0",
          "Area": "7150812f-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "5052",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Запорізька",
          "AreaDescriptionRu": "Запорожская"
        },
        {
          "Description": "Авіаторське",
          "DescriptionRu": "Авиаторское",
          "Ref": "d30a9675-7404-11e5-8d8d-005056887b8d",
          "Delivery1": "1",
          "Delivery2": "1",
          "Delivery3": "1",
          "Delivery4": "1",
          "Delivery5": "1",
          "Delivery6": "1",
          "Delivery7": "0",
          "Area": "7150812b-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced11-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "1140",
          "SettlementTypeDescription": "селище міського типу",
          "SettlementTypeDescriptionRu": "поселок городского типа",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Дніпропетровська",
          "AreaDescriptionRu": "Днепропетровская"
        },
        {
          "Description": "Агаймани",
          "DescriptionRu": "Агайманы",
          "Ref": "f384f3bf-b7a7-11e9-8c22-005056b24375",
          "Delivery1": "1",
          "Delivery2": "0",
          "Delivery3": "1",
          "Delivery4": "0",
          "Delivery5": "1",
          "Delivery6": "0",
          "Delivery7": "0",
          "Area": "7150813c-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "3613",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Херсонська",
          "AreaDescriptionRu": "Херсонская"
        },
        {
          "Description": "Агрономічне",
          "DescriptionRu": "Агрономичное",
          "Ref": "ebc0eda9-93ec-11e3-b441-0050568002cf",
          "Delivery1": "1",
          "Delivery2": "1",
          "Delivery3": "1",
          "Delivery4": "1",
          "Delivery5": "1",
          "Delivery6": "1",
          "Delivery7": "0",
          "Area": "71508129-9b87-11de-822f-000c2965ae0e",
          "SettlementType": "563ced13-f210-11e3-8c4a-0050568002cf",
          "IsBranch": "0",
          "PreventEntryNewStreetsUser": null,
          "Conglomerates": null,
          "CityID": "890",
          "SettlementTypeDescription": "село",
          "SettlementTypeDescriptionRu": "село",
          "SpecialCashCheck": 1,
          "Postomat": 0,
          "AreaDescription": "Вінницька",
          "AreaDescriptionRu": "Винницкая "
        },
        {
          "Description": "Агрономія",
          "DescriptionRu": "Агрономия",
          "Ref": "f17dc676-cf44-11e9-b0c5-005056b24375",
          "Delivery1": "0",
          "Delivery2": "1",
          "Delivery3": "0",
          "Delivery4": "1",
          "Delivery5": "0",
          "Delivery6": "1",

    Может я что то упустил из виду? Что надо для создания накладной на Нова Пошта.
  • Как лучше выгрузить список городов полученных с Нова Пошта в Таблицу?

    vladd56
    @vladd56 Автор вопроса
    Alexander Ivanov, Alexander Ivanov, Я уже выслал код программы с ключом в комментарии уже 2 часа назад.