|
![]() |
#1 |
Участник
|
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); |
|
![]() |
#2 |
Участник
|
Это мне очень поможет, спасибо, ещё бы в идеале узнать определения Global/Local переменных используемых в данном примере, а то перебирать, например, Word Automation, в поиске нужного, утомительно. Но если нету под рукой, то подбирать буду
![]() |
|
![]() |
#3 |
Участник
|
Пожалуйста
|
|