Как сделать чтобы не руками вводить 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);