Estimados alguna sugerencia para resolver lo siguiente: (vfpadvance 10.000.00.00 con win 10)
tengo creadas las siguientes impresoras con los siguientes nombres
POS-80C
Y THERMAL Receip Printer
En los Centros de Abastecimiento el BAR tiene asignada la POR-80C
y las COCINAS (FRIA/CALOR/POSTRES) la
THERMAL Receip Printer
para decidir donde imprimir
Tengo un metodo que a partir del nombre de las impresoras existentes en el sistema asigna la impresora con la siguientes instrucciones:
Select Centros_Abastecimiento.centroabastecimiento,;
Centros_Abastecimiento.Impresora_ppal,;
Centros_Abastecimiento.Impresora_alt1;
FROM Centros_Abastecimiento;
WHERE Centros_Abastecimiento.id = EstCtaDet.IdAbastecimiento;
INTO Cursor mi_item_impresora
If _Tally != 0
Select mi_item_impresora
Go Top
thisformset.impresora = mi_item_impresora.Impresora_ppal
thisformset.Impresora_alt1=mi_item_impresora.Impresora_alt1
Set Printer To
If Len(Alltrim(thisformset.impresora)) != 0
IMPRES=thisformset.impresora
set_imp= "SET PRINTER TO NAME '"+Alltrim(IMPRES)+"'"
&set_imp
Else
Set Printer To Default
ENDIF
al hacer un debug en set_imp tiene " SET PRINTER TO NAME 'POS-80C'"
t la llamada al reporte se hace con
TRY
If Len(Alltrim(thisformset.impresora)) != 0
Report Form Report\ticket_pedido_c_abast.frx To Printer Nodialog
endif
replace estctadet.enviado WITH .t.
*UPDATE EstCtaDet SET enviado = .t. WHERE id = thisformset.idestctadet
Catch To oExc
mensg=oExc.Comment+" "+oExc.Details+" "+oExc.ErrorNo+" "+oExc.Message
Messagebox(mensg,0,"Atención")
Set Printer To Default
Report Form Report\ticket_pedido_c_abast.frx To Printer Prompt Preview
*UPDATE EstCtaDet SET enviado = .t. WHERE id = thisformset.idestctadet
replace estctadet.enviado WITH .t.
Finally
Endtry
PERO no toma la impresora asignada en el caso del bar (POS-80C) y todo lo imprime en la THERMAL Receip Printer
Ambas impresoras están conectadas al mismo equipo (de desarrollo una en USB0004 Y LA OTRA EN usb0001 ( en producción están conectadas por red con ip-fija independientes)