Wind.OPEN(Text50001);
Wind.UPDATE(1,text50002);
GLSetup.GET;
CompanyInfo.GET;
IF NOT GLSetup.GET THEN ERROR(text50003);
// saving template
txtPath := '';
bExitFlag := FALSE;
InitNo := 0;
REPEAT
txtPath := ENVIRON('TEMP')+'\AgentAct'+FORMAT(InitNo)+'.doc';
IF NOT FILE.EXISTS(txtPath) THEN
bExitFlag := TRUE;
InitNo+=1;
UNTIL bExitFlag=TRUE;
GLSetup.CALCFIELDS("Agent Act Template");
GLSetup."Agent Act Template".EXPORT(txtPath);
// ====================================================================================================================
// INITIALIZING WORD
// ====================================================================================================================
CREATE(wordApp,TRUE);
wordApp.Documents.Open(txtPath);
wordDoc := wordApp.ActiveDocument;
wordDoc.ActiveWindow.Caption := CaptionName;
//wordApp.Visible := TRUE; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// НЕПОСРЕДСТВЕННОЕ ЗАПОЛНЕНИЕ
DocReplace('#CompanyName#',CompanyInfo.Name);
DocReplace('#CompanyINN#',CompanyInfo."VAT Registration No.");
DocReplace('#CompanyKPP#',CompanyInfo."KPP Code");
txt := StdRepMgt.GetLegalAddress();
DocReplace('#CompanyAddress#',txt);
DocReplace('#CompanyFullName#',CompanyInfo."FUll Name");
DocReplace('#CompanyCEOShort#',CompanyInfo."Director Name");
Agreement.GET(AgrCode);
txt := '№ '+FORMAT(AgrCode);
IF Agreement."Starting Date" <> 0D THEN BEGIN
MonthText := LOWERCASE(FORMAT(Agreement."Starting Date",0,'<Month Text>'));
IF STRLEN(MonthText) > 1 THEN
CASE COPYSTR(MonthText,STRLEN(MonthText),1) OF
'т': MonthText := MonthText + 'а';
'ь','й': MonthText := COPYSTR(MonthText,1,STRLEN(MonthText) - 1) + 'я';
END;
txt := txt + ' от '+ FORMAT(DATE2DMY(Agreement."Starting Date",1)) + ' '+MonthText + ' ' +
FORMAT(DATE2DMY(Agreement."Starting Date",3))+'г.';
END;
DocReplace('#Agreement#',txt);
// on Post Report
Wind.CLOSE();
wordApp.Visible := TRUE;
CLEAR(wordApp);
функция DocReplace(txtFrom: text 1024; txtTo: text 1024)
var2 := FALSE; // for filling parameters
var4 := 2; // means ReplaceAll -
var1 := txtFrom;
var3 := txtTo;
// Replacement
bol := wordApp.ActiveDocument.Content.Find.Execute(var1,var2,var2,var2,var2,var2,var2,var2,var2,var3,var4);
|