Te voy a poner como lo hacía yo cuando era joven:
Creaba una acción con este código:
@Command([FileSave]);
@Command([ToolsRunMacro];"Imprimir")
Código del agente "Imprimir"
Sub Initialize
Dim session As New notessession
Dim ws As New notesuiworkspace
Dim db As notesdatabase
Dim vista As notesview
Dim docactual As notesdocument
Dim docnuevo As notesdocument
Dim uidoc As notesuidocument
Dim uidocn As notesuidocument
Set db = session.currentdatabase
Set uidoc = ws.currentdocument
Set docactual = uidoc.document
Set docnuevo = New NotesDocument(db)
Call docactual.copyallitems(docnuevo, True)
nombre = docnuevo.Form
If nombre(0) = "Facturas" Then
docnuevo.Form = "ImprimirFact"
End If
Set uidocn= ws.EditDocument( False , docnuevo )
Call uidocn.Print
Call uidocn.close
Call uidoc.close
End Sub
El formulario Facturas era el principal, ImprimirFact es el que uso para imprimir.
Qué tiene el documento ImprimirFact ??? los campos que necesite imprimir, ejemplo:
Imagínate que me cojo todo el contenido del formulario principal , hago un seleccionar todo, copiar, creo un nuevo formulario y le digo "pegar" (Viva el Copy/Paste ¡¡¡), lo salvo con el nombre que quiera, modifico el agente con los nombres de mis formularios, seguro que te funciona, pero yo no la haría asi.
Me explico, imagínate que el formulario que uso para entrada de datos tiene 10 campos, al hacer el paste al formuario de impresión se van a llamar, además si los campos son calculados, tienen fórmulas, etc, etc, lo vas a heredar, no interesa, ejemplo:
Campo1 en formulario de entrada de datos, al pegarlo se llama igual, lo cambio a Campo1P (por ejemplo) tipo "calculado" valor "Campo1"
Campo2 en formulario de entrada de datos, al pegarlo se llama igual, lo cambio a Campo2P (por ejemplo) tipo "calculado" valor "Campo2"
Etc, etc, etc,
Si se llaman igual no pasa nada, pero igual queda mejor asi.
Al final lo que te estas trayendo son todos los campos con el Call docactual.copyallitems(docnuevo del agente, ya puedes pintar y hacer lo que quieras en el formulario de impresión,
Un saludo