cancel
Showing results for 
Search instead for 
Did you mean: 

Impresión de Documentos por el Printer Layout

luzoliva_molina
Discoverer
0 Kudos

Buenas Tardes:

Realicé el diseño de una Factura de Clientes por el Printer Layout. El problema que tengo es que en el ámbito de repetición está imprimiendo 20 artículos y necesito que sólo imprima 15 artículos porque la impresión se realiza en un formato preimpreso.

He realizado varias modificaciones pero no he logrado mi objetivo:

- Modifiqué el número de líneas del ámbito,

- Modifiqué el tamaño de varios ámbitos (el de repetición, pie ámbito de repetición, fin de informe).

Que más puedo hacer ????

Gracias,

LUZ OLIVA MOLINA S.

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Para lograr esto, una manera es limitar el número de líneas de la factura para que no se agreguen más de 15 líneas y al imprimir no superará el espacio establecido en el formato preimpreso. Esta solución se realiza mediante una validación en el procedimiento almacenado TransactionNotification en la base de datos de SB1.

Se agrega el siguiente segmento de código en el objeto transactionNotification que se encarga de realizar la validación:


-- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
if @object_type = '13'  and @transaction_type = 'A'
	begin
	declare @var9 nvarchar(5)
	set @var9 = (select count('1') from inv1 t0 where @list_of_cols_val_tab_del = t0.docentry)
		if @var9 >=16
		begin 
		select @error = 1
		select @error_message = 'USTED TIENE  '+@var9+'  LINEAS, EL LIMITE DE LINEAS PERMITIDAS POR FACTURA ES 15'
		set @var9 = '0'
		end
end
-- MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

¿Sabes cómo insertar este código?

Espero sea de ayuda.

Saludos.

former_member188440
Active Contributor
0 Kudos

Hector, me parece muy bueno tu aporte, sin embargo la limitante es si usa formatos de impresion preimpresos, que pasa si tiene una factura de sbo que tenga 23 partidas. Habra que esperar la respuesta de la compañera

luzoliva_molina
Discoverer
0 Kudos

Hector Daniel:

El problema es que el Cliente puede tener Facturas con más de 15 Líneas, en este caso una Factura con más de 15 líneas se puede gastar 2 ó 3 formatos. Lo que necesitamos es que por ejemplo si una factura tiene 40 líneas, se impriman en el primer formato 15 líneas, en el segundo formato 15 líneas y en el tercer formato 10 líneas.

Voy a realizar la prueba que me propone el Sr. Mauricio Quintana, y voy a tomar nota del SP Transaction Notification porque me parece de gran utilidad para otros Clientes que me han solicitado este control de número de líneas al crear la Factura.

Muchas Gracias,

LUZ OLIVA MOLINA S.

former_member210784
Active Contributor
0 Kudos

Hola.

De acuerdo, si requieren poder generar facturas de más líneas y sólo limitar la cantidad de líneas a imprimir en el layout, entonces las solución dada por Mauricio es la más conveniente.

Saludos.

former_member210784
Active Contributor
0 Kudos

Hola Mauricio.

Gracias por la retroalimentación. ¿Tienes de casualidad el número de la Nota SAP?.

Me disculpo de antemano por formular preguntas sin ser el dueño de este hilo.

Gracias y saludos.

former_member188440
Active Contributor
0 Kudos

Claro hector, la nota es la no. 1125801

Former Member
0 Kudos

Buenas Tardes a Todos:

Soy un colega de Luz Oliva Molina, y estoy trabjando en este caso junto con Luz:

Ya hicimos la prueba en el printer layout como lo sugiere la nota de SAP

1)Crear campo de formula: 'linenum' en el ambito de repetición (Campo: F_268)

2)Crear el substring (En un campo de fórmula en el pie del ambito de repetición: Substring('

',0.2*(5-F_268))

y no nos funcionó

El texto de la formula substring es el mismo que acabo de copiar, y el printer no me genera ningún error. Pero aún así será que se debe revisar?

former_member188440
Active Contributor
0 Kudos

Andres, me parece que hay unos errorcitos en el codigo

el


Substring('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n',0.2*(5-F_268

debe ser asi


Substring('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n',0,2*(15-F_268))

Former Member
0 Kudos

Buenas Tardes Mauricio:

Si hay unos errores, en la escritura, pero te cuento que es que estaba probando y no copié aquí el ultimo substring que usé.

Así que copié esta vez el que me envias, con la diferencia de que voy a hacer la prueba con 5 líneas, asi que revisando la estructura del substring le quite los

que tenia el ejercicio de 15 líneas y reemplaze el número fijo de 15 por 5

en este link te muestro el procedimiento gráficamente:

http://docs.google.com/Doc?docid=0ARnf54JjFusUZHhyMnZrbl84MmcydndxZGM&hl=en

Former Member
0 Kudos

Hola de nuevo:

Si no puedes ver el campo del substring te lo copio:

Substring('

',0,2*(5-F_268))

GRACIAS

ANDRÉS GALLEGO

Answers (3)

Answers (3)

Former Member
0 Kudos

Hola...

No sé en qué podría afectar pero lo consulto de todos modos....

¿No bastaría con ir a las propiedades de impresión en Gestión --> Inicialización de Sistema --> Parametrizaciones de Impresión, y seleccionar que como máximo solo se pueda permitir 15 líneas por página?

Lo planteo porque podría ser la solución aunque en teoria este criterio sería para la totalidad de los documentos.

Espero te sea de ayuda

Saludos Cordiales,

Former Member
0 Kudos

Hola como estas no te compliques tanto si deseas limitar el numero de lineas para cualquier documento entras al layout del documento y seleccionas las propiedades de Fin informe

en la pestaña general puedes modificar su altura simplemente hazlo mas grande o pequeño segun la cantidad de reglones que quieras imprimir. eso es todo

Saludos

Luis

former_member188440
Active Contributor
0 Kudos

Hola, te dejo un texto de una nota de SAP


Solution

To create fixed size field in the repetitive area please do the following:

This example is for 15 fixed rows, it can be changed accordingly.
The left most field in the Repetitive Area0 is a formula field
containing the row number, LineNum(). For illustration purposes
we will call this Field_1.

In the Repetitive Area Footer0, add a new field:
Field_2
<Content tab>
Source Type: Formula
Formula:
Substring('\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n',0,2*(15-Field_1))

Explanation:

\n is an escape sequence representing a new line.
This version of sub-string takes 3 arguments:
1. A string
2. Start index
3. Length

Field_1 will contain the last line number in the repetitive area.
Subtracting it from 15 will give us the number of lines to add
to reach 15 total lines. We must multiply this value by 2 as
\n is 2 characters in this context.

To create borders:
Copy this field in the Repetitive Area Footer0 by as many 
fields you have in the Repetitive area, and put borders to these fields accordingly.

Espero te sirva

luzoliva_molina
Discoverer
0 Kudos

Muchísimas Gracias Mauricio:

Voy a realizar la prueba y te cuento.

LUZ.