Mensaje
por osquiabro » Vie Mar 16, 2012 12:20 am
aqui tienes un codigo de ejemplo este codigo imprime directo a la impresora con un loop.
Recuerda que en la pantalla tienes que tener la extension del template de softmaster para word.
SETCURSOR(CURSOR:Wait)
ForMerge{prop:SQL}='select * from ForMerge where BatchEnvioId='&BRW1.Q.Bat:BatchEnvioId&' order by ResgisterId'
MSWord.Init(QuickWindow,?SMWord,1,1,0)
LOOP
NEXT(ForMerge)
IF ERRORCODE() THEN BREAK.
MSWord.SetVisible(False)
MSWord.OpenDoc(CLIP(PATH()&'\Documents\HOJAORIGINALMONITOREO.docx'),True)
a#= MSWord.Replace('@nombre@',clip(For:FisrtName)&', '&clip(For:LastName),False,False)
a#= MSWord.Replace('@registerid@',For:ResgisterId,False,False)
a#= MSWord.Replace('@fecha@',FORMAT(For:RegisterDate_DATE,@D8),False,False)
a#= MSWord.Replace('@segurosocial@',FORMAT(For:SocialSecurity,@p###-##-####p),False,False)
a#= MSWord.Replace('@tiporegistro@',clip(For:TypeDescription),False,False)
a#= MSWord.Replace('@pinnumber@',clip(For:PinNumber),False,False)
a#= MSWord.Replace('@municipio@',clip(For:PhysicalCity),False,False)
a#= MSWord.Replace('@ph1@',clip(For:PhysicalAddress1),False,False)
a#= MSWord.Replace('@ph2@',clip(For:PhysicalAddress2),False,False)
a#= MSWord.Replace('@ph3@',clip(For:PhysicalCity)&', '&CLIP(For:PhysicalState)&' '&CLIP(For:PhysicalZipCode),False,False)
a#= MSWord.Replace('@ps1@',clip(For:PostalAddress1),False,False)
a#= MSWord.Replace('@ps2@',clip(For:PostalAddress2),False,False)
a#= MSWord.Replace('@ps3@',clip(For:PostalCity)&', '&clip(For:PostalState)&' '&clip(For:PostalZipCode),False,False)
a#= MSWord.Replace('@telefono@',format(For:DayPhone,@P(###)###-####Pb),False,False)
a#= MSWord.Replace('@celular@',format(For:MobilPhone,@P(###)###-####Pb),False,False)
MsWord.PrintDoc(1,False)
MsWord.CloseAllDocs(0)
CLEAR(For:RECORD)
END
MsWord.CloseAllDocs(0)
MSWord.Quit()
SETCURSOR()
Saludos!
Omar Squiabro
Puerto Rico