facturacionelectronicapy-xmlgen
Version:
API Node JS para generar el archivo XML del Documento electrónico exigido por SIFEN en base a JSON
184 lines (182 loc) • 7.04 kB
TypeScript
import { XmlgenConfig } from './type.interface.';
declare class JSonDeMainValidateService {
errors: Array<string>;
constructor();
/**
* Valida los datos ingresados en el data
* A. Campos firmados del Documento Electrónico (A001-A099)
* 1 - Validacion automática
* 2 - Se realiza en el SIFEN, pero puede ser realizado en la API de integración
* 3 - Se realiza en el SIFEN, pero puede ser realizado en la API de integración
* 4 - Validacion automática
* 5 - Se realiza en el SIFEN, la fecha/hora del servidor debe sincronizarse con el SIFEN
* 6 - Falta, pero es AO
*
* B. Campos inherentes a la operación comercial de los Documentos Electrónicos (B001 -B099)
* 7 - Falta
* 8 - Validacion automática, via constante.service
*
* C. Campos de datos del Timbrado (C001 - C099)
* 9 - Validacion automática, via constante.service
* 10 - Se realiza en el SIFEN, se valida solo la primera vez
* 11 - Se realiza en el SIFEN, se valida solo la primera vez
* 12 - Se realiza en el SIFEN, se valida solo la primera vez
* 13 - Se realiza en el SIFEN, se valida solo la primera vez
* 14 - Se realiza en el SIFEN, se valida solo la primera vez
* 15 - Se realiza en el SIFEN, se valida solo la primera vez
* 16 - Se realiza en el SIFEN, pero puede ser realizado en la API de integración
*
* @param data
*/
validateValues(params: any, data: any, config: XmlgenConfig): void;
generateCodigoControlValidate(params: any, data: any): void;
private datosEmisorValidate;
private generateDatosOperacionValidate;
private generateDatosGeneralesValidate;
private generateDatosGeneralesInherentesOperacionValidate;
private generateDatosGeneralesEmisorDEValidate;
private generateDatosGeneralesResponsableGeneracionDEValidate;
private generateDatosGeneralesReceptorDEValidate;
private generateDatosEspecificosPorTipoDEValidate;
private generateDatosEspecificosPorTipoDE_FacturaElectronicaValidate;
/**
* Datos especificos cuando el tipo de operacion del receptor es B2G (Campo D202)
* Dentro de la factura electronica
*
* @param params
* @param data
* @param options
*/
private generateDatosEspecificosPorTipoDE_ComprasPublicasValidate;
private generateDatosEspecificosPorTipoDE_AutofacturaValidate;
private generateDatosEspecificosPorTipoDE_NotaCreditoDebitoValidate;
private generateDatosEspecificosPorTipoDE_RemisionElectronicaValidate;
private generateDatosAutofacturaValidate;
private validateAsociadoConstancia;
private generateDatosCondicionOperacionDEValidate;
/**
* E7.1. Campos que describen la forma de pago de la operación al contado o del monto
* de la entrega inicial (E605-E619)
* @param params
* @param data
* @param options
*/
private generateDatosCondicionOperacionDE_ContadoValidate;
/**
* E7.2. Campos que describen la operación a crédito (E640-E649)
*
* @param params
* @param data
* @param options
*/
private generateDatosCondicionOperacionDE_CreditoValidate;
generateDatosComplementariosComercialesDeUsoEspecificosValidate(params: any, data: any): void;
/**
* E9.2. Sector Energía Eléctrica (E791-E799)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosSectorEnergiaElectricaValidate;
/**
* E9.3. Sector de Seguros (E800-E809)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosSectorSegurosValidate;
/**
* E9.4. Sector de Supermercados (E810-E819
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosSectorSupermercadosValidate;
/**
* E9.5. Grupo de datos adicionales de uso comercial (E820-E829)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosDatosAdicionalesUsoComercialValidate;
/**
* E10. Campos que describen el transporte de las mercaderías (E900-E999)
*
* Aqui puede entrar si tipoDocumento = 1 (opcional) o tipoDocumento = 7 (obligatorio)
* @param params
* @param data
* @param options
*/
generateDatosTransporteValidate(params: any, data: any): void;
/**
* E10.1. Campos que identifican el local de salida de las mercaderías (E920-E939)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosSalidaValidate;
/**
* E10.2. Campos que identifican el local de entrega de las mercaderías (E940-E959)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosEntregaValidate;
/**
* E10.3. Campos que identifican el vehículo de traslado de mercaderías (E960-E979)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosVehiculoValidate;
/**
* E10.4. Campos que identifican al transportista (persona física o jurídica) (E980-E999)
*
* @param params
* @param data
* @param options
* @param items Es el item actual del array de items de "data" que se está iterando
*/
private generateDatosTransportistaValidate;
generateDatosTotalesValidate(params: any, data: any, config: XmlgenConfig): void;
/**
* G. Campos complementarios comerciales de uso general (G001-G049)
*
* @param params
* @param data
* @param options
*/
generateDatosComercialesUsoGeneralValidate(params: any, data: any): void;
/**
* G1. Campos generales de la carga (G050 - G099)
*
* @param params
* @param data
* @param options
*/
private generateDatosCargaValidate;
/**
* H. Campos que identifican al documento asociado (H001-H049)
*
* @param params
* @param data
* @param options
*/
generateDatosDocumentoAsociadoValidate(params: any, dataDocumentoAsociado: any, data: any): void;
}
declare const _default: JSonDeMainValidateService;
export default _default;