# [F] Marca las lineas que contienen lo del papel preimpreso. # Este fichero sirve como formato de FACTURA, PRESUPUESTO, ALBARAN, PEDIDO , NO AVERIAS # copy forfac1.txt forabo1.txt # copy forfac1.txt forpre1.txt # copy forfac1.txt foralb1.txt # copy forfac1.txt forpec1.txt # Para proveedores la referencia es ForPep1.txt # Se traduce si esta configurado en 4-3-E VAR # Borrar o # para que tome valores por defecto de windows # cNomImp ; "Epson (Papel peque¤o)" # cPapel ; "Tamaño definido por el usuario" # nOrientacion ; 1 # nFuente ; "8.Courier New" nInterlinea ; 42 #Para que no se impriman lineas de detalle #ImprimirEstaLinea ; "IIF(LFC->IMPORTE # 0 ,.T.,.F.)" ImprimirEstaLinea ; "IIF(&DET.->KIT # 'M' ,.T.,.F.)" #Del Inicio Detalle al borde superior #Si son Distintos la cabecera reducida se imprime con CABR LONCAB ; 700 LONCABR ; 700 nPosCodArt ; 250 nPosDescrip ; 250 nPosImporte ; 1780 #Del Pie de la hoja al Fin del detalle era 950 LONPIE ;550 # Normalmente = margen Inferior LONPIER ;150 # Pag inic MARSUPDET ; "1 * nInterlinea" # pag 2 y sig MARSUPDET2 ; "2 * nInterlinea" # Margen Izquierdo, Puede ser mayor si se ha definido en la impresora MARIZQ;100 # Margen Inferior // Debajo pueden ir observaciones y texto publicidad # Interesa modificar si se quiere que el recuadro inferior suba o baje. MARINF;150 # ** CALCULOS ** (La variable tiene que existir en el prg ? ) cSumaSigue ; {|| Imprime("Suma i Segueix " , MarIzq+nPosDescrip+20 , Ypos - nInterlinea , "9.Courier New") , Imprime( TRAN(MTOTAL, XPMAS + MA_MIMP) , MarIzq + 1780 , Ypos - nInterlinea , "12.Times New Roman","D") } cSumaAnterior ; {|| Imprime("Suma Anterior " , MarIzq+nPosDescrip+20 , Ypos , "9.Courier New") , Imprime( TRAN(MTOTAL, XPMAS + MA_MIMP) , MarIzq + 1780 , Ypos , "12.Times New Roman","D") } CAB # 0->blanco 1->negro 2->azul 3->rojo 4->rosa etc #M; {|| GraSetColor( oPs, 3,0 ) } M; {|| GraSetColor( oPs, 1,0 ) } #[F] Caja de la direccion #M; {|| ImprimeCaja( MarIzq+850 , Ycab+130 , Marizq+1800 , Ycab+410 , {}, 131073 , 7 , 3 , 100 ) } C; 850 ; 130 ; 1800 ; 410; 50 #[F] #B; 0 ; 250 ; 500 ; 450 ; LOGO1.BMP #[F] # Para que imprima la palabra "copia" a partir de la segunda copia #D; IIF(NCOPIA>1,"COPIA n§"+str(ncopia,3) ,"") ; 900; 460+150 ; 12.Times New Roman D; IIF(cEMISOR#"N",VSW ,"") ; 10; 460+110 ; 14.Times New Roman D; IIF(cEMISOR#"N",VSW1 ,"") ; 10; 420+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSDIREC,"") ; 10; 380+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSPOBLA,"") ; 10; 340+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSPROVI,"") ; 10; 300+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSTELEF,"") ; 10; 260+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSMAIL ,"") ; 10; 220+110 ; 10.Times New Roman D; IIF(cEMISOR#"N",VSWEB ,"") ; 10; 180+110 ; 10.Times New Roman #D; "FORMATO 1" ; 0; 600 ; 7.Times New Roman #[F] D; "FACTURA "+ntc(NUM_FAC) ; 100; 210 ; 14.Times New Roman ;S #[F] D; "DATA" ; 100; 110 ; 11.Times New Roman ;S D; FECHA ; 240; 110 ; 12.Times New Roman D; RASO ; 900; 150 + 5 * 40 ; 12.Times New Roman D; RASO1 ; 900; 150 + 4 * 40 ; 12.Times New Roman D; CALLE ; 900; 150 + 3 * 40 ; D; CALLE1 ; 900; 150 + 2 * 40 ; D; POBLA ; 900; 150 + 1 * 40 ; D; PROVI ; 900; 150 ; #[F] D; "Cif" ;1100; 60 ; 10.Times New Roman ;S D; "Full" ;1600; 60 ; 8.Times New Roman ;S D; CIF ;1200; 60 ; 12.Times New Roman D; str(nPagina,3) ;1700; 60 ; 8.Times New Roman #[F] D; "DATA" ; 60 ; 10 ; 10.Times New Roman ;S D; "DESCRIPCIO" ; nPosCodArt ; 10 ; 10.Times New Roman ;S D; "IMPORT" ; nPosImporte ; 10 ; 10.Times New Roman ;S;D #[F] Esta en cero para que sirva de referencia L; 0 ; 1 ; 1800 ; 1 # Lateral 6 es GRA_AS_ANGLE #[F] M; {|| oFont:Configure("6.Times New Roman") } M; {|| GraSetFont( oPS, oFont ) } M; {|| aAttr[ 6]:={0,1} } M; {|| aOldAttr := GraSetAttrString(oPs,aAttr) } M; {|| GraStringAt( oPs , {MARIZQ-20,LonPie} , VSW+" NIF:"+VSCIF + " "+VSREF_REG) } M; {|| aAttr[ 6]:={1,0} } M; {|| GraSetAttrString(oPs,aAttr) } DET # No usar espaciado proporcional para los Textos, por las descripciones multilinea # Para Impresi¢n justificada #D; DESCRIP ; 230 ; 9.Courier New; N ; C730 (para 37 caracteres D; dtoc(FECHA_AL) ; 50 ; 8.Courier New ;N;I D; DESCRIP ; nPosDescrip ; 9.Courier New ;N;I D; TRAN( IMPORTE ,XPMAS + MA_MIMP ) ; nPosImporte ; ;N;D #D; IIF(IMPORTE#0,cPorIva(CLA_IVA),"") ; 1800 ; 7.Courier New # Para poner rayado en la zona escrita de la factura #M; {|| GraLine ( oPs , { MarIzq , yPos-10 } , { Marizq+1800 , yPos-10 }) } PIE # GRA_SYM_VER 131073, Otros:1001-1010,131072-131077,65536,0 ->la trama de relleno # 4 ->color de 1 a 15 # 3 relleno y borde, 1-relleno 2-borde # 50 radio #M; {|| ImprimeCajaDetalle( MarIzq , Ycab+50 , Marizq+1800 , LonPie , { nPosDescrip-10 , nPosCant - 200 , nPosPrec - 200 , nPosDesc - 70, nPosImporte - 300 }, 131073 , 4 , 2 , 50 ) } M; {|| ImprimeCaja( MarIzq , Ycab+50 , Marizq+1800 , LonPie , { nPosCodArt-10 , nPosiMPORTE-200 }, 131073 , 4 , 2 , 50 ) } # Caja Inferior #[F] M; {|| GraBox( oPs , { MARIZQ+0 , MARINF+0 } , {MARIZQ+1800, LonPie-50}, , 50 , 50 )} # Vertical #[F] M; {|| GraLine( oPs , { MARIZQ + 920 , MARINF + 0 } , { MARIZQ + 920 , LonPie-50})} # Horizontal (de bases Imponibles, Vtos, etc #[F] M; {|| GraLine( oPs , { MARIZQ + 0 , lonPie-260 } , { MARIZQ + 920 , LonPie-260})} D; "VT." ;120 ; LonPie-100 ; 12.Times New Roman;;D D; "IMPORT" ;600 ; LonPie-100 ; 12.Times New Roman;;D D; IIF(TYPE("VTO1")="D" .AND. !EMPTY(VTO1) .AND. !EMPTY(IMP1),dtoc(VTO1),"") ; 320 ; LonPie-100 ; 12.Times New Roman;;D D; IIF(TYPE("VTO2")="D" .AND. !EMPTY(VTO2) .AND. !EMPTY(IMP2),dtoc(VTO2),"") ; 320 ; LonPie-150 ; 12.Times New Roman;;D D; IIF(TYPE("VTO3")="D" .AND. !EMPTY(VTO3) .AND. !EMPTY(IMP3),dtoc(VTO3),"") ; 320 ; LonPie-200 ; 12.Times New Roman;;D D; IIF(TYPE("IMP1")="N" .AND. !EMPTY(IMP1) , TRAN(IMP1, MA_MTOT ),"") ; 800 ; LonPie-100 ; 12.Times New Roman;;D D; IIF(TYPE("IMP2")="N" .AND. !EMPTY(IMP2) , TRAN(IMP2, MA_MTOT ),"") ; 800 ; LonPie-150 ; 12.Times New Roman;;D D; IIF(TYPE("IMP3")="N" .AND. !EMPTY(IMP3) , TRAN(IMP3, MA_MTOT ),"") ; 800 ; LonPie-200 ; 12.Times New Roman;;D # Parece mejor usar lCab que TYPE D; "N§ prove‹dor "+CLI->REF_PRO ; 50 ; LonPie-300 ; 9.Times New Roman # me dice Jaume que lo quite #D; banco+" "+C_BANCO+" "+C_DIRBAN+" "+D_C+" "+CUENTA ; 50 ; LonPie-350 ; 9.Times New Roman # Creo que estos campos es mejor que no los escriba la imprenta D; "Base Imposable" ; 1000 ; Lonpie -130 ; 12.Times New Roman;S D; "Iva "+tran(por_iva1,"##.##")+"%" ; 1000 ; Lonpie -180 ; 12.Times New Roman;S D; "Total" ; 1000 ; Lonpie -230 ; 13.Times New Roman;S D; "Retenció"+tran(por_ret,"##.##")+"%" ; 1000 ; Lonpie -280 ; 12.Times New Roman;S D; "TOTAL" ; 1000 ; Lonpie -330 ; 13.Times New Roman;S # ¨Como se imprimen los euros? Poniendo SETCHARSET TO ANSI # D; "€" ; 1300 ; Lonpie -480 ; 13.Times New Roman;S D; TRAN(TOT_BAS , MA_MTOT ) ; 1780; LonPie - 130 ; 12.Times New Roman;;D D; TRAN(TOT_IVA , MA_MTOT ) ; 1780; LonPie - 180 ; 12.Times New Roman;;D D; TRAN(TOT_FAC , MA_MTOT ) ; 1780; LonPie - 230 ; 12.Times New Roman;;D D; TRAN(TOT_RET , MA_MTOT ) ; 1780; LonPie - 280 ; 12.Times New Roman;;D D; TRAN(TOT_FAC-TOT_RET, MA_MTOT ) ; 1780; LonPie - 330 ; 12.Times New Roman;;D # Linea de Publicidad, excepto Abonos D; IIF( lCab="ABO" , "Factura Rectificada: " + cAbona_A , VSTEX1) ; 10; Marinf - 40 ; 10.Times New Roman Bold D; IIF( lCab="ABO" , "Motivo: " +motivo , VSTEX2) ; 10; MarInf - 80 ; 10.Times New Roman Bold #Si lo dejo vacio imprime la caja de detalle de PIE, y pone LonPieR #PIER # GRA_SYM_VER 131073, Otros:1001-1010,131072-131077,65536,0 ->la trama de relleno # 4 ->color de 1 a 15 # 3 relleno y borde, 1-relleno 2-borde # 50 radio #M; {|| ImprimeCajaDetalle( MarIzq , Ycab+50 , Marizq+1800 , LonPie , { 220 , 960 , 1150 , 1400 , 1520 }, 131073 , 4 , 2 , 50 ) } FIN # Macro para imprimir un BMP # M; {|| ImprimeBmp(0 , 2050, 500 , 2450 , IIF(''=EMP,'J:\XAF5\FREIXAS.BMP','J:\XAF5\GOIK1.BMP' ) ) }