Страница 1 из 1
Excel- отчёт из плана с помощью JScript библиотеки
Добавлено: 17 окт 2014, 10:18
zna
Доброй пятницы, коллеги. Есть желание обрадовать пользователей упомянутым отчётом из производственного заказа. В библиотеках JScript обнаружена такая: "Функции для формирования отчетов Excel на основе XLT шаблонов". В описании библиотеки приведён перечень функций, но в каком порядке их применять- неясно. У кого есть пример построения отчёта с помощью этой библиотеки- поделитесь, пож.
Re: Excel- отчёт из плана с помощью JScript библиотеки
Добавлено: 17 окт 2014, 14:06
zna
Подсказали, где лежит пример: ..GalSrv\EXE\ManufExt\SAMPLES\JSCRIPT\MNPLANANDRSVOPER\
Re: Excel- отчёт из плана с помощью JScript библиотеки
Добавлено: 17 окт 2014, 16:59
zna
Вот так отработало из примера
Код: Выделить всё
SpMnPl.toMnPlan(CurPlan());
var FileName;
var XLSFileName;
FileName = "\\\\mks-galaktika2\\galsrv\\SvodPZ_141016.xltm"
if (FileName == '')
XLSFileName = CreateXLT(FileName, false)
else
XLSFileName = CreateReport(FileName, false);
Debug.print('FileName = '+FileName);
Debug.print('XLSFileName = '+XLSFileName);
CreateVar(XLSFileName);
SetStringVar('DateForm', Cur_Date());
SetStringVar('Title', 'Отчет по производственному заказу');
PublishVar();
CreateTbls(XLSFileName);
CreateTbl('PlanSpec');
CreateTblFld('Nrec');
CreateTblFld('NumberPos');
CreateTblFld('NameMcUsl');
CreateTblFld('OtpEd');
CreateTblFld('StartDate');
CreateTblFld('EndDate');
CreateTblFld('KolPlan');
CreateTblFld('KolFact');
CreateTblFld('KolOtkl');
if (FileName != '')
{
for (SpMnPl.getFirst(); ResultOfNavigation; SpMnPl.getNext())
{
SpMnPlan.setPosition(SpMnPl.cSpMnPlan);
ClearTblBuffer();
SetTblStringFldValue('Nrec', SpMnPl.Nrec);
SetTblStringFldValue('NumberPos', SpMnPlan.PosNum);
if (SpMnPlan.TypePos == Mc)
{
KatMc.setPosition(SpMnPlan.cIzd);
SetTblStringFldValue('NameMcUsl', KatMc.Name);
}
else
if (SpMnPlan.TypePos == Usl)
{
KatUsl.setPosition(SpMnPlan.cIzd);
SetTblStringFldValue('NameMcUsl', KatUsl.Name);
}
OtpEd.setPosition(SpMnPlan.cOtpEd);
SetTblStringFldValue('OtpEd', OtpEd.Name);
SetTblDateFldValue('StartDate', SpMnPlan.StartDate);
SetTblDateFldValue('EndDate', SpMnPlan.EndDate);
SetTblNumberFldValue('KolPlan', SpMnPl.Pole1);
SetTblNumberFldValue('KolFact', SpMnPl.Pole3);
SetTblNumberFldValue('KolOtkl', SpMnPl.Pole5);
InsTblRow();
}
}
PublishTbl('PlanSpec');
LoadReport(XLSFileName);
FullFileName = "c:\\GalExpressClient2\\" + XLSFileName + ".xlsx"
Debug.print('FullFileName = '+FullFileName);
SaveReport(XLSFileName, FullFileName);
DisConnectExcel();
После выгрузки в Excel запускается макрос LoadReport().
Может, кому пригодится..