Exportar personalizados a TXT
Sumario
Objetivo
Poder exportar cualquier reporte personalizado, a formato TXT.
Diseño
Actualmente los reportes personalizados permiten exportar la información a Excel. Sin embargo, las agencias de Perú (por ejemplo) precisan exportar la misma información a formato TXT con el fin de entregársela al fisco.
Nueva opción de exportación
Se requiere agregar una nueva opción cuando se hace click derecho sobre la grilla de un reporte personalizado. Dicha opción se debe llamar “Exportar a TXT” y debe estar debajo de “Exportar a Excel”.
Nuevo pop up y lógica
Cuando se seleccione “Exportar a TXT” NetOffice debe desplegar un pop para indicar el separador, así:
De esa manera el usuario podrá indicar cómo separar cada campo (-, \, |) o simplemente dejarlo vacío.
Si el reporte personalizado depende de la vista 37 “Reporte Comprobantes Cliente”, se debe incluir en el pop up anterior un check que se llame “Incluir cabecera para Auto Detracción”.
Si el usuario deja el check en TRUE debe incluir en el TXT una primera línea (cabecera) con el siguiente query:
create table #temp (Id_Comprobante varchar(5), sucursal varchar(100), numero int, Id_Cliente int, importe_alter numeric(20,2), Detraccion numeric(20,2)) insert into #temp SELECT distinct Id_Comprobante, Sucursal, Numero, Id_Cliente, importe_alter, Importe_Alter * 0.1 as Detraccion FROM VComprobantesClientes WHERE (Iva1_Impor + Iva2_Impor + Iva3_Impor) > 0 and Importe_Base > 700 and Fecha BETWEEN '2016-09-01' and '2016-12-31' and Id_Comprobante NOT in ('DOCOD', 'DOCOE') SELECT 'P' as TipoIdentificador, bo.CUIT as RUC, 'AMERICAN REPS SAC ' as 'Razon Social', CASE WHEN trans.Lote is NULL THEN '000000' ELSE trans.Lote END as Lote, as Transporte, as Cuenta, (Select replace(right('00000000000000000'+ rtrim(convert(varchar(8), convert(varchar,convert(decimal(8,0), SUM(Importe_Alter) * 0.10)))), 13) , '.', ) as Detraccion from #temp) as Detraccion, '00' as 'Decimales Detraccion', as 'Tipo Operacion', as Periodo, as 'Tipo Comprobante', as Serie, as Numero FROM BO_Config Bo left join transf_caja_cabe Trans on Bo.id_moneda = trans.id_moneda_base WHERE trans.fecha is null or trans.fecha BETWEEN '2016-09-01' and '2016-12-31'
Nota: La fecha de los filtros debe ser la utilizada en el reporte.
Si el usuario deja el check en FALSE, debe generar el TXT solo con la información de la grilla.
Cuando se seleccione el botón “OK”, NetOffice debe despegar un explorador de Windows para indicar la ubicación del archivo y el nombre.
Una vez especificado el nombre y ubicación, NetOffice deberá crear un archivo plano de tipo TXT con la información del reporte personalizado.
Netactica.com