Sobre Softmaster Template

Código útil, tips de programación, etc.
Responder
osquiabro
Al nivel de RZ
Mensajes: 179
Registrado: Dom Feb 06, 2011 10:06 pm
Contactar:

Sobre Softmaster Template

Mensaje por osquiabro » Sab Oct 08, 2011 1:31 am

hoy me encontre con una situacion usando el template de softmaster y la clase de word, estaba utilizando la opcion de replace para hacer un merge de data a un documento hasta aqui todo bien, de pronto habia un campo definido cstring(8000) y cuando trate de usar el replace no hacia nada, el problema es que la funcion de replace de word solo permite un maximo de 255 caracteres, luego de buscar alternativas encontre algo muy simple en el san google y lo resolvi de esta manera

Código: Seleccionar todo

Se lleva el contenido de la variable al clipboard
SETCLIPBOARD(Con15:Memo)

aqui se le hace paste al contenido de la variable usando la funcion de replace
a#= MSWord.Replace('@memo@','^c',False,False)

caso resuelto espero que si alguien se tope con esto ya sabe como resolverlo.
Saludos!

Omar Squiabro
Puerto Rico


R.Pacheco
Al nivel de RZ
Mensajes: 367
Registrado: Lun Feb 07, 2011 4:45 pm
Ubicación: Santo Domingo,Rep.Dominicana
Contactar:

Re: Sobre Softmaster Template

Mensaje por R.Pacheco » Jue Mar 15, 2012 8:14 pm

Hola amigo
Mira quiero pedirte un favor Necesito hacer algo asi
Quiero hacer un merge usando este template,
si tu puede enviarme un demo o ejemplo de esto ami correo te voy
agradecer muchos, ya que los es intentado hacer y no me sale
por favor hazme un obra de caridad,
yo tengo el template.

Gracia antemanos y recibe muchas bendiciones
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com, Skype:pachecoramon
Santo Domingo, Rep. Dominicana
Para cualquier consulta rápida: hacerla por WhatApp al 1 347-6159 US

osquiabro
Al nivel de RZ
Mensajes: 179
Registrado: Dom Feb 06, 2011 10:06 pm
Contactar:

Re: Sobre Softmaster Template

Mensaje por osquiabro » Jue Mar 15, 2012 9:42 pm

que necesitas exactamente el template viene con un demo para word y excel.
Saludos!

Omar Squiabro
Puerto Rico

R.Pacheco
Al nivel de RZ
Mensajes: 367
Registrado: Lun Feb 07, 2011 4:45 pm
Ubicación: Santo Domingo,Rep.Dominicana
Contactar:

Re: Sobre Softmaster Template

Mensaje por R.Pacheco » Jue Mar 15, 2012 11:10 pm

Hola Colega

Solemante
Necsito un ejemplo de un merge
como se hace, es cuando tu le manda una carta o cuerpo de una carta a varios clientes
Recibe muchas bendiciones
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com, Skype:pachecoramon
Santo Domingo, Rep. Dominicana
Para cualquier consulta rápida: hacerla por WhatApp al 1 347-6159 US

osquiabro
Al nivel de RZ
Mensajes: 179
Registrado: Dom Feb 06, 2011 10:06 pm
Contactar:

Re: Sobre Softmaster Template

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

R.Pacheco
Al nivel de RZ
Mensajes: 367
Registrado: Lun Feb 07, 2011 4:45 pm
Ubicación: Santo Domingo,Rep.Dominicana
Contactar:

Re: Sobre Softmaster Template

Mensaje por R.Pacheco » Vie Mar 16, 2012 2:51 pm

Gracia por el codigo

Por lo que veo esto pasa los datos desde un reporte
voy a estudiar el codigo ver que saco

Pero lo que quería era ver simplemente un ejemplo en un app,
por que los que quiero es lograr un merge como se hace en Word
Si tengo 5 clientes y le quiero mandar unacarta a mis 5 clientes
que tome el nombre de cada uno lo ponga en cuerpo de la carta.

De toda manera si tiene un tiempito arma un ejemplo en un app y subelo a la
seccion de trucos o sino lo quiere compartir con otros me los envias
a mi correo pacheramon@hotmail.com.

Recibe muchas bendiciones de manera especial.
Ing. R. Pacheco
Analista Programador
Pachecoramon@hotmail.com, Skype:pachecoramon
Santo Domingo, Rep. Dominicana
Para cualquier consulta rápida: hacerla por WhatApp al 1 347-6159 US


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 35 invitados