Как сделать чтобы не руками вводить ID, а он брался из активного поля?

function MsgBox(Msg)
{
    SApp.MessageBox(Msg, "", 0);
}

kol = 0
var DocID
SApp.OpenQuery ('select DISTINCT PROJ_AID,PART_AID from PC where PART_AID= 98124');

if (SApp.QueryRecordCount() > 0)
{
 // var mas_NPP = [];  // Объявляем массив
    var mas_podrazd = [];  // Объявляем массив
    //var arr = [3 , 70];
    SApp.QueryGoFirst();
    var end_of_query = SApp.QueryEOF();
 // MsgBox('конец достигнут если  не ноль: '+end_of_query);
    var include = false;

while  (SApp.QueryEOF() ==0)    //пока не достигнута последняя строка запроса
{
    Art_ID_fromsql = SApp.QueryFieldByName('PROJ_AID');
    //MsgBox('PROJ_AID' +Art_ID_fromsql);
    DocID =  SApp.GetDocID_byartid(Art_ID_fromsql);
}

Ответы (1 шт):

Автор решения: zyunello
if (typeof(S4App) == "undefined")
{
  SApp = new ActiveXObject("S4.TS4App");
  SApp.Login();
}
else
  SApp = S4App;

 function MsgBox(Msg)
{
  SApp.MessageBox(Msg, "",0);
}
 kol = 0
 var DocID
 ArtID = SApp.ActiveArtID;
if (ArtID > 0)
{
// пишем атрибуты объекта в св-ва документа
SApp.OpenArticle(ArtID);

  SApp.OpenQuery ('select DISTINCT PROJ_AID,PART_AID from PC where PART_AID='+ ArtID );
  if (SApp.QueryRecordCount()>0)
     {
     //var mas_NPP = [];  // Объявляем массив
    var mas_podrazd = [];  // Объявляем массив
     //var arr = [3 , 70];
      SApp.QueryGoFirst();
      var end_of_query = SApp.QueryEOF();
     // MsgBox('конец достигнут если  не ноль: '+end_of_query);
      var include = false;
          while  (SApp.QueryEOF() ==0)    //пока не достигнута последняя строка запроса
               {


                Art_ID_fromsql = SApp.QueryFieldByName('PROJ_AID');
                //MsgBox('PROJ_AID' +Art_ID_fromsql);
                 DocID =  SApp.GetDocID_byartid(Art_ID_fromsql);
               SApp.OpenDocument(DocID);
                //NPP = SApp.GetFieldValue("№ в НПП")
                podrazd = SApp.GetFieldValue("Подразделение, ответственное за разработку документа")
               //MsgBox('№ в НПП: '+NPP);
                 //if (NPP != '')
                 if (podrazd != '')
                 {
                  //  if (mas_NPP.includes(NPP)==true)
                  //MsgBox(mas_NPP.indexOf('70') );
                  //  {
                  include = false;
                  //for(var idx = 0; idx < mas_NPP.length; idx++)
                  for(var idx = 0; idx < mas_podrazd.length; idx++)
                  {
                 // MsgBox('mas_NPP[idx] = ' + mas_NPP[idx]);
                 // MsgBox('NPP = ' + NPP);
                  //MsgBox('mas_NPP[idx] == NPP is  ' + (mas_NPP[idx] == NPP));
                          if (mas_podrazd[idx] == podrazd)
                          {
                            include = true;
                           // MsgBox('Повторное значение ');
                          }
                  }
                  //MsgBox('includes' + mas_NPP[0] == '70' );

                  //  } else

               //  MsgBox(arr);
                if (!include)
                   {
                      mas_podrazd.push(podrazd);
//                         if ((podrazd=='700-ССП СУ')||(podrazd=='816-ОПТ НКУ')||(podrazd=='1707-ОЭО ПКУ')||(podrazd=='1706-ОС ПКУ')||(podrazd=='1705-ОСУ ПКУ')||(podrazd=='1704-ОМО ПКУ')||(podrazd=='1701-ПО ПКУ')||(podrazd=='3002-ОВИ ПТД'))
//                          {
  //                         switch (podrazd)
    //                       {
      //
        //                    case '700-ССП СУ':
          //                  OTV_SU.asstring = '1';
            //                break
              //
                //            case '816-ОПТ НКУ':
                  //         OTV_NKU.asstring = '1';
//                            break

  //                          case '1707-ОЭО ПКУ':
    //                        OTV_OEO.asstring = '1';
      //                      break

        //                    case '1706-ОС ПКУ':
          //                  OTV_OS.asstring = '1';
            //                break

//                            case '1705-ОСУ ПКУ':
  //                          OTV_OSU.asstring = '1';
    //                        break

      //                      case '1704-ОМО ПКУ':
        //                    OTV_OMO.asstring = '1';
          //                  break

            //                case '1701-ПО ПКУ':
              //              OTV_PO.asstring = '1';
                //            break

                  //          case '3002-ОВИ ПТД':
                    //        OTV_PTD.asstring = '1';
                     //       break
                      //     }
                        //  }
                   //   MsgBox('Push = ' + NPP);
                   }


                 }
               kol = kol+1;

    SApp.QueryGoNext()
    //MsgBox('конец достигнут если  не ноль: '+end_of_query);
   }

   }
  // SApp.QueryGoNext()
   }
   MsgBox('Колличество kol: '+kol);

   //MsgBox('документ: '+DocID);

   MsgBox('Массив НПП: '+mas_podrazd);
→ Ссылка