{"version":3,"sources":["D:/Code/ApiWeb/src/$_lazy_route_resource lazy","D:/Code/ApiWeb/src/app/app.component.html","D:/Code/ApiWeb/src/app/app.component.ts","D:/Code/ApiWeb/src/app/app.login.ts","D:/Code/ApiWeb/src/app/app.module.ts","D:/Code/ApiWeb/src/app/app.service.ts","D:/Code/ApiWeb/src/app/buscador/buscador.css","D:/Code/ApiWeb/src/app/buscador/buscador.html","D:/Code/ApiWeb/src/app/buscador/buscador.ts","D:/Code/ApiWeb/src/app/buscador/buscadorConfirmadas.html","D:/Code/ApiWeb/src/app/buscador/buscadorConfirmadas.ts","D:/Code/ApiWeb/src/app/clientes/clientes.ts","D:/Code/ApiWeb/src/app/compra/compra.css","D:/Code/ApiWeb/src/app/compra/compra.html","D:/Code/ApiWeb/src/app/compra/compra.ts","D:/Code/ApiWeb/src/app/compra/compraNueva.html","D:/Code/ApiWeb/src/app/compra/compraNueva.ts","D:/Code/ApiWeb/src/app/confirmacion/confirmar.component.ts","D:/Code/ApiWeb/src/app/confirmacion/confirmar.html","D:/Code/ApiWeb/src/app/customPipe/utcDate.ts","D:/Code/ApiWeb/src/app/emisores/actividad.economica.component.ts","D:/Code/ApiWeb/src/app/emisores/actividad.economica.html","D:/Code/ApiWeb/src/app/emisores/editar.emisor.component.ts","D:/Code/ApiWeb/src/app/emisores/emisor.component.html","D:/Code/ApiWeb/src/app/emisores/emisor.component.ts","D:/Code/ApiWeb/src/app/emisores/filter.pipe.ts","D:/Code/ApiWeb/src/app/emisores/nuevo.emisor.component.ts","D:/Code/ApiWeb/src/app/facturacion/factura.css","D:/Code/ApiWeb/src/app/facturacion/factura.html","D:/Code/ApiWeb/src/app/facturacion/facturacion.html","D:/Code/ApiWeb/src/app/facturacion/facturacion.ts","D:/Code/ApiWeb/src/app/facturacion/facturacionNueva.ts","D:/Code/ApiWeb/src/app/facturacion/impuestos.ts","D:/Code/ApiWeb/src/app/facturacion/vistaPrevia.html","D:/Code/ApiWeb/src/app/facturacion/vistaPrevia.ts","D:/Code/ApiWeb/src/app/home/home.component.ts","D:/Code/ApiWeb/src/app/home/home.html","D:/Code/ApiWeb/src/app/models/sucursal.ts","D:/Code/ApiWeb/src/app/models/tipoExoneracion.ts","D:/Code/ApiWeb/src/app/models/user.ts","D:/Code/ApiWeb/src/app/notasCredito/Credito.ts","D:/Code/ApiWeb/src/app/notasCredito/notasCredito.html","D:/Code/ApiWeb/src/app/notasDebito/Debito.ts","D:/Code/ApiWeb/src/app/notasDebito/notasDebito.html","D:/Code/ApiWeb/src/app/reportes/reportes.html","D:/Code/ApiWeb/src/app/reportes/reportes.ts","D:/Code/ApiWeb/src/app/tiquete/tiquete.component.ts","D:/Code/ApiWeb/src/app/tiquete/tiquete.css","D:/Code/ApiWeb/src/app/tiquete/tiquete.html","D:/Code/ApiWeb/src/app/tiquete/tiquetes.components.ts","D:/Code/ApiWeb/src/app/tiquete/tiquetes.html","D:/Code/ApiWeb/src/app/util.ts","D:/Code/ApiWeb/src/environments/environment.ts","D:/Code/ApiWeb/src/main.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"../../../../../src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/$$_lazy_route_resource lazy\n// module id = ../../../../../src/$$_lazy_route_resource lazy recursive\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n menu\\r\\n
  • \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Su pago esta pendiente, favor ponerse al día para evitar suspensión del servicio\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Factura Digital - Web App Framework Copyright © 2019\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/app.component.html\n// module id = ../../../../../src/app/app.component.html\n// module chunks = main","import { Component } from '@angular/core';\r\nimport { Meta, Title } from '@angular/platform-browser';\r\nimport { AppService } from './app.service';\r\nimport { Sucursal } from './models/sucursal';\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\ndeclare var window: any;\r\ndeclare var AppSidebar: any;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styles: []\r\n})\r\nexport class AppComponent {\r\n private regularExpression: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;\r\n public user: any = {\r\n username: null,\r\n password: ''\r\n };\r\n public modal: any;\r\n public loggedIn: boolean = false;\r\n public sucursal: Sucursal = new Sucursal();\r\n public emisor: any;\r\n public isMoroso: boolean = false;\r\n public nombreUsuario: string = '';\r\n constructor(private service: AppService) {\r\n this.modal = {\r\n mode: 'login',\r\n title: 'Inicio | Credenciales para validar su cuenta.',\r\n btnText: 'Iniciar',\r\n labelQue: 'Contáctenos al correo: soporte@wsoftscr.com',\r\n lebelInfo: ''\r\n };\r\n }\r\n\r\n formAction() {\r\n if (this.modal.mode === 'cuenta') {\r\n /**\r\n * Crear cuenta\r\n */\r\n this.register();\r\n return;\r\n }\r\n /**\r\n * Login\r\n */\r\n this.login();\r\n }\r\n\r\n register() {\r\n if (!this.user.username || !this.user.password || !this.user.passwordConfirm) {\r\n this.modal.error = 'Todos los campos son requeridos.';\r\n return;\r\n }\r\n if (this.user.password != this.user.passwordConfirm) {\r\n this.modal.error = 'Las contraseñas no coinciden.';\r\n return;\r\n }\r\n if (!this.user.password.match(this.regularExpression)) {\r\n this.modal.error = 'La contraseña debe ser mayor de 6 y menor de 16 caracteres, debe contener mayúscula, número y algún carácter especial.';\r\n return;\r\n }\r\n window.loading.showPreloader(); \r\n this.service.register(String(this.user.username).trim(), String(this.user.password).trim(), (data) => {\r\n this.login();\r\n window.loading.hidePreloader(); \r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n if (err.status == 400) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n return;\r\n }\r\n this.modal.error = 'Problemas de conexión.';\r\n });\r\n }\r\n\r\n login() {\r\n if (!this.user.username || !this.user.password) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n return;\r\n }\r\n this.modal.error = '';\r\n window.loading.showPreloader(); \r\n this.service.login(String(this.user.username).trim(), String(this.user.password).trim(), (data) => {\r\n if (data.access_token && data.userName) {\r\n sessionStorage.setItem('username', data.userName);\r\n sessionStorage.setItem('tk', data.access_token);\r\n this.user.username = data.userName;\r\n $('#login-modal').modal('hide');\r\n window.loading.hidePreloader();\r\n this.service.getEmisor(this.user.username, (data) => {\r\n if(data && data.length > 0){\r\n this.emisor = data;\r\n if(!this.emisor.Activo){\r\n this.isMoroso = true;\r\n }\r\n this.service.user.username = this.user.username;\r\n sessionStorage.setItem(\"em\", data[0].Identificacion.Numero);\r\n }\r\n }, (err) => { \r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n });\r\n return;\r\n }\r\n this.modal.error = 'Problemas con la respuesta del servidor.';\r\n }, (err) => {\r\n if (err.status == 400) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n window.loading.hidePreloader();\r\n return;\r\n }\r\n this.modal.error = 'Problemas de conexión.';\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n\r\n logOut() {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.loading.showPreloader(); \r\n this.service.logout((data) => {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.reload();\r\n }, (err) => {\r\n\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.reload();\r\n });\r\n\r\n }\r\n\r\n changeModeForm() {\r\n if (this.modal.mode === 'cuenta') {\r\n this.modal = {\r\n mode: 'login',\r\n title: 'Inicio | Credenciales para validar su cuenta.',\r\n btnText: 'Iniciar',\r\n labelQue: 'Contáctenos al correo: soporte@wsoftscr.com',\r\n lebelInfo: ''\r\n };\r\n $('#login-form').show();\r\n $('#create-form').hide();\r\n return;\r\n }\r\n this.modal = {\r\n mode: 'cuenta',\r\n title: 'Cuenta | Regístrate para usar el sistema.',\r\n btnText: 'Crear Cuenta',\r\n labelQue: '¿Ya tiene cuenta?',\r\n lebelInfo: ' Inicia Sesión'\r\n };\r\n $('#login-form').hide();\r\n $('#create-form').show();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = this.service.getUser();\r\n if (!this.user.username) {\r\n //$('#login-modal').modal();\r\n setTimeout(function () {\r\n //$('#login-modal').modal();\r\n }, 1000);\r\n } else {\r\n this.loggedIn = true;\r\n let emi = null; //sessionStorage.getItem('em');\r\n if(!emi && this.user.username) {\r\n this.service.getEmisor(this.user.username, (data) => {\r\n if(data){\r\n this.emisor = data;\r\n if(!this.emisor.Activo){\r\n this.isMoroso = true;\r\n }\r\n sessionStorage.setItem(\"em\", data.Identificacion.Numero);\r\n if(sessionStorage.getItem(\"sucursal_\" + data.Identificacion.Numero)){\r\n this.sucursal = JSON.parse(sessionStorage.getItem(\"sucursal_\" + data.Identificacion.Numero));\r\n if(this.sucursal != null && this.sucursal.NombreComercial != null){\r\n this.nombreUsuario = this.sucursal.NombreComercial;\r\n }\r\n else{\r\n this.nombreUsuario = (this.emisor.NombreComercial != null && this.emisor.NombreComercial != \"\") ? this.emisor.NombreComercial : this.emisor.Nombre;\r\n }\r\n }\r\n else{\r\n if(this.emisor){\r\n this.nombreUsuario = (this.emisor.NombreComercial != null && this.emisor.NombreComercial != \"\") ? this.emisor.NombreComercial : this.emisor.Nombre;\r\n } \r\n else{\r\n this.nombreUsuario = this.user.username;\r\n }\r\n }\r\n }\r\n }, (err) => {\r\n });\r\n }\r\n else{\r\n this.sucursal.NombreComercial = this.user.username;\r\n } \r\n }\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/app.component.ts","import { Sucursal } from './models/sucursal';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AppService } from './app.service';\r\nimport { User } from './models/user';\r\ndeclare var jQuery: any;\r\ndeclare var $: any;\r\ndeclare var window: any;\r\ndeclare var AppSidebar: any;\r\n\r\n@Component({\r\n selector: 'login',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Simple y Poderosa Herramienta

\r\n

\r\n Gestione facturas de sus productos o servicios de manera fácil y rápida, con una interfaz amigable, \r\n
con acceso desde cualquier dispositivo. Maximice las operaciones diarias de su organización.\r\n

\r\n Iniciar\r\n
\r\n
\r\n
\r\n \"Hero\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

¿Por qué factura en linea?

\r\n

\r\n Entrega instantánea y segura de las facturas: no hay que esperar más para que las facturas salgan, que el cartero las envíe o la demora de un depósito por falta de factura. Puede enviar facturas electrónicas de forma segura directamente a la bandeja de entrada de correo electrónico de su cliente con solo hacer clic en un botón.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n assessment\r\n
\r\n
\r\n

Estadísticas en tiempo real

\r\n

\r\n Nuestra base de datos en la nube, permite la rápida y segura interpretación de resultados en la facturación.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n thumb_up\r\n
\r\n
\r\n

Diseño Amigable

\r\n

\r\n Nuestra arquitectura y diseño permite el fácil uso e integración del sistema con muchas herramientas. \r\n

\r\n
\r\n
\r\n
\r\n
\r\n email\r\n
\r\n
\r\n

Envío por correo

\r\n

\r\n Envío seguro y rápido a un clic, sin importar la distacia de tus clientes, has crecer tu empresa expandiendo las fronteras.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Desde cualquier parte inicia con tus credenciales y genera facturas.

\r\n Iniciar\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"Features\"\r\n
\r\n
\r\n
\r\n

Compatibilidad entre dispositivos y facilidad de acceso

\r\n

\r\n Lleva el control de su facturación para empresas de servicio y profesionales de forma rápida y fácil. \r\n

\r\n
    \r\n
  • Facturación, Notas de Crédito y Débito.
  • \r\n
  • Envio de facturas por correo electrónico.
  • \r\n
  • Diseño Amigable.
  • \r\n
  • Compatilidad con Android, Apple y Windows.
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Nuestros Precios y Planes.

\r\n

\r\n Precios adaptados a su necesidad.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \"Icon\"\r\n
\r\n
\r\n

Plan Por Consumo

\r\n \r\n
    \r\n
  • Precio por documento
  • \r\n
  • No requiere contratos
  • \r\n
  • Envio de correo electrónico
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Icon\"\r\n
\r\n
\r\n

Beginner Plan

\r\n $19.99\r\n

\r\n Pay only for what you use. Flexible
payment options.\r\n

\r\n
    \r\n
  • First premium feature
  • \r\n
  • Second premium one goes here
  • \r\n
  • Third premium feature here
  • \r\n
  • Final premium feature
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \"Icon\"\r\n
\r\n
\r\n

Premium Plan

\r\n $19.99\r\n
    \r\n
  • First premium feature
  • \r\n
  • Second premium one goes here
  • \r\n
  • Third premium feature here
  • \r\n
  • Final premium feature
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n \"Image\"\r\n

\r\n Somos una empresa de tecnologica, con más de 10 años de experiencia en tecnología web. \r\n

\r\n\r\n
\r\n

\r\n Copyright © 2018 Facturacion en linea\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n

¿ Necesita Ayuda ?

\r\n

\r\n Contáctenos por cualquier
consulta al correo soporte@wsoftscr.com. Nosotros le ayudaremos.\r\n

\r\n Información\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class AppLogin {\r\n private regularExpression: any = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,16}$/;\r\n public user: User = new User();\r\n public modal: any;\r\n loggedIN: any = false;\r\n\r\n constructor(private service: AppService) {\r\n let user = this.service.getUser();\r\n if (user.username) {\r\n window.location = '/inicio';\r\n }\r\n\r\n this.modal = {\r\n mode: 'login',\r\n title: 'Inicio | Credenciales para validar su cuenta.',\r\n btnText: 'Iniciar',\r\n labelQue: 'contáctenos al correo: soporte@wsoftscr.com',\r\n lebelInfo: ''\r\n };\r\n }\r\n start() {\r\n jQuery('#login-modal').modal();\r\n }\r\n\r\n hide(){\r\n AppSidebar.close(); \r\n }\r\n\r\n formAction() {\r\n\r\n if (this.modal.mode === 'cuenta') {\r\n /**\r\n * Crear cuenta\r\n */\r\n this.register();\r\n return;\r\n }\r\n /**\r\n * Login\r\n */\r\n this.login();\r\n }\r\n\r\n register() {\r\n if (!this.user.username || !this.user.password || !this.user.passwordConfirm) {\r\n this.modal.error = 'Todos los campos son requeridos.';\r\n return;\r\n }\r\n if (this.user.password != this.user.passwordConfirm) {\r\n this.modal.error = 'Las contraseñas no coinciden.';\r\n return;\r\n }\r\n if (!this.user.password.match(this.regularExpression)) {\r\n this.modal.error = 'La contraseña debe ser mayor de 6 y menor de 16 caracteres, debe contener mayúscula, número y algún carácter especial.';\r\n return;\r\n }\r\n window.loading.showPreloader();\r\n this.service.register(this.user.username, this.user.password, (data) => {\r\n this.login();\r\n window.loading.hidePreloader();\r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n if (err.status == 400) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n return;\r\n }\r\n this.modal.error = 'Problemas de conexión.';\r\n });\r\n }\r\n\r\n login() {\r\n if (!this.user.username || !this.user.password) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n return;\r\n }\r\n this.modal.error = '';\r\n window.loading.showPreloader();\r\n this.service.login(this.user.username.trim(), this.user.password.trim(), (data) => {\r\n if (data.access_token && data.userName) {\r\n this.user.username = String(data.userName).split(\"-\")[0];\r\n\r\n if(String(data.userName).split(\"-\").length > 1){\r\n sessionStorage.setItem('casamatriz', String(data.userName).split(\"-\")[1]);\r\n }\r\n else{\r\n sessionStorage.setItem('casamatriz', '001');\r\n }\r\n sessionStorage.setItem('username', this.user.username);\r\n sessionStorage.setItem('tk', data.access_token);\r\n $('#login-modal').modal('hide');\r\n let emisor = this.service.getEmisor(this.user.username, (data) => {\r\n if (data) {\r\n window.loading.hidePreloader();\r\n this.service.user.username = this.user.username;\r\n sessionStorage.setItem(\"em\", data.Identificacion.Numero);\r\n sessionStorage.removeItem('sucursal_' + data.Identificacion.Numero);\r\n data.Sucursales.map((element,i) => {\r\n if(element.CasaMatriz == sessionStorage.getItem('casamatriz')){\r\n sessionStorage.setItem('sucursal_' + data.Identificacion.Numero, JSON.stringify(element));\r\n }\r\n });\r\n window.location = '/inicio';\r\n }\r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n });\r\n return;\r\n }\r\n this.modal.error = 'Problemas con la respuesta del servidor.';\r\n }, (err) => {\r\n if (err.status == 400) {\r\n this.modal.error = 'Usuario o contraseña no son válidos.';\r\n window.loading.hidePreloader();\r\n return;\r\n }\r\n this.modal.error = 'Problemas de conexión.';\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n\r\n logOut() {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n sessionStorage.removeItem('sucursal');\r\n window.loading.showPreloader();\r\n this.service.logout((data) => {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.reload();\r\n }, (err) => {\r\n\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.reload();\r\n });\r\n\r\n }\r\n\r\n changeModeForm() {\r\n if (this.modal.mode === 'cuenta') {\r\n this.modal = {\r\n mode: 'login',\r\n title: 'Inicio | Credenciales para validar su cuenta.',\r\n btnText: 'Iniciar',\r\n labelQue: 'Contáctenos al correo: soporte@wsoftscr.com',\r\n lebelInfo: ''\r\n };\r\n $('#login-form').show();\r\n $('#create-form').hide();\r\n return;\r\n }\r\n this.modal = {\r\n mode: 'cuenta',\r\n title: 'Cuenta | Regístrate para usar el sistema.',\r\n btnText: 'Crear Cuenta',\r\n labelQue: 'Contáctenos al correo: soporte@wsoftscr.com',\r\n lebelInfo: ' Inicia Sesión'\r\n };\r\n $('#login-form').hide();\r\n $('#create-form').show();\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/app.login.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AppLogin } from './app.login';\r\n\r\nimport { Buscador } from './buscador/buscador';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { EmisorComponent } from './emisores/emisor.component';\r\nimport { EditarEmisorComponent } from './emisores/editar.emisor.component';\r\nimport { NuevoEmisorComponent } from './emisores/nuevo.emisor.component';\r\n\r\nimport { Facturacion } from './facturacion/facturacion';\r\nimport { FacturacionNueva } from './facturacion/facturacionNueva';\r\nimport { TiqueteNuevo } from './tiquete/tiquete.component';\r\nimport { Tiquetes } from './tiquete/tiquetes.components';\r\nimport { Impuestos } from './facturacion/impuestos';\r\nimport { Confirmar } from './confirmacion/confirmar.component';\r\nimport { VistaPrevia } from './facturacion/vistaPrevia';\r\nimport { ActividadEconomicaComponent } from './emisores/actividad.economica.component';\r\n\r\nimport { Compra } from './compra/compra';\r\nimport { CompraNueva } from './compra/compraNueva';\r\n\r\n\r\nimport { Clientes } from './clientes/clientes';\r\nimport { Credito } from './notasCredito/Credito';\r\nimport { Debito } from './notasDebito/Debito';\r\nimport { DataTablesModule } from 'angular-datatables';\r\n\r\nimport { AppService } from './app.service';\r\nimport { BuscadorConfirmadas } from './buscador/buscadorConfirmadas';\r\nimport { UtcDatePipe } from './customPipe/utcDate';\r\nimport { Reportes } from './reportes/reportes';\r\nimport { FilterdataPipe } from './emisores/filter.pipe';\r\n\r\nconst appRoutes: Routes = [\r\n { path: '', component: AppLogin, pathMatch: 'full'},\r\n { path: 'inicio', component: HomeComponent, pathMatch: 'full'},\r\n { path: 'emisor', component: EmisorComponent, pathMatch: 'full'},\r\n { path: 'actividades-economicas', component: ActividadEconomicaComponent, pathMatch: 'full'},\r\n { path: 'buscador', component: Buscador, pathMatch: 'full'},\r\n { path: 'buscador/confirmadas', component: BuscadorConfirmadas, pathMatch: 'full'},\r\n { path: 'facturacion', component: Facturacion, pathMatch: 'full'},\r\n { path: 'facturacion/nueva', component: FacturacionNueva, pathMatch: 'full'},\r\n { path: 'tiquete/nuevo', component: TiqueteNuevo, pathMatch: 'full'},\r\n { path: 'tiquetes', component: Tiquetes, pathMatch: 'full'},\r\n { path: 'facturacion/vistaPrevia', component: VistaPrevia, pathMatch: 'full'},\r\n { path: 'notas-credito/nueva', component: FacturacionNueva, pathMatch: 'full'},\r\n { path: 'notas-debito/nueva', component: FacturacionNueva, pathMatch: 'full'},\r\n { path: 't-notas-credito/nueva', component: TiqueteNuevo, pathMatch: 'full'},\r\n { path: 't-notas-debito/nueva', component: TiqueteNuevo, pathMatch: 'full'},\r\n { path: 'notas-debito', component: Debito, pathMatch: 'full'},\r\n { path: 'notas-credito', component: Credito, pathMatch: 'full'},\r\n { path: 'compra/nueva', component: CompraNueva, pathMatch: 'full'},\r\n { path: 'compras', component: Compra, pathMatch: 'full'},\r\n { path: 'confirmar-factura', component: Confirmar, pathMatch: 'full'},\r\n { path: 'reportes', component: Reportes, pathMatch: 'full'},\r\n { path: '**', component: HomeComponent, pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n EmisorComponent,\r\n NuevoEmisorComponent,\r\n EditarEmisorComponent,\r\n Facturacion,\r\n FacturacionNueva,\r\n VistaPrevia,\r\n Clientes,\r\n Credito,\r\n Debito,\r\n Buscador,\r\n Confirmar,\r\n BuscadorConfirmadas,\r\n AppLogin,\r\n UtcDatePipe,\r\n Reportes,\r\n ActividadEconomicaComponent,\r\n FilterdataPipe,\r\n Compra,\r\n CompraNueva,\r\n TiqueteNuevo,\r\n Tiquetes\r\n ],\r\n imports: [\r\n FormsModule,\r\n HttpClientModule,\r\n BrowserModule.withServerTransition({appId: 'my-app'}),\r\n RouterModule.forRoot(appRoutes),\r\n DataTablesModule\r\n ],\r\n providers: [AppService, Impuestos],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/app.module.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { Response, URLSearchParams } from '@angular/http';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/catch';\r\nimport { timeout } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport * as $ from 'jquery';\r\n\r\ndeclare var window: any;\r\n\r\n@Injectable()\r\n\r\nexport class AppService {\r\n user: any;\r\n /**\r\n * Current ENV\r\n */\r\n private configFileUrl: string = \"./assets/config/apiConfigFile.json\";\r\n currentEnv: any = 'staging';\r\n /*env:any = {\r\n production: 'https://www.facturacion-enlinea.com/service/',\r\n staging: 'http://www.facturacion-enlinea.com:8080/service/',\r\n develop: 'http://localhost:56007/'\r\n };*/\r\n API: any = \"\";//this.env[this.currentEnv];\r\n GRANT: any = 'password';\r\n actions: any = [];\r\n\r\n constructor(private http: HttpClient, private router: Router) {\r\n this.loadConfig();\r\n }\r\n loadConfig() {\r\n let obj;\r\n this.getJSON().subscribe(data => {\r\n obj = data;\r\n this.API = obj.apiUrl;\r\n sessionStorage.setItem('API', this.API);\r\n },\r\n error => console.log('ERROR Cargando la configuracion: ' + error));\r\n }\r\n getUser() {\r\n this.user = {\r\n username: sessionStorage.getItem('username')\r\n }\r\n return this.user;\r\n }\r\n\r\n getJSON(): Observable {\r\n return this.http.get(this.configFileUrl)\r\n .map((data: Response) => data);\r\n }\r\n /**\r\n * Login API\r\n */\r\n login(username, password, callback, error) {\r\n var formData = new URLSearchParams();\r\n formData.append(\"username\", username);\r\n formData.append(\"password\", password);\r\n formData.append(\"grant_type\", this.GRANT);\r\n\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n })\r\n };\r\n\r\n this.http.post(this.API + 'api/token', formData.toString(), httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n error(err);\r\n });\r\n }\r\n logout(callback, error) {\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'bearer ' + this.getToken()\r\n })\r\n };\r\n\r\n this.http.post(this.API + 'api/Account/Logout', {}, httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n error(err);\r\n });\r\n }\r\n\r\n getTipoVentaDolar(callback, error) {\r\n let fecha: Date = this.convertUTCDateToLocalDate(new Date());\r\n let url = 'https://tipodecambio.paginasweb.cr/api/'+ fecha.getDate() + '/' + (fecha.getMonth() + 1) + '/' + fecha.getFullYear();\r\n this.ajaxCambioDolar('get', url, {}, callback, error);\r\n }\r\n\r\n getToken() {\r\n return sessionStorage.getItem('tk')\r\n }\r\n\r\n register(username, password, callback, error) {\r\n\r\n let data = {\r\n \"Email\": username,\r\n \"Password\": password,\r\n \"ConfirmPassword\": password\r\n };\r\n\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n this.http.post(this.API + 'api/Account/Register', data, httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n error(err);\r\n });\r\n }\r\n\r\n traeActividadesEconomicas(callback, error) {\r\n this.ajax('get', 'api/catalogos/actividadeconomica', {}, callback, error)\r\n }\r\n\r\n traeActividadesEconomicasEmisor(cedula, callback, error) {\r\n this.ajax('get', 'api/GetActividadEconomicaPorEmisor/' + cedula, {}, callback, error)\r\n }\r\n\r\n agregaActividadEconomica(list, callback, error) {\r\n this.ajax('post', 'api/AgregarActividadEconomica', list, callback, error);\r\n }\r\n\r\n createInvoice(inv, callback, error) {\r\n this.ajax('post', 'api/FacturaElectronica', inv, callback, error);\r\n }\r\n\r\n creaTiquete(inv, callback, error) {\r\n this.ajax('post', 'api/TiqueteElectronico', inv, callback, error);\r\n }\r\n\r\n creaCompra(inv, callback, error) {\r\n this.ajax('post', 'api/FacturaElectronicaCompra', inv, callback, error);\r\n }\r\n\r\n createCredito(inv, callback, error) {\r\n this.ajax('post', 'api/NotaCredito', inv, callback, error);\r\n }\r\n\r\n createDebito(inv, callback, error) {\r\n this.ajax('post', 'api/NotaDebito', inv, callback, error);\r\n }\r\n\r\n createEmisor(emisor, callback, error) {\r\n this.ajax('post', 'api/Emisores', emisor, callback, error);\r\n }\r\n getEmisor(cedula, callback, error) {\r\n this.ajax('get', 'api/emisores/getEmisorByUserName/0?userName=' + cedula, {}, callback, error);\r\n }\r\n editaEmisor(emisor, callback, error) {\r\n this.ajax('post', 'api/Emisores/', emisor, callback, error);\r\n }\r\n\r\n getProvicias(callback, error) {\r\n this.ajax('get', 'api/catalogos/provincias', {}, callback, error);\r\n }\r\n getCantones(idProvincia, callback, error) {\r\n this.ajax('get', 'api/catalogos/cantones/' + idProvincia, {}, callback, error);\r\n }\r\n getDistritos(idProvincia, idCanton, callback, error) {\r\n let url = 'api/catalogos/distritos/' + idProvincia + '/' + idCanton;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n getBarrios(idProvincia, idCanton, idDistrito, callback, error) {\r\n let url = 'api/catalogos/barrios/' + idProvincia + '/' + idCanton + '/' + idDistrito;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getDireccionEmisor(emisorId, callback, error) {\r\n let url = 'api/catalogos/direccionEmisor/' + emisorId;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getDireccionReceptor(receptorId, callback, error) {\r\n let url = 'api/catalogos/direccionReceptor/' + receptorId;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getConsecInv(id, callback, error) {\r\n let url = 'api/FacturaConsecutivo/' + id + '/001/00001';\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getConsecCredito(id, callback, error) {\r\n let url = 'api/NotaCreditoConsecutivo/' + id + '/001/00001';\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getConseDebito(id, callback, error) {\r\n let url = 'api/NotaDebitoConsecutivo/' + id + '/001/00001';\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getInvo(data, callback, error) {\r\n let url = 'api/FacturaPorEmisor';\r\n this.ajax('post', url, data, callback, error);\r\n }\r\n\r\n getTiquetes(data, callback, error) {\r\n let url = 'api/TiqueteElectronicoPorEmisor';\r\n this.ajax('post', url, data, callback, error);\r\n }\r\n\r\n getCompras(data, callback, error) {\r\n let url = 'api/FacturaCompraPorEmisor';\r\n this.ajax('post', url, data, callback, error);\r\n }\r\n\r\n getDebitos(data, callback, error) {\r\n let url = 'api/NotaDebitoPorEmisor';\r\n this.ajax('post', url, data, callback, error);\r\n }\r\n\r\n getCreditos(data, callback, error) {\r\n let url = 'api/NotaCreditoPorEmisor';\r\n this.ajax('post', url, data, callback, error);\r\n }\r\n\r\n getReceptores(id, callback, error) {\r\n let url = 'api/ReceptoresPorEmisor/' + id;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getTotalVentaPorEmisor(id, fechaInicio, fechaFin, callback, error) {\r\n let url = 'api/Reportes/TotalesDocElectronicos/' + id + '/' + fechaInicio + '/' + fechaFin;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getConfirmacionPorEmisor(param, callback, error) {\r\n let url = 'api/MensajeReceptor/DocConfirmados/' + param.Identificacion + '/' + param.FechaInicio + '/' + param.FechaFin;\r\n this.ajax('get', url, {}, callback, error);\r\n }\r\n\r\n getReeviarCorreo(email, clave, callback, error) {\r\n this.ajax('get', 'api/EstadoDocumentos/GetReenviarCorreo/' + email + '/' + clave, {}, callback, error);\r\n }\r\n\r\n getInventario(emisorId, callback,error){\r\n this.ajax('get', 'api/Emisor/Inventario' + emisorId, {}, callback, error);\r\n }\r\n\r\n ajax(method, url, data, callback, error) {\r\n if (this.API == '') {\r\n this.API = sessionStorage.getItem('API');\r\n }\r\n\r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'bearer ' + this.getToken()\r\n })\r\n };\r\n if (method === 'get') {\r\n this.http[method](this.API + url, httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n sessionStorage.removeItem('sucursal');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n console.log(error)\r\n error(error);\r\n });\r\n return;\r\n }\r\n this.http[method](this.API + url, data, httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n sessionStorage.removeItem('sucursal');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n console.log(error)\r\n error(error);\r\n });\r\n }\r\n\r\n ajaxCambioDolar(method, url, data, callback, error) {\r\n \r\n let httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n \r\n this.http[method]( url, httpOptions).subscribe(data => {\r\n callback(data);\r\n }, err => {\r\n if (err.status == 401) {\r\n return false;\r\n }\r\n console.log(error)\r\n error(error);\r\n });\r\n return;\r\n }\r\n\r\n\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n\r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/app.service.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/buscador/buscador.css\n// module id = ../../../../../src/app/buscador/buscador.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{type}}
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#EstadoA nombre deFechaTotalAcciones
{{item.Clave}}{{item.NumeroConsecutivo}}{{item.Estado}}\\r\\n
{{item.Estado}} (NC)\\r\\n

\\r\\n Notas de Crédito:\\r\\n \\r\\n {{item}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{item.Estado}} (ND)\\r\\n

\\r\\n Notas de Débito:\\r\\n \\r\\n {{item}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{item.Estado}} (NC & ND)\\r\\n

\\r\\n Notas de Crédito:\\r\\n \\r\\n {{item}}\\r\\n Notas de Débito:\\r\\n \\r\\n {{item}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{item.Estado}}\\r\\n {{item.Errores}}\\r\\n
\\r\\n
{{item.Receptor.Nombre}}Sin nombre{{item.FechaEmision | date:'dd MMM yyyy hh:mm:ss a'}}{{item.ResumenFactura.TotalComprobante | currency: traeMoneda(item) }}\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n
    \\r\\n
  • \\r\\n ACCIONES\\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
{{item.InformacionReferencia ? item.InformacionReferencia.Numero : ''}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Reenviar Correo
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/buscador/buscador.html\n// module id = ../../../../../src/app/buscador/buscador.html\n// module chunks = main","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { AppService } from '../app.service';\r\nimport * as $ from 'jquery';\r\nimport 'datatables.net';\r\nimport 'datatables.net-dt/css/jquery.dataTables.css';\r\nimport { Impuestos } from '../facturacion/impuestos';\r\n\r\ndeclare var window: any;\r\n//declare var $: any;\r\n\r\n@Component({\r\n selector: 'buscador',\r\n templateUrl: \"./buscador.html\",\r\n styleUrls: ['./buscador.css']\r\n})\r\nexport class Buscador implements OnInit {\r\n constructor(private impuestos: Impuestos, private route: ActivatedRoute, private service: AppService, private chRef: ChangeDetectorRef) { }\r\n public items: any = [];\r\n public currentPage: any = 1;\r\n public totalPages: any = 1;\r\n public totalItems: any = 0;\r\n public pages: any = [];\r\n public type: any = 'Facturas';\r\n public settings: any = {\r\n type: String, startAt: Date, endAt: Date\r\n }\r\n public dataTable: any;\r\n public inicializarTabla: boolean = false;\r\n public reenviarEmail: string = '';\r\n public claveReenviar: string = '';\r\n public receptorName: string = '';\r\n public receptorEmail: string = '';\r\n\r\n setPagination(total, perPage) {\r\n this.totalPages = Math.ceil(total / perPage);\r\n\r\n for (let index = 0; index < this.totalPages; index++) {\r\n this.pages[index] = index + 1;\r\n }\r\n }\r\n\r\n traeMoneda(item){\r\n if(item.ResumenFactura.CodigoTipoMoneda){\r\n return item.ResumenFactura.CodigoTipoMoneda.CodigoMoneda + ' ';\r\n }else{\r\n return ' '; \r\n }\r\n \r\n }\r\n\r\n nextPage() {\r\n if (this.currentPage != this.totalPages) {\r\n this.currentPage = this.currentPage + 1;\r\n this.getData(this.settings.type, this.settings.startAt, this.settings.endAt, this.currentPage);\r\n }\r\n return false;\r\n }\r\n\r\n backPage() {\r\n if (this.currentPage > 1) {\r\n this.currentPage = this.currentPage - 1;\r\n this.getData(this.settings.type, this.settings.startAt, this.settings.endAt, this.currentPage);\r\n }\r\n return false;\r\n }\r\n\r\n duplicar(invo) {\r\n this.setDoc(invo);\r\n sessionStorage.setItem('tempInvo', JSON.stringify(invo));\r\n window.location.href = 'facturacion/nueva';\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.inicializarTabla = true;\r\n let today = new Date();\r\n let startAt = new Date(new Date().setDate(today.getDate() - 30)).toISOString().split('T')[0];\r\n let endAt = new Date(new Date().setDate(today.getDate() + 1)).toISOString().split('T')[0];\r\n let type = 'facturas';\r\n\r\n this.route.queryParams.subscribe(params => {\r\n if (params.q) {\r\n type = params.q;\r\n }\r\n switch (type) {\r\n case 'compras':\r\n this.getData('getCompras', startAt, endAt, 0);\r\n this.type = 'Compras';\r\n break;\r\n case 'tiquetes':\r\n this.getData('getTiquetes', startAt, endAt, 0);\r\n this.type = 'Tiquetes';\r\n break;\r\n case 'facturas':\r\n this.getData('getInvo', startAt, endAt, 0);\r\n this.type = 'Facturas';\r\n break;\r\n case 'creditos':\r\n this.getData('getCreditos', startAt, endAt, 0);\r\n this.type = 'Notas de Crédito';\r\n break;\r\n case 'debitos':\r\n this.type = 'Notas de Débito';\r\n this.getData('getDebitos', startAt, endAt, 0);\r\n break;\r\n default:\r\n this.getData('getInvo', startAt, endAt, 0);\r\n this.type = 'Facturas';\r\n break;\r\n }\r\n });\r\n }\r\n\r\n getData(type, startAt, endAt, page) {\r\n window.loading.showPreloader();\r\n this.settings = {\r\n type: type, startAt: startAt, endAt: endAt\r\n };\r\n var casaMatriz = \"001\";\r\n if (sessionStorage.getItem('casamatriz')) {\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n let ident = sessionStorage.getItem('em');\r\n this.service[type]({\r\n Identificacion: ident,\r\n FechaInicio: startAt,\r\n FechaFin: endAt,\r\n NumeroPagina: page,\r\n TamanoPagina: 100,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n\r\n if (!this.inicializarTabla) {\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable();\r\n this.dataTable.destroy();\r\n }\r\n\r\n this.items = data.DocumentosElectronicos;\r\n\r\n this.chRef.detectChanges();\r\n const table: any = $('#tbResults');\r\n this.inicializarTabla = false;\r\n this.dataTable = table.DataTable({\r\n \"language\": {\r\n \"lengthMenu\": \"Mostrar _MENU_ registros por página\",\r\n \"zeroRecords\": \"No hay registros\",\r\n \"info\": \"Mostrando pagina _PAGE_ de _PAGES_\",\r\n \"infoEmpty\": \"No registros disponibles\",\r\n \"infoFiltered\": \"(filtrados _MAX_ total de registros)\",\r\n \"search\": \"Buscar\",\r\n \"paginate\": {\r\n \"first\": \"Primera\",\r\n \"last\": \"Ultima\",\r\n \"next\": \"Siguiente\",\r\n \"previous\": \"Anterior\"\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": [0],\r\n \"visible\": false,\r\n \"searchable\": false\r\n },\r\n {\r\n \"render\": function (data, type, row) {\r\n let strData: String = String(data).substring(8, 20);\r\n let customData = \"
\" + strData + \"Clave: \" + row[0] + \"
\";\r\n return customData;\r\n },\r\n \"targets\": 1\r\n },\r\n {\r\n \"render\": function (data, type, row) {\r\n try {\r\n let date: Date = new Date(data);\r\n return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();\r\n }\r\n catch (Error) {\r\n return data;\r\n }\r\n\r\n },\r\n \"targets\": 4\r\n }\r\n ],\r\n \"order\": [[1, \"desc\"]],\r\n buttons: [\r\n {\r\n extend: 'collection',\r\n text: 'Exportar',\r\n buttons: [\r\n 'excel',\r\n 'csv'\r\n ]\r\n }\r\n ]\r\n });\r\n },\r\n (err) => {\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n showPdf(invo) {\r\n let base64 = this.SHA256(invo.Clave).substring(0, 15);\r\n window.open(this.service.API + 'ConsultarFactura/GetPdf/?clave=' + invo.Clave + '&token=' + base64);\r\n return false;\r\n }\r\n showXml(invo) {\r\n let base64 = this.SHA256(invo.Clave).substring(0, 15);\r\n window.open(this.service.API + 'ConsultarFactura/GetXml/?clave=' + invo.Clave + '&token=' + base64);\r\n return false;\r\n }\r\n\r\n showRespuestaXml(invo) {\r\n let base64 = this.SHA256(invo.Clave).substring(0, 15);\r\n window.open(this.service.API + 'ConsultarFactura/GetRespuestaXml/?clave=' + invo.Clave + '&token=' + base64);\r\n return false;\r\n }\r\n\r\n\r\n SHA256(s) {\r\n var chrsz = 8;\r\n var hexcase = 0;\r\n function safe_add(x, y) {\r\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r\n return (msw << 16) | (lsw & 0xFFFF);\r\n }\r\n function S(X, n) { return (X >>> n) | (X << (32 - n)); }\r\n function R(X, n) { return (X >>> n); }\r\n function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }\r\n function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }\r\n function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }\r\n function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }\r\n function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }\r\n function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }\r\n function core_sha256(m, l) {\r\n var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);\r\n var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);\r\n var W = new Array(64);\r\n var a, b, c, d, e, f, g, h, i, j;\r\n var T1, T2;\r\n m[l >> 5] |= 0x80 << (24 - l % 32);\r\n m[((l + 64 >> 9) << 4) + 15] = l;\r\n for (var i: any = 0; i < m.length; i += 16) {\r\n a = HASH[0];\r\n b = HASH[1];\r\n c = HASH[2];\r\n d = HASH[3];\r\n e = HASH[4];\r\n f = HASH[5];\r\n g = HASH[6];\r\n h = HASH[7];\r\n for (var j: any = 0; j < 64; j++) {\r\n if (j < 16) W[j] = m[j + i];\r\n else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);\r\n T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);\r\n T2 = safe_add(Sigma0256(a), Maj(a, b, c));\r\n h = g;\r\n g = f;\r\n f = e;\r\n e = safe_add(d, T1);\r\n d = c;\r\n c = b;\r\n b = a;\r\n a = safe_add(T1, T2);\r\n }\r\n HASH[0] = safe_add(a, HASH[0]);\r\n HASH[1] = safe_add(b, HASH[1]);\r\n HASH[2] = safe_add(c, HASH[2]);\r\n HASH[3] = safe_add(d, HASH[3]);\r\n HASH[4] = safe_add(e, HASH[4]);\r\n HASH[5] = safe_add(f, HASH[5]);\r\n HASH[6] = safe_add(g, HASH[6]);\r\n HASH[7] = safe_add(h, HASH[7]);\r\n }\r\n return HASH;\r\n }\r\n function str2binb(str) {\r\n var bin = Array();\r\n var mask = (1 << chrsz) - 1;\r\n for (var i = 0; i < str.length * chrsz; i += chrsz) {\r\n bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32);\r\n }\r\n return bin;\r\n }\r\n function Utf8Encode(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n for (var n = 0; n < string.length; n++) {\r\n var c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n function binb2hex(binarray) {\r\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n var str = \"\";\r\n for (var i: any = 0; i < binarray.length * 4; i++) {\r\n str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) +\r\n hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xF);\r\n }\r\n return str;\r\n }\r\n s = Utf8Encode(s);\r\n return binb2hex(core_sha256(str2binb(s), s.length * chrsz));\r\n }\r\n\r\n setDoc(invo){\r\n if (invo.Receptor && !invo.Receptor.Identificacion) {\r\n invo.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n }\r\n }\r\n var lineas = invo.DetalleServicio.LineaDetalle.map((item) => {\r\n /**\r\n * Se cargan las tarifas predefinidas.\r\n */\r\n var impuestos = [];\r\n item.Impuestos.Impuesto.map((imp) => {\r\n imp.tarifas = this.impuestos.valores[0].tarifas;\r\n impuestos.push(imp);\r\n });\r\n\r\n return {\r\n \"NumeroLinea\": item.NumeroLinea,\r\n \"Codigo\": item.Codigo,\r\n \"Cantidad\": item.Cantidad,\r\n \"CodigoComercial\": item.CodigoComercial,\r\n \"UnidadMedida\": item.UnidadMedida,\r\n \"UnidadMedidaComercial\": item.UnidadMedidaComercial,\r\n \"Detalle\": item.Detalle,\r\n \"PrecioUnitario\": item.PrecioUnitario,\r\n \"MontoTotal\": item.MontoTotal,\r\n \"SubTotal\": item.SubTotal,\r\n \"ImpuestoNeto\":item.ImpuestoNeto,\r\n \"Impuestos\": {\r\n \"Impuesto\": impuestos\r\n },\r\n \"MontoTotalLinea\": item.MontoTotalLinea\r\n }\r\n });\r\n\r\n var info = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": new Date(),\r\n \"CodigoActividad\":invo.CodigoActividad,\r\n \"Emisor\": invo.Emisor,\r\n \"Receptor\": null,\r\n \"CondicionVenta\": invo.CondicionVenta,\r\n \"PlazoCredito\": invo.PlazoCredito,\r\n \"MedioPago\": invo.MedioPago,\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": lineas\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": invo.ResumenFactura.CodigoTipoMoneda,\r\n \"TotalServGravados\": invo.ResumenFactura.TotalServGravados,\r\n \"TotalServExentos\": invo.ResumenFactura.TotalServExentos,\r\n \"TotalMercanciasGravadas\": invo.ResumenFactura.TotalMercanciasGravadas,\r\n \"TotalMercanciasExentas\": invo.ResumenFactura.TotalMercanciasExentas,\r\n \"TotalGravado\": invo.ResumenFactura.TotalGravado,\r\n \"TotalExento\": invo.ResumenFactura.TotalExento,\r\n \"TotalVenta\": invo.ResumenFactura.TotalVenta,\r\n \"TotalVentaNeta\": invo.ResumenFactura.TotalVentaNeta,\r\n \"TotalImpuesto\": invo.ResumenFactura.TotalImpuesto,\r\n \"TotalComprobante\": invo.ResumenFactura.TotalComprobante\r\n },\r\n \"Normativa\": invo.Normativa,\r\n \"InformacionReferencia\": invo.InformacionReferencia,\r\n \"Otros\": {\r\n \"OtroTexto\": invo.Otros ? invo.Otros.OtroTexto : ''\r\n }\r\n };\r\n\r\n if (invo.Receptor) {\r\n info.Receptor = {\r\n \"Nombre\": invo.Receptor.Nombre,\r\n \"Identificacion\": invo.Receptor.Identificacion,\r\n \"Telefono\": invo.Receptor ? invo.Receptor.Telefono : { Telefono: {} },\r\n \"CorreoElectronico\": invo.Receptor.CorreoElectronico\r\n }\r\n }\r\n sessionStorage.setItem('tempInvo', JSON.stringify(info));\r\n\r\n }\r\n\r\n notaCredito(invo) {\r\n this.setDoc(invo); \r\n sessionStorage.setItem('tempNota', invo.Clave);\r\n if(this.type == 'Tiquetes'){\r\n window.location.href = 't-notas-credito/nueva';\r\n }else{\r\n window.location.href = 'notas-credito/nueva';\r\n }\r\n \r\n return false;\r\n }\r\n\r\n notaDebito(invo) {\r\n this.setDoc(invo); \r\n sessionStorage.setItem('tempNota', invo.Clave);\r\n if(this.type == 'Tiquetes'){\r\n window.location.href = 't-notas-debito/nueva';\r\n }else{\r\n window.location.href = 'notas-debito/nueva';\r\n }\r\n \r\n return false;\r\n }\r\n\r\n modalInit(invo) {\r\n this.claveReenviar = invo.Clave;\r\n this.receptorName = invo.Receptor.Nombre;\r\n this.receptorEmail = invo.Receptor.CorreoElectronico;\r\n $('#openModalReenviarCorreo').click();\r\n }\r\n onReenviarCorreo() {\r\n let email: string = \"none\";\r\n let clave: string = '';\r\n window.loading.showPreloader();\r\n if (this.claveReenviar !== '') {\r\n \r\n if(this.validateEmail(this.reenviarEmail)) {\r\n email = this.reenviarEmail;\r\n }\r\n\r\n this.service.getReeviarCorreo(email, this.claveReenviar,\r\n (result) => {\r\n $('#closeModal').click();\r\n window.loading.hidePreloader();\r\n },\r\n (error) => {\r\n $('#closeModal').click();\r\n window.loading.hidePreloader();\r\n if (error) {\r\n\r\n }\r\n });\r\n }\r\n }\r\n\r\n validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/buscador/buscador.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
Facturas Confirmadas
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#EstadoDocumentoFechaDetalleProveedorTotal ImpuestoTotal
{{item.ClaveDocumento}}{{item.NumeroConsecutivoReceptor}}{{item.Estado}}{{item.TipoDocumento}}{{item.FechaEmisionDoc | date:'dd MMM yyyy hh:mm:ss a'}}{{item.DetalleMensaje}}{{item.NumeroCedulaEmisor }}{{item.MontoTotalImpuesto | number:'3.1-2' }}{{item.TotalFactura | number:'3.1-2' }}
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/buscador/buscadorConfirmadas.html\n// module id = ../../../../../src/app/buscador/buscadorConfirmadas.html\n// module chunks = main","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { AppService } from '../app.service';\r\nimport * as $ from 'jquery';\r\nimport 'datatables.net';\r\nimport 'datatables.net-dt/css/jquery.dataTables.css';\r\n\r\ndeclare var window: any;\r\n//declare var $: any;\r\n\r\n@Component({\r\n selector: 'buscadorConfirmadas',\r\n templateUrl: \"./buscadorConfirmadas.html\"\r\n})\r\nexport class BuscadorConfirmadas implements OnInit {\r\n constructor(private route: ActivatedRoute, private service: AppService, private chRef: ChangeDetectorRef) { }\r\n public items: any = [];\r\n public settings: any = {\r\n type: String, startAt: Date, endAt: Date\r\n }\r\n public dataTable: any;\r\n public inicializarTabla: boolean = false;\r\n\r\n ngOnInit() {\r\n this.inicializarTabla = true;\r\n let today = new Date();\r\n let startAt = new Date(new Date().setDate(today.getDate() - 30)).toISOString().split('T')[0];\r\n let endAt = new Date(new Date().setDate(today.getDate() + 1)).toISOString().split('T')[0];\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.getData('getConfirmacionPorEmisor', startAt, endAt); \r\n });\r\n }\r\n\r\n getData(type, startAt, endAt) {\r\n window.loading.showPreloader();\r\n this.settings = {\r\n type: type, startAt: startAt, endAt: endAt\r\n };\r\n let ident = sessionStorage.getItem('em');\r\n this.service[type]({\r\n Identificacion: ident,\r\n FechaInicio: startAt,\r\n FechaFin: endAt\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n\r\n if (!this.inicializarTabla) {\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable();\r\n this.dataTable.destroy();\r\n }\r\n\r\n this.items = data;\r\n this.chRef.detectChanges();\r\n const table: any = $('#tbResults');\r\n this.inicializarTabla = false;\r\n this.dataTable = table.DataTable({\r\n \"language\": {\r\n \"lengthMenu\": \"Mostrar _MENU_ registros por página\",\r\n \"zeroRecords\": \"No hay registros\",\r\n \"info\": \"Mostrando pagina _PAGE_ de _PAGES_\",\r\n \"infoEmpty\": \"No registros disponibles\",\r\n \"infoFiltered\": \"(filtrados _MAX_ total de registros)\",\r\n \"search\": \"Buscar\",\r\n \"paginate\": {\r\n \"first\": \"Primera\",\r\n \"last\": \"Ultima\",\r\n \"next\": \"Siguiente\",\r\n \"previous\": \"Anterior\"\r\n }\r\n },\r\n \"columnDefs\": [\r\n {\r\n \"targets\": [ 0 ],\r\n \"visible\": false,\r\n \"searchable\": false\r\n },\r\n {\r\n \"render\": function ( data, type, row ) {\r\n let strData: String = String(data).substring(8,20);\r\n let customData = \"
\" + strData + \"Clave: \" + row[0] + \"
\"; \r\n return customData;\r\n },\r\n \"targets\": 1\r\n },\r\n {\r\n \"render\": function ( data, type, row ) {\r\n let date = new Date(data).toISOString().split('T')[0];\r\n return date;\r\n },\r\n \"targets\": 4\r\n }\r\n ],\r\n \"order\": [[ 1, \"desc\" ]]\r\n });\r\n }, \r\n (err) => {\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n\r\n showRespuestaXml(invo) {\r\n let base64 = this.SHA256(invo.Clave).substring(0, 15);\r\n window.open(this.service.API + 'ConsultarFactura/GetRespuestaXml/?clave=' + invo.Clave + '&token=' + base64);\r\n return false;\r\n }\r\n \r\n\r\n SHA256(s) {\r\n var chrsz = 8;\r\n var hexcase = 0;\r\n function safe_add(x, y) {\r\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r\n return (msw << 16) | (lsw & 0xFFFF);\r\n }\r\n function S(X, n) { return (X >>> n) | (X << (32 - n)); }\r\n function R(X, n) { return (X >>> n); }\r\n function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }\r\n function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }\r\n function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }\r\n function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }\r\n function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }\r\n function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }\r\n function core_sha256(m, l) {\r\n var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);\r\n var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);\r\n var W = new Array(64);\r\n var a, b, c, d, e, f, g, h, i, j;\r\n var T1, T2;\r\n m[l >> 5] |= 0x80 << (24 - l % 32);\r\n m[((l + 64 >> 9) << 4) + 15] = l;\r\n for (var i: any = 0; i < m.length; i += 16) {\r\n a = HASH[0];\r\n b = HASH[1];\r\n c = HASH[2];\r\n d = HASH[3];\r\n e = HASH[4];\r\n f = HASH[5];\r\n g = HASH[6];\r\n h = HASH[7];\r\n for (var j: any = 0; j < 64; j++) {\r\n if (j < 16) W[j] = m[j + i];\r\n else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);\r\n T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);\r\n T2 = safe_add(Sigma0256(a), Maj(a, b, c));\r\n h = g;\r\n g = f;\r\n f = e;\r\n e = safe_add(d, T1);\r\n d = c;\r\n c = b;\r\n b = a;\r\n a = safe_add(T1, T2);\r\n }\r\n HASH[0] = safe_add(a, HASH[0]);\r\n HASH[1] = safe_add(b, HASH[1]);\r\n HASH[2] = safe_add(c, HASH[2]);\r\n HASH[3] = safe_add(d, HASH[3]);\r\n HASH[4] = safe_add(e, HASH[4]);\r\n HASH[5] = safe_add(f, HASH[5]);\r\n HASH[6] = safe_add(g, HASH[6]);\r\n HASH[7] = safe_add(h, HASH[7]);\r\n }\r\n return HASH;\r\n }\r\n function str2binb(str) {\r\n var bin = Array();\r\n var mask = (1 << chrsz) - 1;\r\n for (var i = 0; i < str.length * chrsz; i += chrsz) {\r\n bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32);\r\n }\r\n return bin;\r\n }\r\n function Utf8Encode(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n for (var n = 0; n < string.length; n++) {\r\n var c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n function binb2hex(binarray) {\r\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n var str = \"\";\r\n for (var i: any = 0; i < binarray.length * 4; i++) {\r\n str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) +\r\n hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xF);\r\n }\r\n return str;\r\n }\r\n s = Utf8Encode(s);\r\n return binb2hex(core_sha256(str2binb(s), s.length * chrsz));\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/buscador/buscadorConfirmadas.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Component({\r\n selector: 'home',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n Crear emisor\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#CédulaNombreTeléfonoCorreo
1Table cellTable cellTable cellTable cell
\r\n
\r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class Clientes implements OnInit {\r\n public message: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.message = 'emisor';\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/clientes/clientes.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/compra/compra.css\n// module id = ../../../../../src/app/compra/compra.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Compra # {{current.NumeroConsecutivo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor && current.Emisor.Identificacion ? \\r\\n current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' : current.Emisor.Identificacion.Tipo\\r\\n == '02' ? 'Cédula Jurídica' : 'Dimex' : 'Cédula'}}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono:

({{current.Emisor.Telefono.CodigoPais}})\\r\\n {{current.Emisor.Telefono.NumTelefono}}

\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Cliente: {{current.Receptor ? current.Receptor.Nombre\\r\\n : ''}}\\r\\n
\\r\\n {{current.Receptor && current.Receptor.Identificacion ? \\r\\n current.Receptor.Identificacion.Tipo == '01' ? 'Cédula' : current.Receptor.Identificacion.Tipo\\r\\n == '02' ? 'Cédula Jurídica' : 'Dimex' : 'Cédula'}}: \\r\\n {{current.Receptor\\r\\n && current.Receptor.Identificacion.Numero ?\\r\\n current.Receptor.Identificacion.Numero\\r\\n : '' }}\\r\\n
\\r\\n Correo: {{current.Receptor ?\\r\\n current.Receptor.CorreoElectronico\\r\\n : ''}}\\r\\n
\\r\\n Teléfono: ({{current.Receptor ? (\\r\\n current.Receptor.Telefono ? current.Receptor.Telefono.CodigoPais : '')\\r\\n : ''}}) {{current.Receptor ? (current.Receptor.Telefono ?\\r\\n current.Receptor.Telefono.NumTelefono : '') : ''}}\\r\\n
\\r\\n Dirección: {{direccionReceptor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | utcDate}}\\r\\n \\r\\n
\\r\\n \\r\\n Condición de Venta: {{current.CondicionVenta == '01' ? 'Contado' : 'Crédito'}}, \\r\\n \\r\\n \\r\\n Plazo Crédito: {{current.PlazoCredito}} días, \\r\\n \\r\\n \\r\\n Medio de pago: {{ medioPago }} \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CantidadDescripciónPrecioImpuestoTotal
{{ item.Cantidad }}\\r\\n
\\r\\n {{item.CodigoComercial && item.CodigoComercial.Codigo == '10000' ? 'Venta por\\r\\n Servicios' : 'Venta\\r\\n por Mercadría'}}\\r\\n
\\r\\n {{item.Detalle}}\\r\\n
{{ item.PrecioUnitario | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\" }}{{ item.Impuestos.Impuesto[0].Monto | currency:this.moneda ==\\r\\n \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}0.00{{item.MontoTotalLinea | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n

\\r\\n Notas adicionales: {{current.Otros ?\\r\\n current.Otros.OtroTexto : ''}}\\r\\n

\\r\\n

\\r\\n Documento de referencia:\\r\\n {{current.InformacionReferencia ? current.InformacionReferencia.Numero\\r\\n : ''}}\\r\\n
Razon: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total:\\r\\n \\r\\n {{current.ResumenFactura.TotalVenta | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}\\r\\n
\\r\\n Impuesto:\\r\\n {{current.ResumenFactura.TotalImpuesto |\\r\\n currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}
\\r\\n TOTAL:\\r\\n {{current.ResumenFactura.TotalComprobante | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/compra/compra.html\n// module id = ../../../../../src/app/compra/compra.html\n// module chunks = main","import { Sucursal } from './../models/sucursal';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { RouterLink, Router } from '@angular/router';\r\nimport { Impuestos } from '../facturacion/impuestos';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n\r\n@Component({\r\n selector: 'compras',\r\n templateUrl: 'compra.html',\r\n styleUrls: ['./compra.css']\r\n})\r\nexport class Compra implements OnInit {\r\n\r\n constructor(private impuestos: Impuestos, private router: Router, private service: AppService) { }\r\n\r\n public printContent: string;\r\n public facturas: any = [];\r\n public moneda: any = '';\r\n public telefonoReceptor = '';\r\n public direccionEmisor: string = '';\r\n public direccionReceptor: string = '';\r\n public medioPago: string = '';\r\n public current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n \"Provincia\": \"\",\r\n \"Canton\": \"\",\r\n \"Distrito\": \"\",\r\n \"Barrio\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\",\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0\r\n },\r\n \"TipoCambio\": \"\",\r\n \"TotalServGravados\": 0.0,\r\n \"TotalServExentos\": 0,\r\n \"TotalMercanciasGravadas\": 0.0,\r\n \"TotalMercanciasExentas\": 0.0,\r\n \"TotalGravado\": 0.0,\r\n \"TotalExento\": 0.0,\r\n \"TotalVenta\": 0.0,\r\n \"TotalVentaNeta\": 0.0,\r\n \"TotalImpuesto\": 0.0,\r\n \"TotalComprobante\": 0.0\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n public sucursal: Sucursal = new Sucursal();\r\n\r\n select(fact, index) {\r\n this.current = fact;\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n }\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n jQuery('.list-item').removeClass('active');\r\n jQuery('#fact-' + index).addClass('active');\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarFacturas();\r\n if (sessionStorage.getItem(\"sucursal\")) {\r\n this.sucursal = JSON.parse(sessionStorage.getItem(\"sucursal\"));\r\n }\r\n else {\r\n this.sucursal.NombreComercial = '';\r\n }\r\n }\r\n\r\n cargarFacturas() {\r\n let today = this.convertUTCDateToLocalDate(new Date());\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = \"/#\";\r\n } else {\r\n\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if (sessionStorage.getItem('casamatriz')) {\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n this.service.getCompras({\r\n Identificacion: ident,\r\n FechaInicio: this.convertUTCDateToLocalDate(new Date(new Date().setDate(today.getDate() - 180))),\r\n FechaFin: today,\r\n NumeroPagina: 1,\r\n TamanoPagina: 10,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n this.facturas = data.DocumentosElectronicos;\r\n this.current = this.facturas[0];\r\n if (this.current) {\r\n this.facturas.map((item, index) => {\r\n item.FechaEmision = this.convertUTCDateToLocalDate(new Date(item.FechaEmision));\r\n if (item.ClaveNotaCredito && !item.ClaveNotaDebito) {\r\n item.Estado = item.Estado + \" (NC)\";\r\n }\r\n if (item.ClaveNotaDebito && !item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (ND)\";\r\n }\r\n if (item.ClaveNotaDebito && item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (NC-ND)\";\r\n }\r\n });\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n this.medioPago = 'Otro';\r\n switch (this.current.MedioPago) {\r\n case '01':\r\n this.medioPago = 'Efectivo';\r\n break;\r\n case '02':\r\n this.medioPago = 'Tarjeta';\r\n break;\r\n case '03':\r\n this.medioPago = 'Cheque';\r\n break;\r\n case '04':\r\n this.medioPago = 'Transferencia - Depósito Bancario';\r\n break;\r\n case '05':\r\n this.medioPago = 'Recaudo por Terceros';\r\n break;\r\n }\r\n\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n if (this.current.Receptor.Telefono) {\r\n this.telefonoReceptor = \"(\" + this.current.Receptor.Telefono.CodigoPais + \") \" + this.current.Receptor.Telefono.NumTelefono;\r\n }\r\n }\r\n } else {\r\n window.location.href = 'compra/nueva';\r\n }\r\n }, (err) => { window.loading.hidePreloader(); });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n\r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n print(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: false, compra:true } });\r\n\r\n return false;\r\n }\r\n\r\n printTicket(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: true, compra:true } });\r\n\r\n return false;\r\n }\r\n\r\n duplicate(como) {\r\n if (this.current.Receptor && !this.current.Receptor.Identificacion) {\r\n this.current.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n }\r\n }\r\n var lineas = this.current.DetalleServicio.LineaDetalle.map((item) => {\r\n\r\n /**\r\n * Se cargan las tarifas predefinidas.\r\n */\r\n var impuestos = [];\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((imp) => {\r\n imp.tarifas = this.impuestos.valores[0].tarifas;\r\n impuestos.push(imp);\r\n });\r\n }else{\r\n impuestos = [{\r\n Codigo:\"00\",\r\n nombre:\"Exento\",\r\n tarifas:[{\r\n codigo: \"00\",\r\n nombre: \"Exento\",\r\n tarifa: 0\r\n }],\r\n CodigoTarifa: '00'\r\n }];\r\n }\r\n\r\n return {\r\n \"NumeroLinea\": item.NumeroLinea,\r\n \"Codigo\": item.Codigo,\r\n \"CodigoComercial\": item.CodigoComercial,\r\n \"Cantidad\": item.Cantidad,\r\n \"UnidadMedida\": item.UnidadMedida,\r\n \"UnidadMedidaComercial\": item.UnidadMedidaComercial,\r\n \"Detalle\": item.Detalle,\r\n \"PrecioUnitario\": item.PrecioUnitario,\r\n \"MontoTotal\": item.MontoTotal,\r\n \"SubTotal\": item.SubTotal,\r\n \"Impuestos\": {\r\n \"Impuesto\": impuestos\r\n },\r\n \"ImpuestoNeto\":item.ImpuestoNeto,\r\n \"MontoTotalLinea\": item.MontoTotalLinea\r\n }\r\n });\r\n\r\n var info = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": this.current.Emisor,\r\n \"Receptor\": null,\r\n \"CodigoActividad\": this.current.CodigoActividad,\r\n \"CondicionVenta\": this.current.CondicionVenta,\r\n \"PlazoCredito\": this.current.PlazoCredito,\r\n \"MedioPago\": this.current.MedioPago,\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": lineas\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": this.current.ResumenFactura.CodigoTipoMoneda,\r\n \"TipoCambio\": this.current.ResumenFactura.TipoCambio,\r\n \"TotalServGravados\": this.current.ResumenFactura.TotalServGravados,\r\n \"TotalServExentos\": this.current.ResumenFactura.TotalServExentos,\r\n \"TotalMercanciasGravadas\": this.current.ResumenFactura.TotalMercanciasGravadas,\r\n \"TotalMercanciasExentas\": this.current.ResumenFactura.TotalMercanciasExentas,\r\n \"TotalGravado\": this.current.ResumenFactura.TotalGravado,\r\n \"TotalExento\": this.current.ResumenFactura.TotalExento,\r\n \"TotalVenta\": this.current.ResumenFactura.TotalVenta,\r\n \"TotalVentaNeta\": this.current.ResumenFactura.TotalVentaNeta,\r\n \"TotalImpuesto\": this.current.ResumenFactura.TotalImpuesto,\r\n \"TotalComprobante\": this.current.ResumenFactura.TotalComprobante\r\n },\r\n \"Normativa\": this.current.Normativa,\r\n \"InformacionReferencia\": this.current.InformacionReferencia,\r\n \"Otros\": {\r\n \"OtroTexto\": this.current.Otros ? this.current.Otros.OtroTexto : ''\r\n }\r\n };\r\n\r\n if (this.current.Receptor) {\r\n info.Receptor = {\r\n \"Nombre\": this.current.Receptor.Nombre,\r\n \"Identificacion\": this.current.Receptor.Identificacion,\r\n \"Telefono\": this.current.Receptor ? this.current.Receptor.Telefono : { Telefono: {} },\r\n \"CorreoElectronico\": this.current.Receptor.CorreoElectronico\r\n }\r\n }\r\n var em = Object.assign({}, info.Emisor);\r\n var rec = Object.assign({}, info.Receptor);\r\n info.Emisor = rec;\r\n info.Receptor = em;\r\n sessionStorage.setItem('tempInvo', JSON.stringify(info));\r\n if (como === 'credito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-credito/nueva';\r\n return false;\r\n }\r\n if (como === 'debito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-debito/nueva';\r\n return false;\r\n }\r\n window.location.href = 'compra/nueva';\r\n return false;\r\n }\r\n\r\n onCargarDireccionEmisor(emisor: any): void {\r\n this.service.getDireccionEmisor(emisor.Id, (direccion) => {\r\n if (direccion) {\r\n this.direccionEmisor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionEmisor += (emisor.Ubicacion.OtrasSenas ? (\", \" + emisor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n }, () => { });\r\n }\r\n\r\n onCargarDireccionReceptor(receptor: any): void {\r\n this.service.getDireccionReceptor(receptor.Id, (direccion) => {\r\n if (direccion.NombreProvincia && direccion.NombreCanto != '') {\r\n this.direccionReceptor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionReceptor += (receptor.Ubicacion.OtrasSenas ? (\", \" + receptor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n else {\r\n this.direccionReceptor = \"\";\r\n }\r\n }, () => { });\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/compra/compra.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
FACTURA DE COMPRA
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Información del Proveedor/Emisor:\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n search\\r\\n \\r\\n
    \\r\\n
  • \\r\\n

    Proveedores

    \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    CédulaNombre
    \\r\\n {{item.Identificacion.Numero}}{{item.Nombre}}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n done_allVenta de Mercadería\\r\\n \\r\\n done_allVenta de Servicios\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n 1\\\" (click)=\\\"removeItem(index)\\\"\\r\\n data-toggle=\\\"tooltip\\\" title=\\\"Click para cambiar el tipo a Venta de Servicios\\\"\\r\\n data-placement=\\\"left\\\">\\r\\n \\r\\n delete_foreverEliminar Línea\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cantidad:
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Código Cabys: \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Precio Unitario:\\r\\n \\r\\n
\\r\\n
\\r\\n Impuestos:\\r\\n \\r\\n
\\r\\n
\\r\\n Total Linea:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total :\\r\\n {{invo.ResumenFactura.TotalVenta | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Ventas Exentas :\\r\\n {{invo.ResumenFactura.TotalExento | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Impuestos :\\r\\n {{invo.ResumenFactura.TotalImpuesto | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n TOTAL :\\r\\n {{invo.ResumenFactura.TotalComprobante | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

Número de referencia de factura (Clave).

\\r\\n
\\r\\n
\\r\\n \\r\\n

Razón al crear la nota.

\\r\\n
\\r\\n
\\r\\n \\r\\n

Actividad Económica

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/compra/compraNueva.html\n// module id = ../../../../../src/app/compra/compraNueva.html\n// module chunks = main","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { _localeFactory } from '@angular/core/src/application_module';\r\nimport 'datatables.net';\r\nimport 'datatables.net-dt/css/jquery.dataTables.css';\r\nimport * as $ from 'jquery';\r\nimport { Impuestos } from '../facturacion/impuestos';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'compra-nueva',\r\n templateUrl: './compraNueva.html',\r\n styleUrls: ['./compra.css']\r\n})\r\nexport class CompraNueva implements OnInit {\r\n titulo: string = window.location.pathname == '/compra/nueva' ? 'Compra' : 'Nota';\r\n taxStatus: boolean = false; //Con impuestos\r\n identificacionCliente: any = '';\r\n nombreCliente: any = '';\r\n tipoIdentificacion: any = '01';\r\n telefonoCliente: any = '';\r\n correoCliente: any = '';\r\n otroImpuesto: boolean = false;\r\n emisorId: any = 0;\r\n dataTable: any;\r\n inicializarTabla: boolean = true;\r\n impIncluido: boolean = false;\r\n actividadesEconomicas: any = [];\r\n provincias: any = [];\r\n cantones: any = [];\r\n distritos: any = [];\r\n barrios: any = []; \r\n invo: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": \"\",\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"01\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"Ubicacion\": {\r\n \"Provincia\":\"\",\r\n \"Canton\":\"\",\r\n \"Distrito\":\"\",\r\n \"Barrio\":\"\",\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"CorreoElectronico\": '',\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TotalServGravados\": 0.00,\r\n \"TotalServExentos\": 0.00,\r\n \"TotalServExonerado\":0.00,\r\n \"TotalMercanciasGravadas\": 0.00,\r\n \"TotalMercanciasExentas\": 0.00,\r\n \"TotalMercExonerada\":0.00,\r\n \"TotalGravado\": 0.00,\r\n \"TotalExento\": 0.00,\r\n \"TotalVenta\": 0.00,\r\n \"TotalDescuentos\":0.00,\r\n \"TotalVentaNeta\": 0.00,\r\n \"TotalImpuesto\": 0.00,\r\n \"TotalComprobante\": 0.00\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n items: any = [\r\n {\r\n \"NumeroLinea\": 1,\r\n \"CodigoComercial\": {\r\n \"Id\": 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": \"10000\"\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.00,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"tarifas\": this.impuestos.valores[0].tarifas\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n ];\r\n\r\n impuestosLista: any = [{\r\n \"Codigo\": \"99\",\r\n \"Tarifa\": \"0\",\r\n \"Label\": \"Otro\"\r\n },\r\n {\r\n \"Codigo\": \"01\",\r\n \"Tarifa\": \"13\",\r\n \"Label\": \"Imp. Ventas\"\r\n }\r\n ];\r\n\r\n receptores: any = [{\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n }];\r\n\r\n loading: any = false;\r\n parser = new DOMParser();\r\n constructor(private impuestos:Impuestos, private service: AppService, private chRef: ChangeDetectorRef) {}\r\n ngOnInit() {\r\n this.tipoIdentificacion = '01';\r\n let now: Date = this.convertUTCDateToLocalDate(new Date());\r\n var day = (\"0\" + now.getDate()).slice(-2);\r\n var month = (\"0\" + (now.getMonth() + 1)).slice(-2);\r\n var today = now.getFullYear() + \"-\" + (month) + \"-\" + (day);\r\n var tempInvo = sessionStorage.getItem('tempInvo');\r\n if (tempInvo) {\r\n this.invo = JSON.parse(tempInvo);\r\n this.invo.NumeroConsecutivo = \"\";\r\n this.items = this.invo.DetalleServicio.LineaDetalle;\r\n if (!this.invo.Otros) {\r\n this.invo.Otros = { \"OtroTexto\": \"\" }\r\n }\r\n this.items.map((item, i)=>{\r\n this.calcTax(i,item);\r\n });\r\n sessionStorage.removeItem('tempInvo');\r\n }\r\n\r\n /**\r\n * Verificamos si es credito o debito\r\n */\r\n var tempNota = sessionStorage.getItem('tempNota');\r\n if (tempNota) {\r\n this.invo.InformacionReferencia = {\r\n Numero: tempNota\r\n };\r\n sessionStorage.removeItem('tempNota');\r\n //this.invo.Clave = sessionStorage.getItem('tempNotaClave');\r\n sessionStorage.removeItem('tempNotaClave');\r\n } else {\r\n if (window.location.pathname != '/compra/nueva') {\r\n this.invo.InformacionReferencia = {};\r\n }\r\n }\r\n\r\n if (this.invo.Receptor) {\r\n if (this.invo.Receptor.Identificacion && this.invo.Receptor.Identificacion.Numero) {\r\n this.identificacionCliente = this.invo.Receptor.Identificacion.Numero;\r\n this.tipoIdentificacion = this.invo.Receptor.Identificacion.Tipo;\r\n }\r\n this.nombreCliente = this.invo.Receptor.Nombre;\r\n if (this.invo.Receptor.NumTelefono) {\r\n this.telefonoCliente = this.invo.Receptor.Telefono.NumTelefono;\r\n }\r\n if (this.validateEmail(this.invo.Receptor.CorreoElectronico)) {\r\n this.correoCliente = this.invo.Receptor.CorreoElectronico;\r\n }\r\n }\r\n\r\n setTimeout(function () {\r\n jQuery('#fech-fact').val(today);\r\n }, 1000);\r\n let self = this;\r\n\r\n jQuery(document).ready(function () {\r\n var datepicker = jQuery('#fecha-factura').datepicker({\r\n uiLibrary: 'bootstrap',\r\n format: \"dd/mm/yyyy\",\r\n language: \"es-es\",\r\n locale: \"es-es\",\r\n date: self.convertUTCDateToLocalDate(new Date())\r\n });\r\n jQuery(\"#fecha-factura\").val(self.getDateFormatDateUI(self.convertUTCDateToLocalDate(new Date())));\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n });\r\n\r\n window.loading.showPreloader();\r\n\r\n this.getEmisor();\r\n\r\n this.service.getProvicias((provincias)=> {\r\n if(provincias[0]){\r\n this.provincias = provincias;\r\n }\r\n },()=>{});\r\n }\r\n\r\n getEmisor(){\r\n this.service.getEmisor(this.service.user.username, (emisor) => {\r\n window.loading.hidePreloader();\r\n let emi = sessionStorage.getItem('em'); \r\n this.service.traeActividadesEconomicasEmisor(emi,(acts)=>{\r\n if(acts.length === 0){\r\n alert(\"Es necesario agregar actividades económicas.\")\r\n window.location.href = 'emisor';\r\n return;\r\n }\r\n this.invo.CodigoActividad = acts[0].CodigoActividad;\r\n this.actividadesEconomicas = acts;\r\n }, ()=>{});\r\n\r\n if (emisor.Id) {\r\n this.emisorId = emisor.Id;\r\n this.invo.Emisor = {\r\n \"Identificacion\": {\r\n \"Numero\": emisor.Identificacion.Numero,\r\n \"Tipo\": emisor.Identificacion.Tipo,\r\n },\r\n \"Nombre\": emisor.Nombre,\r\n \"NombreComercial\": emisor.NombreComercial,\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": emisor.Ubicacion.OtrasSenas\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": emisor.Telefono.NumTelefono\r\n },\r\n \"CorreoElectronico\": emisor.CorreoElectronico\r\n };\r\n \r\n } else {\r\n window.location.href = 'emisor';\r\n }\r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n });\r\n }\r\n cambioTarifa(inx, item, imp, tar){\r\n imp.tarifas.map((t)=>{\r\n if(t.codigo == tar){\r\n imp.CodigoTarifa = tar;\r\n imp.Tarifa = t.tarifa; \r\n }\r\n });\r\n this.calcTax(inx, item);\r\n }\r\n\r\n validarDetalle(detalle, event: Event) {\r\n var target = event.srcElement;\r\n\r\n if (String(detalle).trim() == '') {\r\n target.classList.add('required');\r\n return false;\r\n }\r\n else {\r\n target.classList.remove('required');\r\n }\r\n }\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n \r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n\r\n addItem(numero, tipo) {\r\n this.items.push(\r\n {\r\n \"NumeroLinea\": \"\",\r\n \"CodigoComercial\": {\r\n \"Id\": this.items.length + 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": tipo\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.0,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"tarifas\": this.impuestos.valores[0].tarifas\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n )\r\n setTimeout(() => {\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n }, 1000);\r\n \r\n }\r\n removeItem(numero) {\r\n this.items.splice(numero, 1);\r\n this.calInvo(false);\r\n }\r\n onCargarUbicacion(ubicacion: any) : void {\r\n if (ubicacion.Provincia) {\r\n this.service.getCantones(ubicacion.Provincia, (cantones)=> {\r\n if(cantones[0]){\r\n this.cantones = cantones;\r\n }\r\n },()=>{});\r\n if (this.invo.Receptor.Ubicacion.Canton) {\r\n this.service.getDistritos(ubicacion.Provincia, ubicacion.Canton, (distritos)=> {\r\n if(distritos[0]){\r\n this.distritos = distritos;\r\n }\r\n },()=>{});\r\n if (ubicacion.Distrito) {\r\n this.service.getBarrios(ubicacion.Provincia, ubicacion.Canton, ubicacion.Distrito, (barrios)=> {\r\n if(barrios[0]){\r\n this.barrios = barrios;\r\n }\r\n },()=>{});\r\n }\r\n }\r\n }\r\n }\r\n\r\n validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n create(event: Event) {\r\n let errortag: boolean = false;\r\n this.calInvo(true);\r\n \r\n if (!this.invo.Receptor) {\r\n this.invo.Receptor = {};\r\n }\r\n if (this.nombreCliente) {\r\n this.invo.Receptor.Nombre = this.nombreCliente;\r\n }\r\n if (this.telefonoCliente) {\r\n if (!this.invo.Receptor.Telefono) {\r\n this.invo.Receptor.Telefono = {};\r\n }\r\n this.telefonoCliente = String(this.telefonoCliente).replace(/-/g, '');\r\n this.invo.Receptor.Telefono.NumTelefono = this.telefonoCliente;\r\n this.invo.Receptor.Telefono.CodigoPais = \"506\";\r\n }\r\n \r\n if (this.validateEmail(this.correoCliente)) {\r\n this.invo.Receptor.CorreoElectronico = this.correoCliente;\r\n }\r\n\r\n if (this.invo.CondicionVenta == \"02\") {\r\n this.invo.PlazoCredito = \"30\";\r\n }\r\n if (this.invo.ResumenFactura.TotalComprobante == 0) {\r\n alert(\"Algo anda mal, el total de la factura no puede ser 0.\");\r\n return false;\r\n }\r\n if (!this.invo.Receptor.Telefono || !this.invo.Receptor.Telefono.NumTelefono) {\r\n delete this.invo.Receptor.Telefono;\r\n }\r\n\r\n this.invo.ResumenFactura.TipoCambio = this.invo.ResumenFactura.TipoCambio ? this.invo.ResumenFactura.TipoCambio : 0;\r\n if (this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda != 'CRC' && !confirm(\"El tipo de cambio se enviará en \" + this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio + \", ¿está seguro?\")) {\r\n return false;\r\n }\r\n\r\n this.items.forEach(element => {\r\n if (String(element.Detalle).trim() == '' || element.MontoTotalLinea < 0) {\r\n errortag = true;\r\n }\r\n\r\n if(element.Codigo === '' || 'undefined' === typeof(element.Codigo) || element.Codigo.length !== 13){\r\n alert(\"El código CABYS debe ser de 13 dígitos.\");\r\n return;\r\n }\r\n });\r\n if (errortag) {\r\n alert(\"Algo anda mal, Debe proporcionar el detalle de los productos y verificar el monto de la factura.\");\r\n return;\r\n }\r\n if (this.identificacionCliente) {\r\n this.invo.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n };\r\n this.identificacionCliente = String(this.identificacionCliente).replace(/-/g, '');\r\n this.identificacionCliente = String(this.identificacionCliente).replace(' ', '');\r\n if (this.identificacionCliente.length != 9 && this.tipoIdentificacion == \"01\") {\r\n alert(\"Algo anda mal, esta digitando una cédula física con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if (this.identificacionCliente.length != 10 && this.identificacionCliente.length != 12 && this.tipoIdentificacion == \"02\") {\r\n alert(\"Algo anda mal, esta digitando una cédula jurídica con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if ((this.identificacionCliente.length != 11 && this.identificacionCliente.length != 12) && this.tipoIdentificacion == \"03\") {\r\n alert(\"Algo anda mal, esta digitando una cédula DIMEX con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if (this.identificacionCliente.length != 10 && this.tipoIdentificacion == \"04\") {\r\n alert(\"Algo anda mal, esta digitando un NITE con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n \r\n if (this.invo.Receptor.Ubicacion.Provincia.length == 0 || \r\n this.invo.Receptor.Ubicacion.Canton.length == 0 ||\r\n this.invo.Receptor.Ubicacion.Distrito.length == 0 ||\r\n this.invo.Receptor.Ubicacion.Barrio.length == 0 ||\r\n this.invo.Receptor.Ubicacion.OtrasSenas.length == 0\r\n ) {\r\n alert(\"Algo anda mal, la dirección es un campo requeriodo debe agregar Provincia, Cantón, Distrito, Barrio y Otras Señas\");\r\n return false;\r\n }\r\n\r\n if(this.invo.Receptor.Ubicacion.Barrio == \" \" || this.invo.Receptor.Ubicacion.Barrio == \"\"){\r\n this.invo.Receptor.Ubicacion.Barrio = null;\r\n }\r\n\r\n this.invo.Receptor.Identificacion.Numero = this.identificacionCliente;\r\n this.invo.Receptor.Identificacion.Tipo = this.tipoIdentificacion;\r\n }\r\n\r\n if (this.identificacionCliente == '') {\r\n alert(\"Es necesario enviar la información del cliente.\");\r\n return;\r\n } else {\r\n var reg = /^\\d+$/;\r\n \r\n if(!reg.test(this.identificacionCliente))\r\n {\r\n alert(\"Algo anda mal, la cedula solo puede contener numeros, no user guiones o espacios en blanco\");\r\n return false;\r\n }\r\n\r\n if (this.invo.Receptor.Nombre == '' || this.invo.Receptor.CorreoElectronico == '' || this.identificacionCliente == '') {\r\n alert(\"Algo anda mal, por favor complete la información del receptor.\");\r\n return false;\r\n }\r\n\r\n var reg = new RegExp('^[0-9]*$');\r\n if(reg.test(this.invo.Receptor.Identificacion.Numero) === false)\r\n {\r\n alert(\"Algo anda mal, La cedula solo debe contener numeros, sin guines o espacios\");\r\n return false;\r\n }\r\n\r\n if (!this.validateEmail(this.invo.Receptor.CorreoElectronico)) {\r\n alert(\"Algo anda mal, el formato del correo electrónico del cliente no es válido.\");\r\n return false;\r\n }\r\n\r\n if (this.telefonoCliente != '' && (String(this.telefonoCliente).length != 8)) {\r\n alert(\"Algo anda mal, el número de teléfono del cliente no es válido. Este debe ser de 8 dígitos\");\r\n return false;\r\n }\r\n }\r\n if (this.invo.Receptor) {\r\n delete this.invo.Receptor.AplicacionId;\r\n delete this.invo.Receptor.Fax;\r\n delete this.invo.Receptor.Id;\r\n delete this.invo.Receptor.NombreComercial;\r\n }\r\n delete this.invo.DocumentoFirmado;\r\n delete this.invo.SituacionDocumento;\r\n\r\n this.invo.FechaEmision = this.getDateFormat(jQuery(\"#fecha-factura\").val());\r\n\r\n if (!this.invo.FechaEmision) {\r\n alert(\"Algo anda mal, la fecha debe ser menor a la fecha actual.\");\r\n return false;\r\n }\r\n\r\n if (this.titulo == 'Nota') {\r\n if (!this.invo.InformacionReferencia.Numero) {\r\n alert(\"El número de referencia es requerido.\");\r\n return false;\r\n }\r\n if (!this.invo.InformacionReferencia.Razon) {\r\n alert(\"La razón por crear la nota es requerido.\");\r\n return false;\r\n }\r\n if (window.location.pathname == '/notas-credito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = '01';\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaCredito();\r\n }\r\n if (window.location.pathname == '/notas-debito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = 99;\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaDebito();\r\n }\r\n return false;\r\n }\r\n if (this.identificacionCliente && !this.tipoIdentificacion) {\r\n alert(\"El tipo de identificación del cliente es requerido.\");\r\n return false;\r\n }\r\n\r\n this.invo.InformacionReferencia = null;\r\n this.invo.Clave = null;\r\n\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n if (this.invo.Emisor.Identificacion.Numero == this.invo.Receptor.Identificacion.Numero) {\r\n alert(\"Hay un error en los datos del proveedor. Debe suministrar la información de su provedor o comercio al que le realizo la compra.\");\r\n return false;\r\n } \r\n\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n var em = Object.assign({}, this.invo.Emisor);\r\n var rec = Object.assign({}, this.invo.Receptor);\r\n this.invo.Receptor = em;\r\n this.invo.Emisor = rec;\r\n \r\n this.service.creaCompra(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n this.getEmisor();\r\n if (resp && resp.errormessage) {\r\n\r\n if (String(JSON.stringify([resp.errormessage])).startsWith(\"El servidor de Hacienda ATV esta fuera de linea\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(\"Ha ocurrido un error, favor verificar si el documento fue creado. Antes de intentarlo nuevamente verifique los datos de su factura y su coneccion a internet. Por último refresque la aplicación\");\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'compras';\r\n }\r\n }, (err) => {\r\n if (String(JSON.stringify([err])).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(JSON.stringify([err]));\r\n }\r\n this.getEmisor();\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n getDateFormat(date) {\r\n date = this.convertUTCDateToLocalDate(new Date(date.split('/').reverse().join('/')));\r\n if (!date || date == 'Invalid Date') {\r\n return false;\r\n }\r\n if (date > this.convertUTCDateToLocalDate(new Date())) {\r\n return false;\r\n }\r\n var hours = this.convertUTCDateToLocalDate(new Date());\r\n return date.getFullYear() +\r\n '-' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) +\r\n '-' + (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) +\r\n 'T' + (hours.getHours() < 10 ? '0' + (hours.getHours()) : hours.getHours()) +\r\n ':' + (hours.getMinutes() < 10 ? '0' + (hours.getMinutes()) : hours.getMinutes()) +\r\n ':00';\r\n }\r\n getDateFormatDateUI(date) {\r\n return (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate()) +\r\n '/' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) +\r\n '/' + date.getFullYear();\r\n }\r\n\r\n cambioTipoImpuesto(value, imp){\r\n this.impuestos.valores.map((im)=>{\r\n if(value == im.codigo) {\r\n imp.tarifas = im.tarifas;\r\n }\r\n }); \r\n }\r\n\r\n calcSubTotalType(index, item, monto) { \r\n if(isNaN(item.PrecioUnitario) || isNaN(monto)){\r\n item.PrecioUnitario = 0;\r\n monto = 0;\r\n }\r\n var impuesto = 0;\r\n if(item.Impuestos){\r\n impuesto = parseFloat(((parseFloat(item.Impuestos.Impuesto[0]['Tarifa']) || 0) / 100).toFixed(3));\r\n }\r\n item.PrecioUnitario = (parseFloat(((monto * 100) / ((impuesto * 100) + 100)).toFixed(3)) / item.Cantidad).toFixed(3);\r\n this.calcTax(index, item);\r\n }\r\n\r\n createNotaCredito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createCredito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de crédito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-credito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n createNotaDebito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createDebito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de débito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-debito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n calInvo(creando) {\r\n let TotalServGravados = 0.0;\r\n let TotalServExentos = 0.0;\r\n\r\n let TotalMercanciasGravadas = 0.0;\r\n let TotalMercanciasExentas = 0.0;\r\n\r\n let TotalGravado = 0.0;\r\n let TotalExento = 0.0;\r\n\r\n let TotalVenta = 0.0;\r\n let TotalVentaNeta = 0.0;\r\n\r\n let TotalImpuesto = 0.0;\r\n let TotalComprobante = 0.0;\r\n /**\r\n * Se generan los totales\r\n */\r\n this.invo.DetalleServicio.LineaDetalle = this.items.map((item, index) => {\r\n\r\n item.NumeroLinea = index + 1;\r\n item.PrecioUnitario = parseFloat(item.PrecioUnitario).toFixed(3);\r\n\r\n\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n impuesto.Tarifa = impuesto.Tarifa ? parseFloat(impuesto.Tarifa) : 0;\r\n });\r\n }\r\n\r\n /**\r\n * Es de tipo Mercadería\r\n */\r\n var exento = false;\r\n\r\n if (item.CodigoComercial.Codigo == '10001') {\r\n item.UnidadMedida = 'Unid';\r\n item.UnidadMedidaComercial = 'Unidad';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') {\r\n TotalMercanciasExentas += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n TotalMercanciasGravadas += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n });\r\n }\r\n /** Tipo Servicio*/\r\n } else {\r\n item.UnidadMedida = 'Sp';\r\n item.UnidadMedidaComercial = 'Sp';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') { \r\n TotalServExentos += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n TotalServGravados += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if(exento && creando){\r\n item.Impuestos = null;\r\n }\r\n\r\n item.BaseImponible = item.MontoTotal;\r\n if (!item) {\r\n return false;\r\n }\r\n return item;\r\n });\r\n\r\n TotalExento = TotalServExentos + TotalMercanciasExentas;\r\n \r\n TotalGravado = TotalServGravados + TotalMercanciasGravadas;\r\n TotalVenta += TotalExento + TotalGravado;\r\n /**\r\n * TODO: DESCUENTOS AUN NO SE APLICAN DESCUENTOS\r\n */\r\n TotalVentaNeta += TotalExento + TotalGravado;\r\n TotalComprobante += TotalVentaNeta + TotalImpuesto;\r\n\r\n this.invo.ResumenFactura.TotalServGravados = TotalServGravados.toFixed(3);\r\n this.invo.ResumenFactura.TotalServExentos = TotalServExentos.toFixed(3);\r\n\r\n this.invo.ResumenFactura.TotalMercanciasGravadas = TotalMercanciasGravadas.toFixed(3);\r\n this.invo.ResumenFactura.TotalMercanciasExentas = TotalMercanciasExentas.toFixed(3);\r\n\r\n //if(this.invo.ResumenFactura.TotalMercanciasGravadas == 0){\r\n // delete this.invo.ResumenFactura.TotalMercanciasGravadas;\r\n //}\r\n //if(this.invo.ResumenFactura.TotalMercanciasExentas == 0 && this.invo.ResumenFactura.TotalMercanciasGravadas == 0){\r\n // delete this.invo.ResumenFactura.TotalMercanciasExentas;\r\n //}\r\n\r\n this.invo.ResumenFactura.TotalGravado = TotalGravado.toFixed(3);\r\n this.invo.ResumenFactura.TotalExento = TotalExento.toFixed(3);\r\n this.invo.ResumenFactura.TotalVenta = TotalVenta.toFixed(3);\r\n this.invo.ResumenFactura.TotalVentaNeta = TotalVentaNeta.toFixed(3);\r\n this.invo.ResumenFactura.TotalImpuesto = TotalImpuesto.toFixed(3);\r\n this.invo.ResumenFactura.TotalComprobante = TotalComprobante.toFixed(3);\r\n }\r\n\r\n calcSubTotal(index, _item) {\r\n if(isNaN(_item.PrecioUnitario)){\r\n _item.PrecioUnitario = 0;\r\n }\r\n if(_item.Cantidad < 1){\r\n _item.Cantidad = 1;\r\n }\r\n\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(3);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(3); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n this.calcTax(index, _item);\r\n this.calInvo(false);\r\n }\r\n plus(index, item){\r\n item.Cantidad++;\r\n this.calcSubTotal(index, item);\r\n }\r\n minus(index, item){\r\n if (item.Cantidad > 1) {\r\n item.Cantidad--;\r\n this.calcSubTotal(index, item);\r\n } \r\n }\r\n calcPrice(index, _item) {\r\n let totalTarifa: any = 0.0;\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n totalTarifa += (parseFloat(impuesto.Tarifa) / 100);\r\n });\r\n }else{\r\n totalTarifa = 0;\r\n }\r\n\r\n var imp: any = (_item.MontoTotalLinea * totalTarifa).toFixed(3);\r\n var costo: any = (_item.MontoTotalLinea - imp);\r\n _item.PrecioUnitario = (costo / _item.Cantidad).toFixed(3);\r\n this.calInvo(false);\r\n }\r\n\r\n calcTax(index, _item) {\r\n\r\n\r\n let totalImpuestoMonto: any = 0.0;\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(3);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(3); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Tarifa >= 0) {\r\n impuesto.Monto = (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(3);\r\n totalImpuestoMonto += (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(3);\r\n }\r\n else {\r\n totalImpuestoMonto += 0;\r\n }\r\n });\r\n }\r\n \r\n _item.ImpuestoNeto = parseFloat(totalImpuestoMonto); \r\n _item.MontoTotalLinea = (parseFloat(totalImpuestoMonto) + parseFloat(_item.SubTotal)).toFixed(3);\r\n this.calInvo(false);\r\n\r\n return _item;\r\n }\r\n\r\n cargarReceptores() {\r\n window.loading.showPreloader();\r\n this.service.getReceptores(this.emisorId, (receptores) => {\r\n window.loading.hidePreloader();\r\n if (receptores) {\r\n this.receptores = receptores;\r\n\r\n if (!this.inicializarTabla) {\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable();\r\n this.dataTable.destroy();\r\n }\r\n\r\n this.chRef.detectChanges();\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable({\r\n \"language\": {\r\n \"lengthMenu\": \"Mostrar _MENU_ registros por página\",\r\n \"zeroRecords\": \"No hay registros\",\r\n \"info\": \"Mostrando pagina _PAGE_ de _PAGES_\",\r\n \"infoEmpty\": \"No registros disponibles\",\r\n \"infoFiltered\": \"(filtrados _MAX_ total de registros)\",\r\n \"search\": \"Buscar\",\r\n \"paginate\": {\r\n \"first\": \"Primera\",\r\n \"last\": \"Ultima\",\r\n \"next\": \"Siguiente\",\r\n \"previous\": \"Anterior\"\r\n },\r\n },\r\n \"scrollY\": \"200px\",\r\n \"paging\": false,\r\n \"order\": [[ 1, \"asc\" ]],\r\n });\r\n\r\n this.inicializarTabla = false;\r\n }\r\n }, () => { });\r\n }\r\n\r\n onSelectReceptor(item) {\r\n this.nombreCliente = item.Nombre;\r\n this.tipoIdentificacion = item.Identificacion.Tipo;\r\n this.identificacionCliente = item.Identificacion.Numero;\r\n this.correoCliente = item.CorreoElectronico != null ? item.CorreoElectronico : '';\r\n if (item.Telefono) {\r\n this.telefonoCliente = item.Telefono.NumTelefono;\r\n }\r\n else {\r\n this.telefonoCliente = '';\r\n }\r\n\r\n }\r\n\r\n onkeypressNumber(event) {\r\n if (event) {\r\n let target = event.currentTarget;\r\n var re = /[0-9]/;\r\n if (!re.test(String(event.key).toLowerCase())) {\r\n return false;\r\n }\r\n\r\n }\r\n }\r\n\r\n getTipoCambio(){\r\n if(this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == \"USD\"){\r\n window.loading.showPreloader();\r\n this.service.getTipoVentaDolar((data) =>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = data.venta;\r\n window.loading.hidePreloader();\r\n },\r\n (error)=>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"0.0\";\r\n console.log(error);\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n else{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"\";\r\n }\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/compra/compraNueva.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'confirmar',\r\n templateUrl: './confirmar.html'\r\n})\r\nexport class Confirmar implements OnInit {\r\n public message: string;\r\n\r\n constructor(private service: AppService) { }\r\n\r\n API:any;\r\n ngOnInit() {\r\n this.message = 'emisor';\r\n $('#load').load(function(){\r\n $('#load').contents().find('.navbar').hide();\r\n });\r\n\r\n if(this.service.API == ''){\r\n this.API = sessionStorage.getItem('API');\r\n }\r\n else{\r\n this.API = this.service.API;\r\n }\r\n\r\n $(\"#load\").attr(\"src\",this.API + 'ConfirmarFactura/')\r\n \r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/confirmacion/confirmar.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/confirmacion/confirmar.html\n// module id = ../../../../../src/app/confirmacion/confirmar.html\n// module chunks = main","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'utcDate'\r\n})\r\nexport class UtcDatePipe implements PipeTransform {\r\n\r\n transform(value: string): any {\r\n\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n const dateValue = new Date(value);\r\n\r\n const dateWithNoTimezone = new Date(\r\n dateValue.getUTCFullYear(),\r\n dateValue.getUTCMonth(),\r\n dateValue.getUTCDate(),\r\n dateValue.getUTCHours(),\r\n dateValue.getUTCMinutes(),\r\n dateValue.getUTCSeconds()\r\n );\r\n if(dateValue.getTimezoneOffset() != 360){\r\n return (dateWithNoTimezone.getDate() < 10 ? '0' + (dateWithNoTimezone.getDate()) : dateWithNoTimezone.getDate()) +\r\n '-' + ((dateWithNoTimezone.getMonth() + 1) < 10 ? '0' + (dateWithNoTimezone.getMonth() + 1) : (dateWithNoTimezone.getMonth() + 1)) +\r\n '-' + dateWithNoTimezone.getFullYear() +\r\n ' ' + dateWithNoTimezone.toLocaleTimeString();\r\n }\r\n return (dateValue.getDate() < 10 ? '0' + (dateValue.getDate()) : dateValue.getDate()) +\r\n '-' + ((dateValue.getMonth() + 1) < 10 ? '0' + (dateValue.getMonth() + 1) : (dateValue.getMonth() + 1)) +\r\n '-' + dateValue.getFullYear() +\r\n ' ' + dateValue.toLocaleTimeString();\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/customPipe/utcDate.ts","import { Component } from '@angular/core';\r\nimport { AppService } from '../app.service';\r\n\r\n@Component({\r\n selector: 'actividad-economica',\r\n templateUrl: './actividad.economica.html'\r\n})\r\nexport class ActividadEconomicaComponent {\r\n\r\n actividades: any = [];\r\n actividadesSeleccionadas: any = [];\r\n emisor: any = [];\r\n term: any = '';\r\n actividadesCodes: any = [];\r\n constructor(private service: AppService) {\r\n let emi = sessionStorage.getItem('em'); \r\n this.service.traeActividadesEconomicas((data)=>{\r\n this.actividades = data; \r\n },()=>{});\r\n\r\n this.service.getEmisor(this.service.user.username, (data) => {\r\n this.emisor = data;\r\n this.service.traeActividadesEconomicasEmisor(emi,(acts)=>{\r\n this.actividadesSeleccionadas = acts;\r\n this.actividadesSeleccionadas.map((a)=>{\r\n this.actividadesCodes[a.CodigoActividad] = a;\r\n });\r\n }, ()=>{});\r\n }, () => {}); \r\n }\r\n\r\n add(item){ \r\n if(!this.actividadesCodes[item.CodigoActividad]){\r\n this.actividadesCodes[item.CodigoActividad] = item;\r\n this.actividadesSeleccionadas.push(item);\r\n }\r\n this.save();\r\n }\r\n remove(item, inx){\r\n this.actividadesSeleccionadas.splice(inx, 1);\r\n this.save();\r\n }\r\n save(){\r\n var actividades = [];\r\n let emi = sessionStorage.getItem('em'); \r\n\r\n this.actividadesSeleccionadas.map((item)=>{\r\n actividades.push({\r\n \"EmisorId\": this.emisor.Id,\r\n \"CodigoActividad\": item.CodigoActividad\r\n });\r\n });\r\n this.service.agregaActividadEconomica(actividades, (data)=>{\r\n },()=>{});\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/emisores/actividad.economica.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Actividades Económicas

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{act.Actividad}} {{act.CodigoActividad}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CódigoActividad
{{act.CodigoActividad}}{{act.Actividad}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/emisores/actividad.economica.html\n// module id = ../../../../../src/app/emisores/actividad.economica.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Component({\r\n selector: 'new-emisor',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class EditarEmisorComponent implements OnInit {\r\n public message: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.message = 'emisor';\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/emisores/editar.emisor.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/emisores/emisor.component.html\n// module id = ../../../../../src/app/emisores/emisor.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { RouterLink, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'emisor',\r\n templateUrl: './emisor.component.html'\r\n})\r\nexport class EmisorComponent implements OnInit {\r\n provincias: any = [];\r\n cantones: any = [];\r\n distritos: any = [];\r\n barrios: any = []; \r\n emisor: any = {\r\n \"Id\":0,\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Tipo\": \"\",\r\n \"Numero\": \"\"\r\n },\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"Provincia\": \"\",\r\n \"Canton\": \"\",\r\n \"Distrito\": \"\",\r\n \"Barrio\": \"\",\r\n \"OtrasSenas\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": ''\r\n },\r\n \"CorreoElectronico\": \"\",\r\n \"EmailContador\": \"\"\r\n };\r\n constructor(private service: AppService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.service.getEmisor(this.service.user.username, (emisor) => {\r\n if(emisor && emisor.Id){\r\n this.emisor = emisor; \r\n this.onCargarUbicacion(this.emisor.Ubicacion); \r\n }\r\n }, () => {});\r\n\r\n this.service.getProvicias((provincias)=> {\r\n if(provincias[0]){\r\n this.provincias = provincias;\r\n }\r\n },()=>{});\r\n }\r\n create(){\r\n if(this.emisor.Id){\r\n this.service.editaEmisor(this.emisor, () => {\r\n alert('Información Guardada.');\r\n }, () => {\r\n \r\n });\r\n return;\r\n }\r\n this.service.createEmisor(this.emisor, () => {\r\n alert('Información Guardada.');\r\n }, () => {\r\n \r\n });\r\n }\r\n cancel(){\r\n window.location.reload();\r\n }\r\n\r\n act(){\r\n this.router.navigate(['./actividades-economicas']);\r\n }\r\n\r\n onCargarUbicacion(ubicacion: any) : void {\r\n if (ubicacion.Provincia) {\r\n this.service.getCantones(ubicacion.Provincia, (cantones)=> {\r\n if(cantones[0]){\r\n this.cantones = cantones;\r\n }\r\n },()=>{});\r\n if (this.emisor.Ubicacion.Canton) {\r\n this.service.getDistritos(ubicacion.Provincia, ubicacion.Canton, (distritos)=> {\r\n if(distritos[0]){\r\n this.distritos = distritos;\r\n }\r\n },()=>{});\r\n if (ubicacion.Distrito) {\r\n this.service.getBarrios(ubicacion.Provincia, ubicacion.Canton, ubicacion.Distrito, (barrios)=> {\r\n if(barrios[0]){\r\n this.barrios = barrios;\r\n }\r\n },()=>{});\r\n }\r\n }\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/emisores/emisor.component.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterdata'\r\n})\r\nexport class FilterdataPipe implements PipeTransform {\r\n\r\n transform(items: any[], value: string, label:string): any[] { \r\n var list = []; \r\n if (!items) return [];\r\n if (!value) return items;\r\n if (value == '' || value == null) return [];\r\n list = items.filter(e => e[label].toUpperCase().indexOf(value.toUpperCase()) > -1 );\r\n return list;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/emisores/filter.pipe.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\n\r\n\r\n@Component({\r\n selector: 'new-emisor',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
Crear un emisor.
Los emisores son los que reportan a hacienda como contribuyentes, esta información será enviada a hacienda al generar facturas electrónicas como emitente.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class NuevoEmisorComponent implements OnInit {\r\n emisor: any = {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Tipo\": \"\",\r\n \"Numero\": \"\"\r\n },\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"Provincia\": '',\r\n \"Canton\": '',\r\n \"Distrito\": '',\r\n \"Barrio\": '',\r\n \"OtrasSenas\": ''\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"CRC\",\r\n \"NumTelefono\": ''\r\n },\r\n \"Fax\": {\r\n \"CodigoPais\": \"CRC\",\r\n \"NumTelefono\": ''\r\n },\r\n \"CorreoElectronico\": \"\"\r\n };\r\n provincias: any = [];\r\n cantones: any = [];\r\n distritos: any = [];\r\n barrios: any = []; \r\n\r\n constructor(private service: AppService) { }\r\n\r\n ngOnInit() {\r\n this.service.getProvicias((data) => {\r\n this.provincias = data;\r\n }, () => {\r\n\r\n });\r\n }\r\n\r\n traerCantones(){\r\n this.emisor.Ubicacion.Canton = '';\r\n this.emisor.Ubicacion.Distrito = '';\r\n this.emisor.Ubicacion.Barrio = '';\r\n\r\n this.cantones = [];\r\n this.distritos = [];\r\n this.barrios = [];\r\n this.service.getCantones(this.emisor.Ubicacion.Provincia,(data) => {\r\n this.cantones = data;\r\n }, () => {\r\n\r\n });\r\n }\r\n traerDistritos(){\r\n this.emisor.Ubicacion.Distrito = '';\r\n this.emisor.Ubicacion.Barrio = '';\r\n\r\n this.distritos = [];\r\n this.barrios = [];\r\n\r\n this.service.getDistritos(this.emisor.Ubicacion.Provincia, this.emisor.Ubicacion.Canton,(data) => {\r\n this.distritos = data;\r\n }, () => {\r\n\r\n });\r\n }\r\n traerBarrios(){\r\n this.emisor.Ubicacion.Barrio = '';\r\n this.barrios = [];\r\n \r\n this.service.getBarrios(this.emisor.Ubicacion.Provincia, this.emisor.Ubicacion.Canton, this.emisor.Ubicacion.Distrito, (data) => {\r\n this.barrios = data;\r\n }, () => {\r\n\r\n });\r\n }\r\n create(){\r\n this.service.createEmisor(this.emisor, () => {\r\n\r\n }, () => {\r\n\r\n });\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/emisores/nuevo.emisor.component.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".accordinHeder {\\r\\n background: lightgrey; \\r\\n color: black\\r\\n}\\r\\n.accordinHeder a:link {\\r\\n color: black;\\r\\n}\\r\\n/* visited link */\\r\\n.accordinHeder a:visited {\\r\\n color: Black;\\r\\n}\\r\\n/* mouse over link */\\r\\n.accordinHeder a:hover {\\r\\n color: Black;\\r\\n}\\r\\n/* selected link */\\r\\n.accordinHeder a:active {\\r\\n color: Black;\\r\\n}\\r\\n.tiquete-print{\\r\\n font-size: 12px;\\r\\n width:75mm;\\r\\n padding: 0px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n.tiquete-print div{\\r\\n padding-right: 2px !important; \\r\\n padding-left: 2px !important;\\r\\n}\\r\\ndiv .row{\\r\\n margin-left: 2px !important; \\r\\n margin-right: 2px !important\\r\\n}\\r\\n.tiquete-print table th{\\r\\n font-size: 12px;\\r\\n width: 72mm;\\r\\n}\\r\\n.tiquete-print table td{\\r\\n font-size: 12px;\\r\\n padding: 0px !important;\\r\\n margin: 0px !important;\\r\\n}\\r\\n.required{\\r\\n border: solid 1px red;\\r\\n}\\r\\n.accordinHeder[_ngcontent-c0] {\\r\\n background: whitesmoke;\\r\\n}\\r\\n.width-30{\\r\\n width: 30%;\\r\\n}\\r\\n.width-100{\\r\\n width: 100%;\\r\\n}\\r\\n.item-type{\\r\\n cursor: pointer;\\r\\n}\\r\\n.margin-top-26{\\r\\n margin-top: 26px;\\r\\n}\\r\\n.btn-count{\\r\\n width: 25px;\\r\\n}\\r\\n.count-item-invo{\\r\\n padding-left: 10px;\\r\\n}\\r\\n.width-180{\\r\\n width: 180px;\\r\\n}\\r\\n.width-100{\\r\\n width: 100%;\\r\\n}\\r\\n.no-padding-panel{\\r\\n padding: 0 0 10px 0px;\\r\\n}\\r\\n.minimo-padding-panel{\\r\\n padding: 0 5px 1px 0px;\\r\\n}\\r\\n.item-precio-unitario{\\r\\n float: right;\\r\\n width: 100px;\\r\\n}\\r\\n.label-precio-uni{\\r\\n float: right;\\r\\n padding: 10px 10px 0;\\r\\n}\\r\\n.impuesto-cont{\\r\\n padding: 0px 0px 0px 0px;\\r\\n}\\r\\n.error-exoneracion{\\r\\n border: 1px solid red;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/facturacion/factura.css\n// module id = ../../../../../src/app/facturacion/factura.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Factura # {{current.NumeroConsecutivo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.sucursal ? this.sucursal.NombreComercial\\r\\n : ''}}\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor && current.Emisor.Identificacion ? \\r\\n current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' : current.Emisor.Identificacion.Tipo\\r\\n == '02' ? 'Cédula Jurídica' : 'Dimex' : 'Cédula'}}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono: ({{current.Emisor.Telefono.CodigoPais}})\\r\\n {{current.Emisor.Telefono.NumTelefono}}\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Cliente: {{current.Receptor ? current.Receptor.Nombre\\r\\n : ''}}\\r\\n
\\r\\n {{current.Receptor && current.Receptor.Identificacion ? \\r\\n current.Receptor.Identificacion.Tipo == '01' ? 'Cédula' : current.Receptor.Identificacion.Tipo\\r\\n == '02' ? 'Cédula Jurídica' : 'Dimex' : 'Cédula'}}: \\r\\n {{current.Receptor\\r\\n && current.Receptor.Identificacion.Numero ?\\r\\n current.Receptor.Identificacion.Numero\\r\\n : '' }}\\r\\n
\\r\\n Correo: {{current.Receptor ?\\r\\n current.Receptor.CorreoElectronico\\r\\n : ''}}\\r\\n
\\r\\n Teléfono: ({{current.Receptor ? (\\r\\n current.Receptor.Telefono ? current.Receptor.Telefono.CodigoPais : '')\\r\\n : ''}}) {{current.Receptor ? (current.Receptor.Telefono ?\\r\\n current.Receptor.Telefono.NumTelefono : '') : ''}}\\r\\n
\\r\\n Dirección: {{direccionReceptor}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | utcDate}}\\r\\n \\r\\n
\\r\\n \\r\\n Condición de Venta: {{current.CondicionVenta == '01' ? 'Contado' : 'Crédito'}}, \\r\\n \\r\\n \\r\\n Plazo Crédito: {{current.PlazoCredito}} días, \\r\\n \\r\\n \\r\\n Medio de pago: {{ medioPago }} \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescripciónCantidadCod. CabysPrecioImpuestoExoneradoTotal
\\r\\n
\\r\\n {{item.CodigoComercial && item.CodigoComercial.Codigo == '10000' ? 'Venta por\\r\\n Servicios' : 'Venta\\r\\n por Mercadría'}}\\r\\n
\\r\\n {{item.Detalle}}\\r\\n
{{ item.Cantidad }}{{ item.Codigo }}{{ item.PrecioUnitario | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\" }}{{ item.ImpuestoNeto | currency:this.moneda ==\\r\\n \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}0.00{{ item.Impuestos.Impuesto[0].Exoneracion.MontoExoneracion | currency:this.moneda ==\\r\\n \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}0.00{{item.MontoTotalLinea | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n

\\r\\n Notas adicionales: {{current.Otros ?\\r\\n current.Otros.OtroTexto : ''}}\\r\\n

\\r\\n

\\r\\n Documento de referencia:\\r\\n {{current.InformacionReferencia ? current.InformacionReferencia.Numero\\r\\n : ''}}\\r\\n
Razon: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total:\\r\\n \\r\\n {{current.ResumenFactura.TotalVenta | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}\\r\\n
\\r\\n Exonerado:\\r\\n {{current.ResumenFactura.TotalExonerado |\\r\\n currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}
\\r\\n Impuesto:\\r\\n {{current.ResumenFactura.TotalImpuesto |\\r\\n currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}
\\r\\n TOTAL:\\r\\n {{current.ResumenFactura.TotalComprobante | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/facturacion/factura.html\n// module id = ../../../../../src/app/facturacion/factura.html\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ titulo }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Información del Cliente/Receptor:\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n search\\r\\n \\r\\n
    \\r\\n
  • \\r\\n

    Clientes

    \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    CédulaNombre
    \\r\\n {{item.Identificacion.Numero}}{{item.Nombre}}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n done_allVenta de Mercadería\\r\\n \\r\\n done_allVenta de Servicios\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

{{mensajeErrorExo}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 1\\\" (click)=\\\"removeItem(index)\\\"\\r\\n data-toggle=\\\"tooltip\\\" title=\\\"Click para cambiar el tipo a Venta de Servicios\\\"\\r\\n data-placement=\\\"left\\\">\\r\\n \\r\\n delete_foreverEliminar Línea\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cantidad:
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Código Cabys: \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Precio Unitario:\\r\\n \\r\\n
\\r\\n
\\r\\n Impuestos:\\r\\n \\r\\n
\\r\\n
\\r\\n Exonerado:\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Total Linea:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total :\\r\\n {{invo.ResumenFactura.TotalVenta | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Ventas Exentas :\\r\\n {{invo.ResumenFactura.TotalExento | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Ventas Exoneradas :\\r\\n {{invo.ResumenFactura.TotalExonerado | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Impuestos :\\r\\n {{invo.ResumenFactura.TotalImpuesto | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n TOTAL :\\r\\n {{invo.ResumenFactura.TotalComprobante | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Actividad Económica

\\r\\n
\\r\\n
\\r\\n \\r\\n

Número de referencia del documento.

\\r\\n
\\r\\n
\\r\\n \\r\\n

Razón al crear la referencia.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/facturacion/facturacion.html\n// module id = ../../../../../src/app/facturacion/facturacion.html\n// module chunks = main","import { Sucursal } from './../models/sucursal';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { RouterLink, Router } from '@angular/router';\r\nimport { Impuestos } from './impuestos';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n\r\n@Component({\r\n selector: 'facturacion',\r\n templateUrl: 'factura.html',\r\n styleUrls: ['./factura.css']\r\n})\r\nexport class Facturacion implements OnInit {\r\n\r\n constructor(private impuestos: Impuestos, private router: Router, private service: AppService) { }\r\n\r\n public printContent: string;\r\n public facturas: any = [];\r\n public moneda: any = '';\r\n public telefonoReceptor = '';\r\n public direccionEmisor: string = '';\r\n public direccionReceptor: string = '';\r\n public medioPago: string = '';\r\n public current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n \"Provincia\": \"\",\r\n \"Canton\": \"\",\r\n \"Distrito\": \"\",\r\n \"Barrio\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\",\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0\r\n },\r\n \"TipoCambio\": \"\",\r\n \"TotalServGravados\": 0.0,\r\n \"TotalServExentos\": 0,\r\n \"TotalMercanciasGravadas\": 0.0,\r\n \"TotalMercanciasExentas\": 0.0,\r\n \"TotalGravado\": 0.0,\r\n \"TotalExento\": 0.0,\r\n \"TotalVenta\": 0.0,\r\n \"TotalVentaNeta\": 0.0,\r\n \"TotalImpuesto\": 0.0,\r\n \"TotalComprobante\": 0.0\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": {\r\n \"Numero\":\"\",\r\n \"Razon\":\"\",\r\n \"Codigo\":\"\",\r\n \"TipoDoc\":\"\",\r\n \"FechaEmision\":\"\"\r\n },\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n public sucursal: Sucursal = new Sucursal();\r\n\r\n select(fact, index) {\r\n this.current = fact;\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n }\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n jQuery('.list-item').removeClass('active');\r\n jQuery('#fact-' + index).addClass('active');\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarFacturas();\r\n if (sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em'))) {\r\n this.sucursal = JSON.parse(sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em')));\r\n }\r\n else {\r\n this.sucursal.NombreComercial = '';\r\n }\r\n }\r\n\r\n cargarFacturas() {\r\n let today = this.convertUTCDateToLocalDate(new Date());\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = \"/#\";\r\n } else {\r\n\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if (sessionStorage.getItem('casamatriz')) {\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n this.service.getInvo({\r\n Identificacion: ident,\r\n FechaInicio: this.convertUTCDateToLocalDate(new Date(new Date().setDate(today.getDate() - 30))),\r\n FechaFin: today,\r\n NumeroPagina: 1,\r\n TamanoPagina: 10,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n this.facturas = data.DocumentosElectronicos;\r\n this.current = this.facturas[0];\r\n if (this.current) {\r\n this.facturas.map((item, index) => {\r\n item.FechaEmision = this.convertUTCDateToLocalDate(new Date(item.FechaEmision));\r\n if (item.ClaveNotaCredito && !item.ClaveNotaDebito) {\r\n item.Estado = item.Estado + \" (NC)\";\r\n }\r\n if (item.ClaveNotaDebito && !item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (ND)\";\r\n }\r\n if (item.ClaveNotaDebito && item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (NC-ND)\";\r\n }\r\n });\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n this.medioPago = 'Otro';\r\n switch (this.current.MedioPago) {\r\n case '01':\r\n this.medioPago = 'Efectivo';\r\n break;\r\n case '02':\r\n this.medioPago = 'Tarjeta';\r\n break;\r\n case '03':\r\n this.medioPago = 'Cheque';\r\n break;\r\n case '04':\r\n this.medioPago = 'Transferencia - Depósito Bancario';\r\n break;\r\n case '05':\r\n this.medioPago = 'Recaudo por Terceros';\r\n break;\r\n }\r\n\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n if (this.current.Receptor.Telefono) {\r\n this.telefonoReceptor = \"(\" + this.current.Receptor.Telefono.CodigoPais + \") \" + this.current.Receptor.Telefono.NumTelefono;\r\n }\r\n }\r\n } else {\r\n window.location.href = 'facturacion/nueva';\r\n }\r\n }, (err) => { window.loading.hidePreloader(); });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n\r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n print(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: false } });\r\n\r\n return false;\r\n }\r\n\r\n printTicket(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: true } });\r\n\r\n return false;\r\n }\r\n\r\n duplicate(como) {\r\n if (this.current.Receptor && !this.current.Receptor.Identificacion) {\r\n this.current.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n }\r\n }\r\n var lineas = this.current.DetalleServicio.LineaDetalle.map((item) => {\r\n\r\n /**\r\n * Se cargan las tarifas predefinidas.\r\n */\r\n var impuestos = [];\r\n if(item.Impuestos && item.Impuestos.Impuesto){\r\n item.Impuestos.Impuesto.map((imp) => {\r\n imp.tarifas = this.impuestos.valores[0].tarifas;\r\n impuestos.push(imp);\r\n });\r\n }else{\r\n impuestos = [{\r\n Codigo:\"00\",\r\n nombre:\"Exento\",\r\n tarifas:[{\r\n codigo: \"00\",\r\n nombre: \"Exento\",\r\n tarifa: 0\r\n }],\r\n CodigoTarifa: '00'\r\n }];\r\n }\r\n\r\n return {\r\n \"NumeroLinea\": item.NumeroLinea,\r\n \"Codigo\": item.Codigo,\r\n \"CodigoComercial\": item.CodigoComercial,\r\n \"Cantidad\": item.Cantidad,\r\n \"UnidadMedida\": item.UnidadMedida,\r\n \"UnidadMedidaComercial\": item.UnidadMedidaComercial,\r\n \"Detalle\": item.Detalle,\r\n \"PrecioUnitario\": item.PrecioUnitario,\r\n \"MontoTotal\": item.MontoTotal,\r\n \"SubTotal\": item.SubTotal,\r\n \"Impuestos\": {\r\n \"Impuesto\": impuestos\r\n },\r\n \"ImpuestoNeto\":item.ImpuestoNeto,\r\n \"MontoTotalLinea\": item.MontoTotalLinea\r\n }\r\n });\r\n\r\n var info = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": this.current.Emisor,\r\n \"Receptor\": null,\r\n \"CodigoActividad\": this.current.CodigoActividad,\r\n \"CondicionVenta\": this.current.CondicionVenta,\r\n \"PlazoCredito\": this.current.PlazoCredito,\r\n \"MedioPago\": this.current.MedioPago,\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": lineas\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": this.current.ResumenFactura.CodigoTipoMoneda,\r\n \"TipoCambio\": this.current.ResumenFactura.TipoCambio,\r\n \"TotalServGravados\": this.current.ResumenFactura.TotalServGravados,\r\n \"TotalServExentos\": this.current.ResumenFactura.TotalServExentos,\r\n \"TotalExonerado\":this.current.ResumenFactura.TotalExonerado,\r\n \"TotalMercanciasGravadas\": this.current.ResumenFactura.TotalMercanciasGravadas,\r\n \"TotalMercanciasExentas\": this.current.ResumenFactura.TotalMercanciasExentas,\r\n \"TotalGravado\": this.current.ResumenFactura.TotalGravado,\r\n \"TotalExento\": this.current.ResumenFactura.TotalExento,\r\n \"TotalVenta\": this.current.ResumenFactura.TotalVenta,\r\n \"TotalVentaNeta\": this.current.ResumenFactura.TotalVentaNeta,\r\n \"TotalImpuesto\": this.current.ResumenFactura.TotalImpuesto,\r\n \"TotalComprobante\": this.current.ResumenFactura.TotalComprobante\r\n },\r\n \"Normativa\": this.current.Normativa,\r\n \"InformacionReferencia\": this.current.InformacionReferencia,\r\n \"Otros\": {\r\n \"OtroTexto\": this.current.Otros ? this.current.Otros.OtroTexto : ''\r\n }\r\n };\r\n\r\n if (this.current.Receptor) {\r\n info.Receptor = {\r\n \"Nombre\": this.current.Receptor.Nombre,\r\n \"Identificacion\": this.current.Receptor.Identificacion,\r\n \"Telefono\": this.current.Receptor ? this.current.Receptor.Telefono : { Telefono: {} },\r\n \"CorreoElectronico\": this.current.Receptor.CorreoElectronico\r\n }\r\n }\r\n if(info.InformacionReferencia == null){\r\n info.InformacionReferencia = {\r\n Numero:\"\",\r\n Razon:\"\",\r\n Codigo:\"\",\r\n TipoDoc:\"\",\r\n FechaEmision:\"\"\r\n }\r\n }\r\n sessionStorage.setItem('tempInvo', JSON.stringify(info));\r\n if (como === 'credito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-credito/nueva';\r\n return false;\r\n }\r\n if (como === 'debito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-debito/nueva';\r\n return false;\r\n }\r\n window.location.href = 'facturacion/nueva';\r\n return false;\r\n }\r\n\r\n onCargarDireccionEmisor(emisor: any): void {\r\n this.service.getDireccionEmisor(emisor.Id, (direccion) => {\r\n if(this.sucursal != null && this.sucursal.Direccion != ''){\r\n this.direccionEmisor = this.sucursal.Direccion;\r\n }\r\n else{\r\n if (direccion) {\r\n this.direccionEmisor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionEmisor += (emisor.Ubicacion.OtrasSenas ? (\", \" + emisor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n }\r\n }, () => { });\r\n }\r\n\r\n onCargarDireccionReceptor(receptor: any): void {\r\n this.service.getDireccionReceptor(receptor.Id, (direccion) => {\r\n if (direccion.NombreProvincia && direccion.NombreCanto != '') {\r\n this.direccionReceptor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionReceptor += (receptor.Ubicacion.OtrasSenas ? (\", \" + receptor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n else {\r\n this.direccionReceptor = \"\";\r\n }\r\n }, () => { });\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/facturacion/facturacion.ts","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { _localeFactory } from '@angular/core/src/application_module';\r\nimport 'datatables.net';\r\nimport 'datatables.net-dt/css/jquery.dataTables.css';\r\nimport * as $ from 'jquery';\r\nimport { Impuestos } from './impuestos';\r\nimport { TipoExoneracion } from '../models/tipoExoneracion';\r\nimport { Console } from 'console';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'facturacion-nueva',\r\n templateUrl: './facturacion.html',\r\n styleUrls: ['./factura.css']\r\n})\r\nexport class FacturacionNueva implements OnInit {\r\n titulo: string = window.location.pathname == '/facturacion/nueva' ? 'Factura' : 'Nota';\r\n taxStatus: boolean = false; //Con impuestos\r\n identificacionCliente: any = '';\r\n nombreCliente: any = '';\r\n tipoIdentificacion: any = '01';\r\n telefonoCliente: any = '';\r\n correoCliente: any = '';\r\n otroImpuesto: boolean = false;\r\n emisorId: any = 0;\r\n dataTable: any;\r\n inicializarTabla: boolean = true;\r\n impIncluido: boolean = false;\r\n actividadesEconomicas: any = [];\r\n showExoneracion: boolean = false;\r\n tipoExoneracion: any = new TipoExoneracion;\r\n mensajeErrorExo: any = null;\r\n\r\n invo: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": \"\",\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"01\"\r\n },\r\n \"IdentificacionExtranjero\": null,\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TotalServGravados\": 0.00,\r\n \"TotalServExentos\": 0.00,\r\n \"TotalServExonerado\":0.00,\r\n \"TotalMercanciasGravadas\": 0.00,\r\n \"TotalMercanciasExentas\": 0.00,\r\n \"TotalMercExonerada\":0.00,\r\n \"TotalGravado\": 0.00,\r\n \"TotalExento\": 0.00,\r\n \"TotalVenta\": 0.00,\r\n \"TotalDescuentos\":0.00,\r\n \"TotalIvaDevuelto\": 0.00,\r\n \"TotalVentaNeta\": 0.00,\r\n \"TotalOtrosCargos\":0.00,\r\n \"TotalImpuesto\": 0.00,\r\n \"TotalComprobante\": 0.00\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": {\r\n \"Numero\":\"\",\r\n \"Razon\":\"\",\r\n \"Codigo\":\"\",\r\n \"TipoDoc\":\"\",\r\n \"FechaEmision\":\"\"\r\n },\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n }\r\n items: any = [\r\n {\r\n \"NumeroLinea\": 1,\r\n \"CodigoComercial\": {\r\n \"Id\": 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": \"10000\"\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.00,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"tarifas\": this.impuestos.valores[0].tarifas,\r\n \"Exoneracion\": {\r\n \"TipoDocumento\":\"00\",\r\n \"NumeroDocumento\":\"\",\r\n \"NombreInstitucion\":\"\",\r\n \"FechaEmision\":\"\",\r\n \"PorcentajeExoneracion\":0,\r\n \"MontoExoneracion\":0\r\n },\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n ];\r\n\r\n impuestosLista: any = [{\r\n \"Codigo\": \"99\",\r\n \"Tarifa\": \"0\",\r\n \"Label\": \"Otro\"\r\n },\r\n {\r\n \"Codigo\": \"01\",\r\n \"Tarifa\": \"13\",\r\n \"Label\": \"Imp. Ventas\"\r\n }\r\n ];\r\n\r\n receptores: any = [{\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n }];\r\n\r\n notaCredito: boolean = false;\r\n\r\n loading: any = false;\r\n parser = new DOMParser();\r\n constructor(private impuestos:Impuestos, private service: AppService, private chRef: ChangeDetectorRef) {}\r\n ngOnInit() {\r\n this.notaCredito = false;\r\n this.tipoIdentificacion = '01';\r\n let now: Date = this.convertUTCDateToLocalDate(new Date());\r\n var day = (\"0\" + now.getDate()).slice(-2);\r\n var month = (\"0\" + (now.getMonth() + 1)).slice(-2);\r\n var today = now.getFullYear() + \"-\" + (month) + \"-\" + (day);\r\n var tempInvo = sessionStorage.getItem('tempInvo');\r\n if (tempInvo) {\r\n this.invo = JSON.parse(tempInvo);\r\n this.invo.NumeroConsecutivo = \"\";\r\n this.items = this.invo.DetalleServicio.LineaDetalle;\r\n if (!this.invo.Otros) {\r\n this.invo.Otros = { \"OtroTexto\": \"\" }\r\n }\r\n this.items.map((item, i)=>{\r\n this.calcTax(i,item);\r\n });\r\n sessionStorage.removeItem('tempInvo');\r\n }\r\n\r\n /**\r\n * Verificamos si es credito o debito\r\n */\r\n var tempNota = sessionStorage.getItem('tempNota');\r\n if (tempNota) {\r\n this.notaCredito = true;\r\n this.invo.InformacionReferencia = {\r\n Numero: tempNota\r\n };\r\n sessionStorage.removeItem('tempNota');\r\n //this.invo.Clave = sessionStorage.getItem('tempNotaClave');\r\n sessionStorage.removeItem('tempNotaClave');\r\n } else {\r\n if (window.location.pathname != '/facturacion/nueva') {\r\n this.invo.InformacionReferencia = {};\r\n }\r\n this.notaCredito = false;\r\n }\r\n\r\n if (this.invo.Receptor) {\r\n if (this.invo.Receptor.Identificacion && this.invo.Receptor.Identificacion.Numero) {\r\n this.identificacionCliente = this.invo.Receptor.Identificacion.Numero;\r\n this.tipoIdentificacion = this.invo.Receptor.Identificacion.Tipo;\r\n }\r\n this.nombreCliente = this.invo.Receptor.Nombre;\r\n if (this.invo.Receptor.NumTelefono) {\r\n this.telefonoCliente = this.invo.Receptor.Telefono.NumTelefono;\r\n }\r\n if (this.invo.Receptor.CorreoElectronico) {\r\n this.correoCliente = this.invo.Receptor.CorreoElectronico;\r\n }\r\n }\r\n\r\n setTimeout(function () {\r\n jQuery('#fech-fact').val(today);\r\n }, 1000);\r\n let self = this;\r\n window.loading.showPreloader();\r\n this.service.getEmisor(this.service.user.username, (emisor) => {\r\n window.loading.hidePreloader();\r\n let emi = sessionStorage.getItem('em'); \r\n this.service.traeActividadesEconomicasEmisor(emi,(acts)=>{\r\n if(acts.length === 0){\r\n alert(\"Es necesario agregar actividades económicas.\")\r\n window.location.href = 'emisor';\r\n return;\r\n }\r\n this.invo.CodigoActividad = acts[0].CodigoActividad;\r\n this.actividadesEconomicas = acts;\r\n }, ()=>{});\r\n\r\n if (emisor.Id) {\r\n this.emisorId = emisor.Id;\r\n this.invo.Emisor = {\r\n \"Identificacion\": {\r\n \"Numero\": emisor.Identificacion.Numero,\r\n \"Tipo\": emisor.Identificacion.Tipo,\r\n },\r\n \"Nombre\": emisor.Nombre,\r\n \"NombreComercial\": emisor.NombreComercial,\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": emisor.Ubicacion.OtrasSenas\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": emisor.Telefono.NumTelefono\r\n },\r\n \"CorreoElectronico\": emisor.CorreoElectronico\r\n };\r\n jQuery(document).ready(function () { \r\n var datepicker = jQuery('#fecha-factura').datepicker({\r\n uiLibrary: 'bootstrap',\r\n format: \"dd/mm/yyyy\",\r\n language: \"es-es\",\r\n locale: \"es-es\",\r\n date: self.convertUTCDateToLocalDate(new Date())\r\n });\r\n jQuery(\"#fecha-factura\").val(self.getDateFormatDateUI(self.convertUTCDateToLocalDate(new Date())));\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n });\r\n } else {\r\n window.location.href = 'emisor';\r\n }\r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n validarDetalle(detalle, event: Event) {\r\n var target = event.srcElement;\r\n\r\n if (String(detalle).trim() == '') {\r\n target.classList.add('required');\r\n return false;\r\n }\r\n else {\r\n target.classList.remove('required');\r\n }\r\n }\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n \r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n\r\n setImpuestoIncluido(index, _item){\r\n if (this.impIncluido) {\r\n this.onClickSelectTax(\"01\", index, _item);\r\n }else{\r\n this.onClickSelectTax(\"99\", index, _item);\r\n }\r\n }\r\n\r\n addItem(numero, tipo) {\r\n this.items.push(\r\n {\r\n \"NumeroLinea\": \"\",\r\n \"CodigoComercial\": {\r\n \"Id\": this.items.length + 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": tipo\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.0,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"Exoneracion\": {\r\n \"TipoDocumento\":\"00\",\r\n \"NumeroDocumento\":\"\",\r\n \"NombreInstitucion\":\"\",\r\n \"FechaEmision\":\"\",\r\n \"PorcentajeExoneracion\":0,\r\n \"MontoExoneracion\":0\r\n }\r\n //\"tarifas\": this.impuestos.valores[0].tarifas\r\n\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n )\r\n setTimeout(() => {\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n }, 1000);\r\n \r\n }\r\n removeItem(numero) {\r\n this.items.splice(numero, 1);\r\n this.calInvo(false);\r\n }\r\n\r\n validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n create(event: Event) {\r\n let errortag: boolean = false;\r\n this.calInvo(true);\r\n \r\n if (!this.invo.Receptor) {\r\n this.invo.Receptor = {};\r\n }\r\n if (this.nombreCliente) {\r\n this.invo.Receptor.Nombre = this.nombreCliente;\r\n }\r\n if (this.telefonoCliente) {\r\n if (!this.invo.Receptor.Telefono) {\r\n this.invo.Receptor.Telefono = {};\r\n }\r\n this.telefonoCliente = String(this.telefonoCliente).replace(/-/g, '');\r\n this.invo.Receptor.Telefono.NumTelefono = this.telefonoCliente;\r\n this.invo.Receptor.Telefono.CodigoPais = \"506\";\r\n }\r\n if (this.correoCliente) {\r\n this.invo.Receptor.CorreoElectronico = this.correoCliente;\r\n }\r\n\r\n if (this.invo.CondicionVenta == \"02\") {\r\n this.invo.PlazoCredito = \"30\";\r\n }\r\n if (this.invo.ResumenFactura.TotalComprobante == 0) {\r\n alert(\"Algo anda mal, el total de la factura no puede ser 0.\");\r\n return false;\r\n }\r\n if (!this.invo.Receptor.Telefono || !this.invo.Receptor.Telefono.NumTelefono) {\r\n delete this.invo.Receptor.Telefono;\r\n }\r\n\r\n this.invo.ResumenFactura.TipoCambio = this.invo.ResumenFactura.TipoCambio ? this.invo.ResumenFactura.TipoCambio : 0;\r\n if (this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda != 'CRC' && !confirm(\"El tipo de cambio se enviará en \" + this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio + \", ¿está seguro?\")) {\r\n return false;\r\n }\r\n\r\n this.items.forEach(element => {\r\n if (String(element.Detalle).trim() == '' || element.MontoTotalLinea < 0) {\r\n errortag = true;\r\n }\r\n if(element.Codigo === '' || 'undefined' === typeof(element.Codigo) || element.Codigo.length !== 13){\r\n alert(\"El código CABYS debe ser de 13 dígitos.\");\r\n return;\r\n }\r\n if(element.Impuestos != null){\r\n element.Impuestos.Impuesto.forEach(impuesto => {\r\n if(impuesto.Exoneracion){\r\n if(impuesto.Exoneracion.TipoDocumento == '00'){\r\n impuesto.Exoneracion = null;\r\n }\r\n }\r\n });\r\n } \r\n });\r\n if (errortag) {\r\n alert(\"Por favor verificar el monto de la factura y los demas datos sean correctos.\");\r\n return;\r\n }\r\n if (this.identificacionCliente) {\r\n this.invo.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n };\r\n this.identificacionCliente = String(this.identificacionCliente).replace(/-/g, '');\r\n this.identificacionCliente = String(this.identificacionCliente).replace(' ', '');\r\n if (this.identificacionCliente.length != 9 && this.tipoIdentificacion == \"01\") {\r\n alert(\"Algo anda mal, esta digitando una cédula física con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if (this.identificacionCliente.length != 10 && this.identificacionCliente.length != 12 && this.tipoIdentificacion == \"02\") {\r\n alert(\"Algo anda mal, esta digitando una cédula jurídica con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if ((this.identificacionCliente.length != 11 && this.identificacionCliente.length != 12) && this.tipoIdentificacion == \"03\") {\r\n alert(\"Algo anda mal, esta digitando una cédula DIMEX con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n if (this.identificacionCliente.length != 10 && this.tipoIdentificacion == \"04\") {\r\n alert(\"Algo anda mal, esta digitando un NITE con un formato incorrecto. Favor verificar\");\r\n return false;\r\n }\r\n\r\n this.invo.Receptor.Identificacion.Numero = this.identificacionCliente;\r\n this.invo.Receptor.Identificacion.Tipo = this.tipoIdentificacion;\r\n }\r\n\r\n if (this.identificacionCliente == '') {\r\n alert(\"Es necesario enviar la información del cliente.\");\r\n return;\r\n } else {\r\n var reg = /^\\d+$/;\r\n \r\n if(!reg.test(this.identificacionCliente))\r\n {\r\n alert(\"Algo anda mal, la cedula solo puede contener numeros, no user guiones o espacios en blanco\");\r\n return false;\r\n }\r\n\r\n if (this.invo.Receptor.Nombre == '' || this.invo.Receptor.CorreoElectronico == '' || this.identificacionCliente == '') {\r\n alert(\"Algo anda mal, por favor complete la información del receptor.\");\r\n return false;\r\n }\r\n\r\n var reg = new RegExp('^[0-9]*$');\r\n if(reg.test(this.invo.Receptor.Identificacion.Numero) === false)\r\n {\r\n alert(\"Algo anda mal, La cedula solo debe contener numeros, sin guines o espacios\");\r\n return false;\r\n }\r\n\r\n if (!this.validateEmail(this.invo.Receptor.CorreoElectronico)) {\r\n alert(\"Algo anda mal, el formato del correo electrónico del cliente no es válido.\");\r\n return false;\r\n }\r\n\r\n if (this.telefonoCliente != '' && (String(this.telefonoCliente).length != 8)) {\r\n alert(\"Algo anda mal, el número de teléfono del cliente no es válido. Este debe ser de 8 dígitos\");\r\n return false;\r\n }\r\n }\r\n if (this.invo.Receptor) {\r\n delete this.invo.Receptor.AplicacionId;\r\n delete this.invo.Receptor.Fax;\r\n delete this.invo.Receptor.Id;\r\n delete this.invo.Receptor.NombreComercial;\r\n delete this.invo.Receptor.Ubicacion;\r\n }\r\n delete this.invo.DocumentoFirmado;\r\n delete this.invo.SituacionDocumento;\r\n\r\n this.invo.FechaEmision = this.getDateFormat(jQuery(\"#fecha-factura\").val());\r\n\r\n if (!this.invo.FechaEmision) {\r\n alert(\"Algo anda mal, la fecha debe ser menor a la fecha actual.\");\r\n return false;\r\n }\r\n\r\n if (this.titulo == 'Nota') {\r\n if (!this.invo.InformacionReferencia.Numero) {\r\n alert(\"El número de referencia es requerido.\");\r\n return false;\r\n }\r\n if (!this.invo.InformacionReferencia.Razon) {\r\n alert(\"La razón por crear la nota es requerido.\");\r\n return false;\r\n }\r\n if (window.location.pathname == '/notas-credito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = '01';\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaCredito();\r\n }\r\n if (window.location.pathname == '/notas-debito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = '99';\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaDebito();\r\n }\r\n return false;\r\n }\r\n if (this.titulo == 'Factura' && this.invo.InformacionReferencia.Numero) {\r\n this.invo.InformacionReferencia.Codigo = 99;\r\n this.invo.InformacionReferencia.TipoDoc = '04';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n\r\n if (!this.invo.InformacionReferencia.Razon) {\r\n alert(\"La razón por crear la referencia es requerido.\");\r\n return false;\r\n }\r\n }\r\n else{\r\n this.invo.InformacionReferencia = {};\r\n }\r\n\r\n if (this.identificacionCliente && !this.tipoIdentificacion) {\r\n alert(\"El tipo de identificación del cliente es requerido.\");\r\n return false;\r\n }\r\n\r\n //this.invo.InformacionReferencia = null;\r\n this.invo.Clave = null;\r\n\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.service.createInvoice(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n\r\n if (String(JSON.stringify([resp.errormessage])).startsWith(\"El servidor de Hacienda ATV esta fuera de linea\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(\"Ha ocurrido un error, favor verificar si el documento fue creado. Antes de intentarlo nuevamente verifique los datos de su factura y su coneccion a internet. Por último refresque la aplicación\");\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'facturacion';\r\n }\r\n }, (err) => {\r\n if (String(JSON.stringify([err])).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert('Error al intentar procesar el documento: ' + JSON.stringify([err]));\r\n }\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n getDateFormat(date) {\r\n date = this.convertUTCDateToLocalDate(new Date(date.split('/').reverse().join('/')));\r\n if (!date || date == 'Invalid Date') {\r\n return false;\r\n }\r\n if (date > this.convertUTCDateToLocalDate(new Date())) {\r\n return false;\r\n }\r\n var hours = this.convertUTCDateToLocalDate(new Date());\r\n return date.getFullYear() +\r\n '-' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) +\r\n '-' + (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) +\r\n 'T' + (hours.getHours() < 10 ? '0' + (hours.getHours()) : hours.getHours()) +\r\n ':' + (hours.getMinutes() < 10 ? '0' + (hours.getMinutes()) : hours.getMinutes()) +\r\n ':00';\r\n }\r\n getDateFormatDateUI(date, invertir = false) {\r\n if(invertir){\r\n return `${date.getFullYear()}-${((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)}-${(date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate())}`;\r\n }\r\n return (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate()) +\r\n '/' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) +\r\n '/' + date.getFullYear();\r\n }\r\n\r\n cambioTipoImpuesto(value, imp, item){\r\n this.impuestos.valores.map((im)=>{\r\n if(value == im.codigo) {\r\n imp.tarifas = im.tarifas;\r\n var index = 0;\r\n if(value === '01'){\r\n index = im.tarifas.length - 1;\r\n }\r\n if(im.tarifas && im.tarifas[index]){\r\n imp.CodigoTarifa = im.tarifas[index].codigo;\r\n }\r\n this.cambioTarifa(0,item, imp, im.tarifas[index].codigo); \r\n \r\n if(value == '03'){\r\n this.showExoneracion = true;\r\n } \r\n else{\r\n this.showExoneracion = false;\r\n } \r\n }\r\n }); \r\n }\r\n\r\n ExoneracionError(id, mensaje){\r\n let campo = document.getElementById(id);\r\n \r\n if(mensaje !== null){ \r\n campo.classList.add('error-exoneracion');\r\n this.mensajeErrorExo = mensaje;\r\n }\r\n else{\r\n campo.classList.remove('error-exoneracion');\r\n }\r\n \r\n }\r\n\r\n ValidarExoneracion(_item, event: MouseEvent, index){\r\n\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n\r\n if(impuesto.Exoneracion === null && impuesto.Exoneracion.TipoDocumento === '00'){\r\n this.mensajeErrorExo = 'Debe seleccionar el tipo de documento';\r\n this.ExoneracionError('tipoExoneracionId',this.mensajeErrorExo);\r\n }\r\n\r\n if(impuesto.Exoneracion.TipoDocumento === '00' || impuesto.Exoneracion.TipoDocumento === ''){\r\n event.stopPropagation();\r\n this.mensajeErrorExo = 'Debe seleccionar el tipo de documento';\r\n this.ExoneracionError('tipoExoneracionId',this.mensajeErrorExo );\r\n return;\r\n }\r\n else{\r\n this.mensajeErrorExo = null;\r\n this.ExoneracionError('tipoExoneracionId',this.mensajeErrorExo);\r\n }\r\n \r\n if(impuesto.Exoneracion.NumeroDocumento === ''){\r\n event.stopPropagation();\r\n this.mensajeErrorExo = 'Numero Documento es requerido';\r\n this.ExoneracionError('numeroDocumentoId',this.mensajeErrorExo );\r\n return;\r\n }\r\n else{\r\n this.mensajeErrorExo = null;\r\n this.ExoneracionError('numeroDocumentoId',this.mensajeErrorExo);\r\n }\r\n \r\n if(impuesto.Exoneracion.NombreInstitucion === ''){\r\n event.stopPropagation();\r\n this.mensajeErrorExo = 'Nombre Institucion es requerido';\r\n this.ExoneracionError('nombreInstitucionId',this.mensajeErrorExo );\r\n return;\r\n }\r\n else{\r\n this.mensajeErrorExo = null;\r\n this.ExoneracionError('nombreInstitucionId',this.mensajeErrorExo);\r\n }\r\n \r\n if(impuesto.Exoneracion.FechaEmision === '' && Date.parse(impuesto.Exoneracion.FechaEmision) > 0){\r\n event.stopPropagation();\r\n this.mensajeErrorExo = 'Fecha de Emisión es requerido';\r\n this.ExoneracionError('fechaEmisionId',this.mensajeErrorExo );\r\n return;\r\n }\r\n else{\r\n this.mensajeErrorExo = null;\r\n this.ExoneracionError('fechaEmisionId',this.mensajeErrorExo);\r\n }\r\n \r\n if(impuesto.Exoneracion.PorcentajeExoneracion <= 0 && impuesto.Exoneracion.PorcentajeExoneracion > 13){\r\n event.stopPropagation();\r\n this.mensajeErrorExo = 'Porcentaje exoneració es requerido y debe estar entre 1 y 13. Dode 13 representa el 100% del impuesto exonerado.';\r\n this.ExoneracionError('porcentajeExoId',this.mensajeErrorExo );\r\n return;\r\n }\r\n else{\r\n this.mensajeErrorExo = null;\r\n this.ExoneracionError('porcentajeExoId',this.mensajeErrorExo);\r\n }\r\n \r\n if(impuesto.Exoneracion !== null && impuesto.Exoneracion.TipoDocumento !== '00'){\r\n this.CalcularExoneracion(_item);\r\n }\r\n \r\n document.getElementById(\"toggleImpuestos_\" + index).click();\r\n event.stopPropagation();\r\n\r\n }\r\n )}\r\n }\r\n\r\n CalcularExoneracion(_item){\r\n \r\n \r\n let montoExoneracion: any = 0.0;\r\n let fechaEmision = '';\r\n \r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(3);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(3); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if(impuesto.Exoneracion === null || impuesto.Exoneracion.TipoDocumento === '00' || impuesto.Exoneracion.TipoDocumento === ''){\r\n return;\r\n }\r\n\r\n impuesto.Codigo = '01';\r\n impuesto.CodigoTarifa ='08';\r\n impuesto.Tarifa = 13;\r\n impuesto.Monto = (parseFloat(_item.MontoTotal) * parseFloat(impuesto.Tarifa)/100).toFixed(3);\r\n \r\n montoExoneracion = (_item.SubTotal * parseFloat(impuesto.Exoneracion.PorcentajeExoneracion)/100).toFixed(3);\r\n\r\n if(impuesto.Exoneracion.FechaEmision.length < 11){\r\n fechaEmision = impuesto.Exoneracion.FechaEmision + ' 00:00';\r\n impuesto.Exoneracion.FechaEmision = fechaEmision;\r\n }\r\n\r\n impuesto.Exoneracion.MontoExoneracion = montoExoneracion;\r\n _item.ImpuestoNeto = (parseFloat(impuesto.Monto) - parseFloat(montoExoneracion)).toFixed(3);\r\n \r\n });\r\n }\r\n \r\n \r\n _item.MontoTotalLinea = (parseFloat(_item.SubTotal) + parseFloat(_item.ImpuestoNeto)).toFixed(3);\r\n this.calInvo(false);\r\n\r\n return _item;\r\n }\r\n \r\n CancelarExoneracion(item, event: MouseEvent, index){\r\n document.getElementById(\"toggleImpuestos_\" + index).click();\r\n event.stopPropagation();\r\n }\r\n cambioTarifa(inx, item, imp, tar){ \r\n imp.tarifas.map((t)=>{\r\n if(t.codigo == tar){\r\n imp.CodigoTarifa = tar;\r\n imp.Tarifa = t.tarifa; \r\n }\r\n });\r\n this.calcTax(inx, item);\r\n }\r\n\r\n calcSubTotalType(index, item, monto) { \r\n if(isNaN(item.PrecioUnitario) || isNaN(monto)){\r\n item.PrecioUnitario = 0;\r\n monto = 0;\r\n }\r\n var impuesto = 0;\r\n if(item.Impuestos){\r\n impuesto = (parseFloat(item.Impuestos.Impuesto[0]['Tarifa']) || 0) / 100;\r\n }\r\n item.PrecioUnitario = ((monto * 100) / ((impuesto * 100) + 100)) / item.Cantidad;\r\n this.calcTax(index, item);\r\n }\r\n\r\n createNotaCredito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createCredito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de crédito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-credito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n createNotaDebito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createDebito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de débito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-debito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n calInvo(creando) {\r\n let TotalServGravados = 0.0;\r\n let TotalServExentos = 0.0;\r\n let TotalServExonerado = 0.0;\r\n\r\n let TotalMercanciasGravadas = 0.0;\r\n let TotalMercanciasExentas = 0.0;\r\n let TotalMercanciasExonerado = 0.0;\r\n\r\n let TotalGravado = 0.0;\r\n let TotalExento = 0.0;\r\n let TotalExonerado = 0.0;\r\n\r\n let TotalVenta = 0.0;\r\n let TotalVentaNeta = 0.0;\r\n\r\n let TotalImpuesto = 0.0;\r\n let TotalComprobante = 0.0;\r\n /**\r\n * Se generan los totales\r\n */\r\n this.invo.DetalleServicio.LineaDetalle = this.items.map((item, index) => {\r\n\r\n item.NumeroLinea = index + 1;\r\n item.PrecioUnitario = parseFloat(item.PrecioUnitario).toFixed(3);\r\n\r\n\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n impuesto.Tarifa = impuesto.Tarifa ? parseFloat(impuesto.Tarifa) : 0;\r\n });\r\n }\r\n\r\n /**\r\n * Es de tipo Mercadería\r\n */\r\n var exento = false;\r\n\r\n if (item.CodigoComercial && item.CodigoComercial.Codigo == '10001') {\r\n item.UnidadMedida = 'Unid';\r\n item.UnidadMedidaComercial = 'Unidad';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') {\r\n TotalMercanciasExentas += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n if (impuesto.Exoneracion != null && impuesto.Exoneracion.TipoDocumento !== '00'){\r\n let totalExoneLinea = (impuesto.Exoneracion.PorcentajeExoneracion/impuesto.Tarifa) * item.SubTotal;\r\n TotalMercanciasExonerado += totalExoneLinea\r\n TotalMercanciasGravadas += (item.Cantidad * item.PrecioUnitario) - totalExoneLinea;\r\n TotalImpuesto += parseFloat(impuesto.Monto) - parseFloat(impuesto.Exoneracion.MontoExoneracion);\r\n }\r\n else{\r\n TotalMercanciasGravadas += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n TotalVentaNeta += (item.Cantidad * item.PrecioUnitario);\r\n }\r\n });\r\n }\r\n /** Tipo Servicio*/\r\n } else {\r\n item.UnidadMedida = 'Sp';\r\n item.UnidadMedidaComercial = 'Sp';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') { \r\n TotalServExentos += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n \r\n if (impuesto.Exoneracion != null && impuesto.Exoneracion.TipoDocumento !== '00'){\r\n let totalExoneLinea = (impuesto.Exoneracion.PorcentajeExoneracion/impuesto.Tarifa) * item.SubTotal;\r\n TotalServExonerado += totalExoneLinea\r\n TotalServGravados += (item.Cantidad * item.PrecioUnitario) - totalExoneLinea;\r\n TotalImpuesto += parseFloat(impuesto.Monto) - parseFloat(impuesto.Exoneracion.MontoExoneracion);\r\n }\r\n else{\r\n TotalServGravados += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n TotalVentaNeta += (item.Cantidad * item.PrecioUnitario);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if(exento && creando){\r\n item.Impuestos = null;\r\n }\r\n\r\n item.BaseImponible = item.MontoTotal;\r\n if (!item) {\r\n return false;\r\n }\r\n return item;\r\n });\r\n\r\n TotalExento = TotalServExentos + TotalMercanciasExentas;\r\n TotalExonerado = TotalServExonerado + TotalMercanciasExonerado;\r\n \r\n TotalGravado = TotalServGravados + TotalMercanciasGravadas;\r\n TotalVenta = TotalExento + TotalGravado + TotalExonerado;\r\n TotalVentaNeta = TotalVenta; //menos decuentos.\r\n /**\r\n * TODO: DESCUENTOS AUN NO SE APLICAN DESCUENTOS\r\n */\r\n\r\n TotalComprobante += TotalVentaNeta + TotalImpuesto;\r\n\r\n this.invo.ResumenFactura.TotalServGravados = TotalServGravados.toFixed(3);\r\n this.invo.ResumenFactura.TotalServExentos = TotalServExentos.toFixed(3);\r\n this.invo.ResumenFactura.TotalServExonerado = TotalServExonerado.toFixed(3);\r\n\r\n this.invo.ResumenFactura.TotalMercanciasGravadas = TotalMercanciasGravadas.toFixed(3);\r\n this.invo.ResumenFactura.TotalMercanciasExentas = TotalMercanciasExentas.toFixed(3);\r\n this.invo.ResumenFactura.TotalMercExonerada = TotalMercanciasExonerado.toFixed(3);\r\n\r\n this.invo.ResumenFactura.TotalGravado = TotalGravado.toFixed(3);\r\n this.invo.ResumenFactura.TotalExento = TotalExento.toFixed(3);\r\n this.invo.ResumenFactura.TotalExonerado = TotalExonerado.toFixed(3);\r\n this.invo.ResumenFactura.TotalVenta = TotalVenta.toFixed(3);\r\n this.invo.ResumenFactura.TotalVentaNeta = TotalVentaNeta.toFixed(3);\r\n this.invo.ResumenFactura.TotalImpuesto = TotalImpuesto.toFixed(3);\r\n this.invo.ResumenFactura.TotalComprobante = TotalComprobante.toFixed(3);\r\n }\r\n\r\n calcSubTotal(index, _item) {\r\n if(isNaN(_item.PrecioUnitario)){\r\n _item.PrecioUnitario = 0;\r\n }\r\n if(_item.Cantidad < 1){\r\n _item.Cantidad = 1;\r\n }\r\n\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(3);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(3); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n this.calcTax(index, _item);\r\n \r\n this.calInvo(false);\r\n }\r\n plus(index, item){\r\n item.Cantidad++;\r\n this.calcSubTotal(index, item);\r\n }\r\n minus(index, item){\r\n if (item.Cantidad > 1) {\r\n item.Cantidad--;\r\n this.calcSubTotal(index, item);\r\n } \r\n }\r\n calcPrice(index, _item) {\r\n let totalTarifa: any = 0.0;\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n totalTarifa += (parseFloat(impuesto.Tarifa) / 100);\r\n });\r\n }else{\r\n totalTarifa = 0;\r\n }\r\n\r\n var imp: any = (_item.MontoTotalLinea * totalTarifa).toFixed(3);\r\n var costo: any = (_item.MontoTotalLinea - imp);\r\n _item.PrecioUnitario = (costo / _item.Cantidad).toFixed(3);\r\n this.calInvo(false);\r\n }\r\n\r\n calcTax(index, _item) {\r\n\r\n\r\n let totalImpuestoMonto: any = 0.0;\r\n let isExonerado = false;\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(3);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(3); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Tarifa >= 0) {\r\n impuesto.Monto = (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(3);\r\n totalImpuestoMonto += (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(3);\r\n }\r\n else {\r\n totalImpuestoMonto += 0;\r\n }\r\n if(impuesto.Exoneracion && impuesto.Exoneracion.TipoDocumento != '00'){\r\n this.CalcularExoneracion(_item);\r\n isExonerado = true;\r\n }\r\n });\r\n }\r\n \r\n _item.ImpuestoNeto = isExonerado === false ? parseFloat(totalImpuestoMonto) : _item.ImpuestoNeto; \r\n _item.MontoTotalLinea = (parseFloat(totalImpuestoMonto) + parseFloat(_item.SubTotal)).toFixed(3);\r\n this.calInvo(false);\r\n\r\n return _item;\r\n }\r\n\r\n //**Permiste habilitar y deshabiliar el campo del impuesto al mismo tiempo que calcula el impuesto cuando se selecciona un item */\r\n onClickSelectTax(tipoImpuesto, index, _item) {\r\n if (tipoImpuesto == \"99\") {\r\n $(\"#otroImpuesto_\" + index).show();\r\n }\r\n else {\r\n $(\"#otroImpuesto_\" + index).hide();\r\n }\r\n\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n impuesto.Codigo = tipoImpuesto;\r\n\r\n switch (tipoImpuesto) {\r\n //**Impuesto General sobre las ventas */\r\n case \"01\": impuesto.Tarifa = 13;\r\n break;\r\n //**Impuesto Selectivo de Consumo */\r\n case \"02\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Unico a los combustivos */\r\n case \"03\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto especifico de bebidas alcoholicas */\r\n case \"04\": impuesto.Tarifa = 0;\r\n break;\r\n //**impuesto especifico sobre las bebidas envasadas sin contenido alcoholico y jabones de tocador */\r\n case \"05\": impuesto.Tarifa = 0;\r\n break;\r\n //**impuesto a los productos de tabaco */\r\n case \"06\": impuesto.Tarifa = 0;\r\n break;\r\n //**servicios */\r\n case \"07\": impuesto.Tarifa = 10;\r\n break;\r\n //**Impuesto General a las Ventas Diplomaticos */\r\n case \"08\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto General sobre Ventas compras autorizadas */\r\n case \"09\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto General sobre las ventas instituciones publicas y otros organismos */\r\n case \"10\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Selectivo de consumo compras autorizadas */\r\n case \"11\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Especifico al Cemento */\r\n case \"12\": impuesto.Tarifa = 0;\r\n break;\r\n //**otro */\r\n case \"98\": impuesto.Tarifa = 0;\r\n break;\r\n //**otro */\r\n case \"99\": impuesto.Tarifa = 0;\r\n break;\r\n }\r\n\r\n });\r\n this.calcTax(index, _item);\r\n }\r\n\r\n cargarReceptores() {\r\n window.loading.showPreloader();\r\n this.service.getReceptores(this.emisorId, (receptores) => {\r\n window.loading.hidePreloader();\r\n if (receptores) {\r\n this.receptores = receptores;\r\n\r\n if (!this.inicializarTabla) {\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable();\r\n this.dataTable.destroy();\r\n }\r\n\r\n this.chRef.detectChanges();\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable({\r\n \"language\": {\r\n \"lengthMenu\": \"Mostrar _MENU_ registros por página\",\r\n \"zeroRecords\": \"No hay registros\",\r\n \"info\": \"Mostrando pagina _PAGE_ de _PAGES_\",\r\n \"infoEmpty\": \"No registros disponibles\",\r\n \"infoFiltered\": \"(filtrados _MAX_ total de registros)\",\r\n \"search\": \"Buscar\",\r\n \"paginate\": {\r\n \"first\": \"Primera\",\r\n \"last\": \"Ultima\",\r\n \"next\": \"Siguiente\",\r\n \"previous\": \"Anterior\"\r\n },\r\n },\r\n \"scrollY\": \"200px\",\r\n \"paging\": false,\r\n \"order\": [[ 1, \"asc\" ]],\r\n });\r\n\r\n this.inicializarTabla = false;\r\n }\r\n }, () => { });\r\n }\r\n\r\n onSelectReceptor(item) {\r\n this.nombreCliente = item.Nombre;\r\n this.tipoIdentificacion = item.Identificacion.Tipo;\r\n this.identificacionCliente = item.Identificacion.Numero;\r\n this.correoCliente = item.CorreoElectronico != null ? item.CorreoElectronico : '';\r\n if (item.Telefono) {\r\n this.telefonoCliente = item.Telefono.NumTelefono;\r\n }\r\n else {\r\n this.telefonoCliente = '';\r\n }\r\n\r\n }\r\n\r\n onkeypressNumber(event) {\r\n if (event) {\r\n let target = event.currentTarget;\r\n var re = /[0-9]/;\r\n if (!re.test(String(event.key).toLowerCase())) {\r\n return false;\r\n }\r\n\r\n }\r\n }\r\n\r\n getTipoCambio(){\r\n if(this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == \"USD\"){\r\n window.loading.showPreloader();\r\n this.service.getTipoVentaDolar((data) =>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = data.venta;\r\n window.loading.hidePreloader();\r\n },\r\n (error)=>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"0.0\";\r\n console.log(error);\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n else{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"\";\r\n }\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/facturacion/facturacionNueva.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\n\r\nexport class Impuestos {\r\n public valores: any = [\r\n {\r\n codigo: \"01\",\r\n nombre: \"Impuesto al Valor Agregado\",\r\n tarifas: [\r\n {\r\n codigo: \"01\",\r\n nombre: \"0% Tarifa\",\r\n tarifa: 0\r\n },\r\n {\r\n codigo: \"02\",\r\n nombre: \"1% Tarifa reducida\",\r\n tarifa: 1\r\n },\r\n {\r\n codigo: \"03\",\r\n nombre: \"2% Tarifa reducida\",\r\n tarifa: 2\r\n },\r\n {\r\n codigo: \"04\",\r\n nombre: \"4% Tarifa reducida\",\r\n tarifa: 4\r\n },\r\n {\r\n codigo: \"05\",\r\n nombre: \"0% Transitorio\",\r\n tarifa: 0\r\n },\r\n {\r\n codigo: \"06\",\r\n nombre: \"4% Transitorio\",\r\n tarifa: 4\r\n },\r\n {\r\n codigo: \"07\",\r\n nombre: \"8% Transitorio\",\r\n tarifa: 8\r\n },\r\n {\r\n codigo: \"08\",\r\n nombre: \"13% Tarifa General\",\r\n tarifa: 13\r\n }\r\n ]\r\n },\r\n {\r\n codigo:\"00\",\r\n nombre:\"Exento\",\r\n tarifas:[\r\n {\r\n codigo: \"00\",\r\n nombre: \"Exento\",\r\n tarifa: 0\r\n }\r\n ]\r\n },\r\n {\r\n codigo:\"03\",\r\n nombre:\"Exonerado\",\r\n tarifas:[\r\n {\r\n codigo: \"00\",\r\n nombre: \"Exonerado\",\r\n tarifa: 0\r\n }\r\n ]\r\n }\r\n ]\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/facturacion/impuestos.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Factura # {{current.NumeroConsecutivo}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.sucursal ? this.sucursal.NombreComercial : ''}}\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' : current.Emisor.Identificacion.Tipo == '02'? 'Cédula Jurídica':'Dimex'}}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono:

({{current.Emisor.Telefono.CodigoPais}})\\r\\n {{current.Emisor.Telefono.NumTelefono}}

\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Cliente: {{current.Receptor ? current.Receptor.Nombre : ''}}\\r\\n
\\r\\n {{current.Receptor && current.Receptor.Identificacion ?\\r\\n current.Receptor.Identificacion.Tipo\\r\\n == '01' ? 'Cédula' : 'Cédula Jurídica': 'Cédula' }}: {{current.Receptor\\r\\n && current.Receptor.Identificacion.Numero ? current.Receptor.Identificacion.Numero\\r\\n : '' }}\\r\\n
\\r\\n Correo: {{current.Receptor ? current.Receptor.CorreoElectronico\\r\\n : ''}}\\r\\n
\\r\\n Teléfono: ({{current.Receptor ? ( current.Receptor.Telefono ?\\r\\n current.Receptor.Telefono.CodigoPais : '')\\r\\n : ''}}) {{current.Receptor ? (current.Receptor.Telefono ? current.Receptor.Telefono.NumTelefono\\r\\n : '') : ''}}\\r\\n
\\r\\n Dirección: {{direccionReceptor}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}} \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | utcDate}}\\r\\n \\r\\n
\\r\\n \\r\\n Condición de Venta: {{current.CondicionVenta == '01' ? 'Contado' :\\r\\n 'Crédito'}},\\r\\n \\r\\n \\r\\n Plazo Crédito: {{current.PlazoCredito}} días,\\r\\n \\r\\n \\r\\n Medio de pago: {{ medioPago }}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescripciónCant.PrecioImp.Total
{{item.CodigoComercial.Codigo == '10000' ? 'S.' : 'P.'}} -\\r\\n {{item.Detalle}}{{item.Cantidad}}{{item.PrecioUnitario | currency:this.moneda == \\\"$\\\" ? \\\"$\\\"\\r\\n : \\\"₡\\\"}}{{item.Impuestos.Impuesto[0].Monto |\\r\\n currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}0.00{{item.MontoTotalLinea | currency:this.moneda == \\\"$\\\" ? \\\"$\\\"\\r\\n : \\\"₡\\\"}}
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total:\\r\\n \\r\\n {{current.ResumenFactura.TotalVenta | currency: this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\"}}\\r\\n
\\r\\n Impuesto:\\r\\n {{current.ResumenFactura.TotalImpuesto | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}
\\r\\n TOTAL:\\r\\n {{current.ResumenFactura.TotalComprobante | currency: this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Notas adicionales: {{current.Otros ? current.Otros.OtroTexto : ''}}\\r\\n

\\r\\n

La S. representa servicio, P. representa Prodocto

\\r\\n

\\r\\n Documento de referencia: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Numero : ''}}\\r\\n
Razon: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/facturacion/vistaPrevia.html\n// module id = ../../../../../src/app/facturacion/vistaPrevia.html\n// module chunks = main","import { Sucursal } from './../models/sucursal';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { RouterLink, Router, ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../app.service';\r\nimport { Location } from '@angular/common';\r\ndeclare var window: any;\r\ndeclare var $:any;\r\n\r\n@Component({\r\n selector: 'app-vistaPrevia',\r\n templateUrl: 'vistaPrevia.html',\r\n styleUrls: ['./factura.css']\r\n})\r\n\r\nexport class VistaPrevia implements OnInit {\r\n\r\n constructor(private router: Router,\r\n private service: AppService,\r\n private route: ActivatedRoute,\r\n private _location: Location) { }\r\n\r\n public direccionEmisor:any;\r\n public direccionReceptor: any;\r\n public moneda: any;\r\n public compras: boolean = false;\r\n public tiquetes: boolean = false;\r\n public medioPago: string = '';\r\n private isTicket:boolean = false;\r\n private _documento: any;\r\n public sucursal: Sucursal = new Sucursal();\r\n current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": \"\",\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"01\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TotalServGravados\": 0.00,\r\n \"TotalServExentos\": 0.00,\r\n \"TotalServExonerado\":0.00,\r\n \"TotalMercanciasGravadas\": 0.00,\r\n \"TotalMercanciasExentas\": 0.00,\r\n \"TotalMercExonerada\":0.00,\r\n \"TotalGravado\": 0.00,\r\n \"TotalExento\": 0.00,\r\n \"TotalVenta\": 0.00,\r\n \"TotalDescuentos\":0.00,\r\n \"TotalIvaDevuelto\": 0.00,\r\n \"TotalVentaNeta\": 0.00,\r\n \"TotalOtrosCargos\":0.00,\r\n \"TotalImpuesto\": 0.00,\r\n \"TotalComprobante\": 0.00\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": {},\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n items: any = [\r\n {\r\n \"NumeroLinea\": 1,\r\n \"CodigoComercial\": {\r\n \"Id\": 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": \"10000\"\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.00,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": []\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n ];\r\n\r\n impuestosLista: any = [{\r\n \"Codigo\": \"99\",\r\n \"Tarifa\": \"0\",\r\n \"Label\": \"Otro\"\r\n },\r\n {\r\n \"Codigo\": \"01\",\r\n \"Tarifa\": \"13\",\r\n \"Label\": \"Imp. Ventas\"\r\n }\r\n ];\r\n\r\n receptores: any = [{\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n }];\r\n\r\n ngOnInit() {\r\n\r\n this.route\r\n .queryParams\r\n .subscribe(params => {\r\n // Defaults to 0 if no query param provided.\r\n this.isTicket = JSON.parse(params['ticket'] || false); \r\n this.compras = params['compra'] || false;\r\n this.tiquetes = params['tiquete'] || false;\r\n });\r\n\r\n this._documento = sessionStorage.getItem('print');\r\n \r\n if(sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em'))){\r\n this.sucursal = JSON.parse(sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em')));\r\n }\r\n else{\r\n this.sucursal.NombreComercial = '';\r\n }\r\n if (this._documento) {\r\n this.current = JSON.parse(this._documento);\r\n this.items = this.current.DetalleServicio.LineaDetalle;\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n }\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n this.medioPago = 'Otro';\r\n switch (this.current.MedioPago) {\r\n case '01':\r\n this.medioPago = 'Efectivo';\r\n break;\r\n case '02':\r\n this.medioPago = 'Tarjeta';\r\n break;\r\n case '03':\r\n this.medioPago = 'Cheque';\r\n break;\r\n case '04':\r\n this.medioPago = 'Transferencia - Depósito Bancario';\r\n break;\r\n case '05':\r\n this.medioPago = 'Recaudo por Terceros';\r\n break;\r\n }\r\n sessionStorage.removeItem('print');\r\n\r\n setTimeout(() =>{\r\n if(this.isTicket === true)\r\n {\r\n $(\"#prinDiv\").addClass(\"tiquete-print\");\r\n\r\n $(\".impuesto\").hide();\r\n $(\".precio\").hide();\r\n\r\n $('#claveLabel').css(\"fontSize\", 9);\r\n\r\n $('.row-rounded-boder').removeClass('row-rounded-boder');\r\n\r\n }\r\n var content = $(\"#printSection\").html();\r\n $('body').html(content);\r\n window.print(); \r\n \r\n if(this.compras){\r\n window.location.href = 'compras'; \r\n }else{\r\n if(this.tiquetes){\r\n window.location.href = 'tiquetes'; \r\n }else{\r\n window.location.href = 'facturacion'; \r\n }\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onCargarDireccionEmisor(emisor: any): void {\r\n this.service.getDireccionEmisor(emisor.Id, (direccion) => {\r\n if(this.sucursal != null && this.sucursal.Direccion != '' && this.sucursal.Direccion != null){\r\n this.direccionEmisor = this.sucursal.Direccion;\r\n }\r\n else{\r\n if (direccion) {\r\n this.direccionEmisor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionEmisor += (emisor.Ubicacion.OtrasSenas ? (\", \" + emisor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n }\r\n \r\n }, () => { });\r\n }\r\n\r\n onCargarDireccionReceptor(receptor: any): void {\r\n this.service.getDireccionReceptor(receptor.Id, (direccion) => {\r\n if (direccion.NombreProvincia && direccion.NombreCanto != '') {\r\n this.direccionReceptor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionReceptor += (receptor.Ubicacion.OtrasSenas ? (\", \" + receptor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n else{\r\n this.direccionReceptor = \"\";\r\n }\r\n }, () => { });\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/facturacion/vistaPrevia.ts","import { Location } from '@angular/common';\r\nimport { Totales } from '../models/totales';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\ndeclare var window: any;\r\nimport { AppService } from '../app.service';\r\n\r\n@Component({\r\n selector: 'home',\r\n templateUrl: './home.html'\r\n})\r\nexport class HomeComponent implements OnInit {\r\n constructor(private service: AppService) { }\r\n\r\n public message: string;\r\n public totalInvo: number = 0;\r\n public totalColones: number = 0;\r\n public totalDolares: number = 0;\r\n public totalCambio: number = 0;\r\n public totalesPorEmisor: Array = new Array();\r\n public charInvo: string = '';\r\n\r\n ngOnInit() {\r\n this.message = '';\r\n\r\n var date = new Date();\r\n var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = '/#';\r\n return;\r\n }\r\n\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if(sessionStorage.getItem('casamatriz')){\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n this.service.getTotalVentaPorEmisor(ident + \"-\" + casaMatriz, firstDay.toISOString().substr(0, 10), date.toISOString().substr(0, 10),\r\n (data) => {\r\n if (data) {\r\n Object.assign(this.totalesPorEmisor, data);\r\n let self = this;\r\n self.totalCambio = 0;\r\n this.totalesPorEmisor.forEach(function (item) {\r\n if (item.CodigoMoneda == 'CRC') {\r\n if (item.TipoDocumento == 'FACTURA ELECTRONICA') {\r\n self.totalInvo = self.totalInvo + 1; // esto seria la cantidad //self.totalCambio + self.totalColones; \r\n self.totalColones += item.TotalComprobante;\r\n }\r\n else {\r\n //self.totalColones -= item.TotalComprobante;\r\n }\r\n }\r\n if (item.CodigoMoneda == 'USD') {\r\n if(item.TipoDocumento == 'FACTURA ELECTRONICA'){\r\n self.totalInvo = self.totalInvo + 1; // esto seria la cantidad //self.totalCambio + self.totalColones; \r\n self.totalDolares += item.TotalComprobante;\r\n if (item.TipoCambio > 0) {\r\n self.totalCambio += (item.TotalComprobante * item.TipoCambio)\r\n }\r\n }\r\n else {\r\n //self.totalDolares -= item.TotalComprobante;\r\n \r\n //if (item.TipoCambio > 0) {\r\n // self.totalCambio -= (item.TotalComprobante * item.TipoCambio)\r\n // }\r\n }\r\n }\r\n });\r\n }\r\n window.loading.hidePreloader();\r\n },\r\n (err) => { window.loading.hidePreloader(); }\r\n );\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/home/home.component.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Facturas creadas el mes actual\\r\\n

{{totalInvo}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n 1,3,9,6,5,9,7,3,5,8\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Ventas del mes actual Colones\\r\\n

₡ {{totalColones | number:'1.2-2'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n 4,3,5,2,5,3,8,3,4,9\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Ventas del mes actual Dólares\\r\\n

$ {{totalDolares | number:'1.2-2'}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n 4,3,5,2,5,3,8,3,4,9\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Notificaciones\\r\\n
\\r\\n Bienvenid@! Gracias por utilizar Factura Digital. En caso de consultas no dudes en contactarnos.
Contacto\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/home/home.html\n// module id = ../../../../../src/app/home/home.html\n// module chunks = main","export class Sucursal{\r\n EmisorId: number = 0;\r\n CasaMatriz: string = '';\r\n NombreComercial: string = '';\r\n Telefono: string = '';\r\n Email: string = '';\r\n Direccion: string = '';\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/models/sucursal.ts","\r\nexport class TipoExoneracion{\r\n public Tipos: any = new Array();\r\n public TipoDocumento: string = '00';\r\n public NumeroDocumento: string = '';\r\n public NombreInstitucion: string = '';\r\n public FechaEmision: string = '';\r\n public PorcentajeExoneracion: number=0;\r\n public MontoExoneracion: number = 0;\r\n \r\n constructor(){\r\n this.Tipos.push({Codigo: \"00\", Descripcion: \"Seleccione el tipo de docuemnto\"});\r\n this.Tipos.push({Codigo: \"01\", Descripcion: \"Compras Autorizadas\"});\r\n this.Tipos.push({ Codigo: \"02\", Descripcion: \"Ventas exentas a diplomáticos\" });\r\n this.Tipos.push({ Codigo: \"03\", Descripcion: \"Orden de compra (instituciones públicas y otros organismos)\" });\r\n this.Tipos.push({ Codigo: \"04\", Descripcion: \"Exenciones Dirección General de Hacienda\" });\r\n this.Tipos.push({ Codigo: \"05\", Descripcion: \"Transitorio V\" });\r\n this.Tipos.push({ Codigo: \"06\", Descripcion: \"Transitorio IX\" });\r\n this.Tipos.push({ Codigo: \"07\", Descripcion: \"Transitorio XVII\" });\r\n this.Tipos.push({ Codigo: \"99\", Descripcion: \"Otros\" });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/models/tipoExoneracion.ts","export class User{\r\n username: string = '';\r\n password: string = '';\r\n passwordConfirm: string = '';\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/models/user.ts","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { TipoExoneracion } from '../models/tipoExoneracion';\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n\r\n\r\n@Component({\r\n selector: 'credito',\r\n templateUrl:'./notasCredito.html'\r\n})\r\nexport class Credito implements OnInit {\r\n public facturas: any = [];\r\n public moneda: any = '';\r\n showExoneracion: boolean = false;\r\n tipoExoneracion: any = new TipoExoneracion;\r\n public current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": new Date(),\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": this.service.user.username,\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TipoCambio\": \"\",\r\n \"TotalServGravados\": 0.00,\r\n \"TotalServExentos\": 0.00,\r\n \"TotalServExonerado\":0.00,\r\n \"TotalMercanciasGravadas\": 0.00,\r\n \"TotalMercanciasExentas\": 0.00,\r\n \"TotalMercExonerada\":0.00,\r\n \"TotalGravado\": 0.00,\r\n \"TotalExento\": 0.00,\r\n \"TotalVenta\": 0.00,\r\n \"TotalDescuentos\":0.00,\r\n \"TotalIvaDevuelto\": 0.00,\r\n \"TotalVentaNeta\": 0.00,\r\n \"TotalOtrosCargos\":0.00,\r\n \"TotalImpuesto\": 0.00,\r\n \"TotalComprobante\": 0.00\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n\r\n exoneracion: any = {\r\n \"TipoDocumento\":\"\",\r\n \"NumeroDocumento\":\"\",\r\n \"NombreInstitucion\":\"\",\r\n \"FechaEmision\":\"\",\r\n \"PorcentajeExoneracion\":0,\r\n \"MontoExoneracion\":0\r\n };\r\n\r\n constructor(private service: AppService) { }\r\n\r\n select(fact, index) {\r\n this.current = fact;\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$'; \r\n jQuery('.list-item').removeClass('active');\r\n jQuery('#fact-' + index).addClass('active');\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarFacturas()\r\n }\r\n\r\n cargarFacturas(){\r\n let today = this.convertUTCDateToLocalDate(new Date());\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = \"/#\";\r\n } else {\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if(sessionStorage.getItem('casamatriz')){\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n this.service.getCreditos({\r\n Identificacion: ident,\r\n FechaInicio: this.convertUTCDateToLocalDate(new Date(new Date().setDate(today.getDate() - 180))),\r\n FechaFin: today,\r\n NumeroPagina: 1,\r\n TamanoPagina: 10,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n this.facturas = data.DocumentosElectronicos;\r\n\r\n this.current = this.facturas[0];\r\n if (this.current) {\r\n this.facturas.map((item,index) => {\r\n item.FechaEmision = this.convertUTCDateToLocalDate(new Date(item.FechaEmision));\r\n if(item.ClaveNotaCredito && !item.ClaveNotaDebito){\r\n item.Estado = item.Estado + \" (NC)\";\r\n }\r\n if(item.ClaveNotaDebito && !item.ClaveNotaCredito){\r\n item.Estado = item.Estado + \" (ND)\";\r\n }\r\n if(item.ClaveNotaDebito && item.ClaveNotaCredito){\r\n item.Estado = item.Estado + \" (NC-ND)\";\r\n }\r\n });\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n }else{\r\n window.location.href = 'notas-credito/nueva';\r\n }\r\n }, (err) => { window.loading.hidePreloader(); });\r\n }\r\n\r\n return false;\r\n }\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n \r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n print(){\r\n window.AppSidebar.close();\r\n window.print();\r\n return false;\r\n }\r\n duplicate(){\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-credito/nueva';\r\n return false; \r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/notasCredito/Credito.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Nota Crédito # {{current.NumeroConsecutivo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{current ? current.Emisor.NombreComercial\\r\\n : ''}}\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' :\\r\\n 'Cédula Jurídica'\\r\\n }}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono: ({{current.Emisor.Telefono.CodigoPais}})\\r\\n {{current.Emisor.Telefono.NumTelefono}}\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Cliente: {{current.Receptor ? current.Receptor.Nombre\\r\\n : ''}}\\r\\n
\\r\\n {{current.Receptor && current.Receptor.Identificacion ?\\r\\n current.Receptor.Identificacion.Tipo\\r\\n == '01' ? 'Cédula' : 'Cédula Jurídica': 'Cédula' }}: \\r\\n {{current.Receptor\\r\\n && current.Receptor.Identificacion.Numero ?\\r\\n current.Receptor.Identificacion.Numero\\r\\n : '' }}\\r\\n
\\r\\n Correo: {{current.Receptor ?\\r\\n current.Receptor.CorreoElectronico\\r\\n : ''}}\\r\\n
\\r\\n Teléfono: ({{current.Receptor ?\\r\\n (current.Receptor.Telefono ? current.Receptor.Telefono.CodigoPais : '')\\r\\n : ''}}) {{current.Receptor ? (current.Receptor.Telefono ?\\r\\n current.Receptor.Telefono.NumTelefono : '') : ''}}\\r\\n
\\r\\n Dirección: {{direccionReceptor}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | date:'dd MMM\\r\\n yyyy hh:mm:ss\\r\\n a'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescripciónCantidadPrecioImpuestoTotal
\\r\\n
\\r\\n {{item.CodigoComercial && item.CodigoComercial.Codigo == '10000' ? 'Venta por\\r\\n Servicios' : 'Venta\\r\\n por Mercadría'}}\\r\\n
\\r\\n {{item.Detalle}}\\r\\n
{{item.Cantidad}}{{this.moneda}} {{item.PrecioUnitario | currency:\\\" \\\"}}{{this.moneda}} {{item.Impuestos.Impuesto[0].Monto | currency:\\\"\\r\\n \\\"}}{{this.moneda}} {{item.MontoTotalLinea | currency:\\\" \\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n

\\r\\n Documento de referencia:\\r\\n {{current.InformacionReferencia ? current.InformacionReferencia.Numero\\r\\n : ''}}\\r\\n
Razon: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total :\\r\\n \\r\\n {{this.moneda}} {{current.ResumenFactura.TotalVenta |\\r\\n currency:\\\"\\r\\n \\\" }}\\r\\n
\\r\\n Impuesto :\\r\\n {{this.moneda}} {{current.ResumenFactura.TotalImpuesto |\\r\\n currency:\\\"\\r\\n \\\"}}
\\r\\n TOTAL :\\r\\n {{this.moneda}} {{current.ResumenFactura.TotalComprobante |\\r\\n currency:\\\"\\r\\n \\\"}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/notasCredito/notasCredito.html\n// module id = ../../../../../src/app/notasCredito/notasCredito.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n\r\n@Component({\r\n selector: 'debito',\r\n templateUrl: './notasDebito.html'\r\n})\r\nexport class Debito implements OnInit {\r\n public facturas: any = [];\r\n public moneda: any = '';\r\n public current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": new Date(),\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\",\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TipoCambio\": \"\",\r\n \"TotalServGravados\": 0.0,\r\n \"TotalServExentos\": 0,\r\n \"TotalMercanciasGravadas\": 0.0,\r\n \"TotalMercanciasExentas\": 0.0,\r\n \"TotalGravado\": 0.0,\r\n \"TotalExento\": 0.0,\r\n \"TotalVenta\": 0.0,\r\n \"TotalVentaNeta\": 0.0,\r\n \"TotalImpuesto\": 0.0,\r\n \"TotalComprobante\": 0.0\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n\r\n constructor(private service: AppService) { }\r\n\r\n select(fact, index) {\r\n this.current = fact;\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n jQuery('.list-item').removeClass('active');\r\n jQuery('#fact-' + index).addClass('active');\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarFacturas();\r\n }\r\n\r\n cargarFacturas(){\r\n let today = this.convertUTCDateToLocalDate(new Date());\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = \"/#\";\r\n } else {\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if(sessionStorage.getItem('casamatriz')){\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n this.service.getDebitos({\r\n Identificacion: ident,\r\n FechaInicio: this.convertUTCDateToLocalDate(new Date(new Date().setDate(today.getDate() - 180))),\r\n FechaFin: today,\r\n NumeroPagina: 1,\r\n TamanoPagina: 10,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n this.facturas = data.DocumentosElectronicos;\r\n\r\n this.current = this.facturas[0];\r\n if (this.current) {\r\n this.facturas.map((item,index) => {\r\n item.FechaEmision = this.convertUTCDateToLocalDate(new Date(item.FechaEmision));\r\n if(item.ClaveNotaCredito && !item.ClaveNotaDebito){\r\n item.Estado = item.Estado + \" (NC)\";\r\n }\r\n if(item.ClaveNotaDebito && !item.ClaveNotaCredito){\r\n item.Estado = item.Estado + \" (ND)\";\r\n }\r\n if(item.ClaveNotaDebito && item.ClaveNotaCredito){\r\n item.Estado = item.Estado + \" (NC-ND)\";\r\n }\r\n });\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n }else{\r\n window.location.href = 'notas-debito/nueva';\r\n }\r\n }, (err) => { window.loading.hidePreloader(); });\r\n }\r\n return false;\r\n }\r\n\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n \r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n print(){\r\n window.AppSidebar.close(); \r\n window.print();\r\n return false;\r\n }\r\n duplicate(como){\r\n sessionStorage.setItem('tempInvo', JSON.stringify(this.current));\r\n if (como === 'credito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 'notas-credito/nueva';\r\n return false;\r\n }else{\r\n sessionStorage.setItem('tempInvo', JSON.stringify(this.current));\r\n window.location.href = 'facturacion/nueva';\r\n return false; \r\n } \r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/notasDebito/Debito.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Nota Débito # {{current.NumeroConsecutivo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{current ? current.Emisor.NombreComercial : ''}}\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' : 'Cédula Jurídica'\\r\\n }}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono: ({{current.Emisor.Telefono.CodigoPais}}) {{current.Emisor.Telefono.NumTelefono}}\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Cliente: {{current.Receptor ? current.Receptor.Nombre : ''}}\\r\\n
\\r\\n {{current.Receptor && current.Receptor.Identificacion ? current.Receptor.Identificacion.Tipo\\r\\n == '01' ? 'Cédula' : 'Cédula Jurídica': 'Cédula' }}: {{current.Receptor\\r\\n && current.Receptor.Identificacion.Numero ? current.Receptor.Identificacion.Numero\\r\\n : '' }}\\r\\n
\\r\\n Correo: {{current.Receptor ? current.Receptor.CorreoElectronico\\r\\n : ''}}\\r\\n
\\r\\n Teléfono: ({{current.Receptor ? (current.Receptor.Telefono ? current.Receptor.Telefono.CodigoPais : '')\\r\\n : ''}}) {{current.Receptor ? (current.Receptor.Telefono ? current.Receptor.Telefono.NumTelefono : '') : ''}}\\r\\n
\\r\\n Dirección: {{direccionReceptor}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}} \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | date:'dd MMM yyyy hh:mm:ss\\r\\n a'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescripciónCantidadPrecioImpuestoTotal
\\r\\n
\\r\\n {{item.CodigoComercial && item.CodigoComercial.Codigo == '10000' ? 'Venta por Servicios' : 'Venta\\r\\n por Mercadría'}}\\r\\n
\\r\\n {{item.Detalle}}\\r\\n
{{item.Cantidad}}{{this.moneda}} {{item.PrecioUnitario | currency:\\\" \\\"}}{{this.moneda}} {{item.Impuestos.Impuesto[0].Monto | currency:\\\" \\\"}}{{this.moneda}} {{item.MontoTotalLinea | currency:\\\" \\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n

\\r\\n Documento de referencia: {{current.InformacionReferencia ? current.InformacionReferencia.Numero : ''}}\\r\\n
Razon: {{current.InformacionReferencia ? current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ? current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total :\\r\\n \\r\\n {{this.moneda}} {{current.ResumenFactura.TotalVenta | currency:\\\"\\r\\n \\\" }}\\r\\n
\\r\\n Impuesto :\\r\\n {{this.moneda}} {{current.ResumenFactura.TotalImpuesto | currency:\\\"\\r\\n \\\"}}
\\r\\n TOTAL :\\r\\n {{this.moneda}} {{current.ResumenFactura.TotalComprobante | currency:\\\"\\r\\n \\\"}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/notasDebito/notasDebito.html\n// module id = ../../../../../src/app/notasDebito/notasDebito.html\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
Reportes
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Facturas enviadas y confirmadas

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Reporte D-151

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/reportes/reportes.html\n// module id = ../../../../../src/app/reportes/reportes.html\n// module chunks = main","import { OnInit, Component } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { AppService } from \"../app.service\";\r\nimport { Util } from \"../util\";\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'reportes',\r\n templateUrl: './reportes.html'\r\n})\r\nexport class Reportes implements OnInit {\r\n\r\n years : Array; \r\n tipoReporte: string = \"1\";\r\n mesRep: string = \"01\";\r\n cedula: string = \"0\";\r\n yearRep: number = 0;\r\n util : Util = new Util();\r\n fechaInicio: any;\r\n fechaFin: any;\r\n maximoMercancia: Number;\r\n maximoServicio: number;\r\n\r\n constructor(private route: ActivatedRoute, private service: AppService){ \r\n }\r\n\r\n ngOnInit(): void {\r\n this.years = new Array();\r\n this.yearRep = new Date().getFullYear();\r\n let mes : number = new Date().getMonth();\r\n this.mesRep = mes < 10 ? \"0\" + mes : mes.toString();\r\n this.cedula = sessionStorage.getItem('em');\r\n this.fechaInicio = (new Date().getFullYear() -1) + \"-10-01\"; \r\n this.fechaFin = new Date().getFullYear() + \"-09-30\";\r\n this.maximoMercancia = 2500000;\r\n this.maximoServicio = 50000;\r\n\r\n for(let y=2018; y <= this.yearRep; y++)\r\n {\r\n this.years.push(y);\r\n }\r\n\r\n }\r\n\r\n getReporte() {\r\n\r\n var casaMatriz = \"001\";\r\n if(sessionStorage.getItem('casamatriz')){\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n let base64 = this.util.SHA256(this.cedula).substring(0, 15);\r\n\r\n if(this.tipoReporte === \"1\"){\r\n window.open(this.service.API + \"consultarFactura/GetEnviadasPorMes?cedula=\" + this.cedula + \"-\" + casaMatriz + \"&anno=\" + this.yearRep + \"&mes=\" + this.mesRep + \"&token=\" + base64);\r\n }\r\n\r\n if(this.tipoReporte === \"2\"){\r\n window.open(this.service.API + \"consultarFactura/GetConfirmadasPorMes?cedula=\" + this.cedula + \"&anno=\" + this.yearRep + \"&mes=\" + this.mesRep + \"&token=\" + base64);\r\n }\r\n \r\n return false;\r\n }\r\n\r\n getReporteD151() {\r\n\r\n \r\n let base64 = this.util.SHA256(this.cedula).substring(0, 15);\r\n window.open(this.service.API + \"consultarFactura/GetD151Report?cedula=\" + this.cedula + \"&fechaInicio=\" + this.fechaInicio + \"&fechaFin=\" + this.fechaFin + \"&montoMaxiMercancias=\" + this.maximoMercancia + \"&montoMaxServicios=\" + this.maximoServicio + \"&token=\" + base64);\r\n\r\n return false;\r\n }\r\n \r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/reportes/reportes.ts","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { _localeFactory } from '@angular/core/src/application_module';\r\nimport 'datatables.net';\r\nimport 'datatables.net-dt/css/jquery.dataTables.css';\r\nimport * as $ from 'jquery';\r\nimport { Impuestos } from '../facturacion/impuestos';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n@Component({\r\n selector: 'tiquete-nuevo',\r\n templateUrl: './tiquete.html',\r\n styleUrls: ['./tiquete.css']\r\n})\r\nexport class TiqueteNuevo implements OnInit {\r\n titulo: string = window.location.pathname == '/tiquete/nuevo' ? 'Tiquete' : 'Nota';\r\n taxStatus: boolean = false; //Con impuestos\r\n identificacionCliente: any = '';\r\n nombreCliente: any = '';\r\n tipoIdentificacion: any = '01';\r\n telefonoCliente: any = '';\r\n correoCliente: any = '';\r\n otroImpuesto: boolean = false;\r\n emisorId: any = 0;\r\n dataTable: any;\r\n inicializarTabla: boolean = true;\r\n impIncluido: boolean = false;\r\n actividadesEconomicas: any = [];\r\n\r\n invo: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": \"\",\r\n \"Emisor\": null,\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"01\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0.00\r\n },\r\n \"TotalServGravados\": 0.00,\r\n \"TotalServExentos\": 0.00,\r\n \"TotalServExonerado\":0.00,\r\n \"TotalMercanciasGravadas\": 0.00,\r\n \"TotalMercanciasExentas\": 0.00,\r\n \"TotalMercExonerada\":0.00,\r\n \"TotalGravado\": 0.00,\r\n \"TotalExento\": 0.00,\r\n \"TotalVenta\": 0.00,\r\n \"TotalDescuentos\":0.00,\r\n \"TotalIvaDevuelto\": 0.00,\r\n \"TotalVentaNeta\": 0.00,\r\n \"TotalOtrosCargos\":0.00,\r\n \"TotalImpuesto\": 0.00,\r\n \"TotalComprobante\": 0.00\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n items: any = [\r\n {\r\n \"NumeroLinea\": 1,\r\n \"CodigoComercial\": {\r\n \"Id\": 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": \"10000\"\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.00,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"tarifas\": this.impuestos.valores[0].tarifas\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n ];\r\n\r\n impuestosLista: any = [{\r\n \"Codigo\": \"99\",\r\n \"Tarifa\": \"0\",\r\n \"Label\": \"Otro\"\r\n },\r\n {\r\n \"Codigo\": \"01\",\r\n \"Tarifa\": \"13\",\r\n \"Label\": \"Imp. Ventas\"\r\n }\r\n ];\r\n\r\n receptores: any = [{\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": '',\r\n }];\r\n\r\n loading: any = false;\r\n parser = new DOMParser();\r\n constructor(private impuestos:Impuestos, private service: AppService, private chRef: ChangeDetectorRef) {}\r\n ngOnInit() {\r\n this.tipoIdentificacion = '01';\r\n let now: Date = this.convertUTCDateToLocalDate(new Date());\r\n var day = (\"0\" + now.getDate()).slice(-2);\r\n var month = (\"0\" + (now.getMonth() + 1)).slice(-2);\r\n var today = now.getFullYear() + \"-\" + (month) + \"-\" + (day);\r\n var tempInvo = sessionStorage.getItem('tempInvo');\r\n if (tempInvo) {\r\n this.invo = JSON.parse(tempInvo);\r\n this.invo.NumeroConsecutivo = \"\";\r\n this.items = this.invo.DetalleServicio.LineaDetalle;\r\n if (!this.invo.Otros) {\r\n this.invo.Otros = { \"OtroTexto\": \"\" }\r\n }\r\n this.items.map((item, i)=>{\r\n this.calcTax(i,item);\r\n });\r\n sessionStorage.removeItem('tempInvo');\r\n }\r\n\r\n /**\r\n * Verificamos si es credito o debito\r\n */\r\n var tempNota = sessionStorage.getItem('tempNota');\r\n if (tempNota) {\r\n this.invo.InformacionReferencia = {\r\n Numero: tempNota\r\n };\r\n sessionStorage.removeItem('tempNota');\r\n //this.invo.Clave = sessionStorage.getItem('tempNotaClave');\r\n sessionStorage.removeItem('tempNotaClave');\r\n } else {\r\n if (window.location.pathname != '/facturacion/nueva') {\r\n this.invo.InformacionReferencia = {};\r\n }\r\n }\r\n\r\n if (this.invo.Receptor) {\r\n if (this.invo.Receptor.Identificacion && this.invo.Receptor.Identificacion.Numero) {\r\n this.identificacionCliente = this.invo.Receptor.Identificacion.Numero;\r\n this.tipoIdentificacion = this.invo.Receptor.Identificacion.Tipo;\r\n }\r\n this.nombreCliente = this.invo.Receptor.Nombre;\r\n if (this.invo.Receptor.NumTelefono) {\r\n this.telefonoCliente = this.invo.Receptor.Telefono.NumTelefono;\r\n }\r\n if (this.invo.Receptor.CorreoElectronico) {\r\n this.correoCliente = this.invo.Receptor.CorreoElectronico;\r\n }\r\n }\r\n\r\n setTimeout(function () {\r\n jQuery('#fech-fact').val(today);\r\n }, 1000);\r\n let self = this;\r\n window.loading.showPreloader();\r\n this.service.getEmisor(this.service.user.username, (emisor) => {\r\n window.loading.hidePreloader();\r\n let emi = sessionStorage.getItem('em'); \r\n this.service.traeActividadesEconomicasEmisor(emi,(acts)=>{\r\n if(acts.length === 0){\r\n alert(\"Es necesario agregar actividades económicas.\")\r\n window.location.href = 'emisor';\r\n return;\r\n }\r\n this.invo.CodigoActividad = acts[0].CodigoActividad;\r\n this.actividadesEconomicas = acts;\r\n }, ()=>{});\r\n\r\n if (emisor.Id) {\r\n this.emisorId = emisor.Id;\r\n this.invo.Emisor = {\r\n \"Identificacion\": {\r\n \"Numero\": emisor.Identificacion.Numero,\r\n \"Tipo\": emisor.Identificacion.Tipo,\r\n },\r\n \"Nombre\": emisor.Nombre,\r\n \"NombreComercial\": emisor.NombreComercial,\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": emisor.Ubicacion.OtrasSenas\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": emisor.Telefono.NumTelefono\r\n },\r\n \"CorreoElectronico\": emisor.CorreoElectronico\r\n };\r\n jQuery(document).ready(function () {\r\n var datepicker = jQuery('#fecha-factura').datepicker({\r\n uiLibrary: 'bootstrap',\r\n format: \"dd/mm/yyyy\",\r\n language: \"es-es\",\r\n locale: \"es-es\",\r\n date: self.convertUTCDateToLocalDate(new Date())\r\n });\r\n jQuery(\"#fecha-factura\").val(self.getDateFormatDateUI(self.convertUTCDateToLocalDate(new Date())));\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n });\r\n } else {\r\n window.location.href = 'emisor';\r\n }\r\n }, (err) => {\r\n window.loading.hidePreloader();\r\n if (err.status == 401) {\r\n sessionStorage.removeItem('username');\r\n sessionStorage.removeItem('tk');\r\n sessionStorage.removeItem('em');\r\n window.location.href = '/#';\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n cambioTarifa(inx, item, imp, tar){\r\n imp.tarifas.map((t)=>{\r\n if(t.codigo == tar){\r\n imp.CodigoTarifa = tar;\r\n imp.Tarifa = t.tarifa; \r\n }\r\n });\r\n this.calcTax(inx, item);\r\n }\r\n\r\n validarDetalle(detalle, event: Event) {\r\n var target = event.srcElement;\r\n\r\n if (String(detalle).trim() == '') {\r\n target.classList.add('required');\r\n return false;\r\n }\r\n else {\r\n target.classList.remove('required');\r\n }\r\n }\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n \r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n\r\n setImpuestoIncluido(index, _item){\r\n if (this.impIncluido) {\r\n this.onClickSelectTax(\"01\", index, _item);\r\n }else{\r\n this.onClickSelectTax(\"99\", index, _item);\r\n }\r\n }\r\n\r\n addItem(numero, tipo) {\r\n this.items.push(\r\n {\r\n \"NumeroLinea\": \"\",\r\n \"CodigoComercial\": {\r\n \"Id\": this.items.length + 1,\r\n \"Tipo\": '01',\r\n \"Codigo\": tipo\r\n },\r\n \"Cantidad\": 1.0,\r\n \"UnidadMedida\": \"Unid\",\r\n \"UnidadMedidaComercial\": \"Unidad\",\r\n \"Detalle\": \"\",\r\n \"PrecioUnitario\": 0.0,\r\n \"MontoTotal\": 0.0,\r\n \"SubTotal\": 0.0,\r\n \"ImpuestoNeto\": 0.0,\r\n \"BaseImponible\": 0.00,\r\n \"Impuestos\": {\r\n \"Impuesto\": [{\r\n \"Codigo\": \"01\",\r\n \"CodigoTarifa\": \"08\",\r\n \"Tarifa\": 13,\r\n \"Monto\": 0,\r\n \"tarifas\": this.impuestos.valores[0].tarifas\r\n }]\r\n },\r\n \"MontoTotalLinea\": 0.0\r\n }\r\n )\r\n setTimeout(() => {\r\n jQuery('.dropdown-menu-imp').click(function(e) {\r\n e.stopPropagation();\r\n });\r\n }, 1000);\r\n \r\n }\r\n removeItem(numero) {\r\n this.items.splice(numero, 1);\r\n this.calInvo(false);\r\n }\r\n\r\n validateEmail(email) {\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n\r\n create(event: Event) {\r\n let errortag: boolean = false;\r\n this.calInvo(true);\r\n \r\n if (!this.invo.Receptor) {\r\n this.invo.Receptor = {};\r\n }\r\n\r\n if (this.invo.CondicionVenta == \"02\") {\r\n this.invo.PlazoCredito = \"30\";\r\n }\r\n if (this.invo.ResumenFactura.TotalComprobante == 0) {\r\n alert(\"Algo anda mal, el total de la factura no puede ser 0.\");\r\n return false;\r\n }\r\n if (!this.invo.Receptor.Telefono || !this.invo.Receptor.Telefono.NumTelefono) {\r\n delete this.invo.Receptor.Telefono;\r\n }\r\n\r\n this.invo.ResumenFactura.TipoCambio = this.invo.ResumenFactura.TipoCambio ? this.invo.ResumenFactura.TipoCambio : 0;\r\n if (this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda != 'CRC' && !confirm(\"El tipo de cambio se enviará en \" + this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio + \", ¿está seguro?\")) {\r\n return false;\r\n }\r\n\r\n this.items.forEach(element => {\r\n if (String(element.Detalle).trim() == '' || element.MontoTotalLinea < 0) {\r\n errortag = true;\r\n }\r\n });\r\n if (errortag) {\r\n alert(\"Algo anda mal, Debe proporcionar el detalle de los productos y verificar el monto de la factura.\");\r\n return;\r\n }\r\n \r\n this.invo.Receptor = null; \r\n delete this.invo.DocumentoFirmado;\r\n delete this.invo.SituacionDocumento;\r\n\r\n this.invo.FechaEmision = this.getDateFormat(jQuery(\"#fecha-factura\").val());\r\n\r\n if (!this.invo.FechaEmision) {\r\n alert(\"Algo anda mal, la fecha debe ser menor a la fecha actual.\");\r\n return false;\r\n }\r\n\r\n if (this.titulo == 'Nota') {\r\n if (!this.invo.InformacionReferencia.Numero) {\r\n alert(\"El número de referencia es requerido.\");\r\n return false;\r\n }\r\n if (!this.invo.InformacionReferencia.Razon) {\r\n alert(\"La razón por crear la nota es requerido.\");\r\n return false;\r\n }\r\n if (window.location.pathname == '/t-notas-credito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = '01';\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaCredito();\r\n }\r\n if (window.location.pathname == '/t-notas-debito/nueva') {\r\n this.invo.InformacionReferencia.Codigo = 99;\r\n this.invo.InformacionReferencia.TipoDoc = '99';\r\n this.invo.InformacionReferencia.FechaEmision = this.invo.FechaEmision;\r\n this.createNotaDebito();\r\n }\r\n return false;\r\n }\r\n if (this.identificacionCliente && !this.tipoIdentificacion) {\r\n alert(\"El tipo de identificación del cliente es requerido.\");\r\n return false;\r\n }\r\n\r\n this.invo.InformacionReferencia = null;\r\n this.invo.Clave = null;\r\n\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n this.service.creaTiquete(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n\r\n if (String(JSON.stringify([resp.errormessage])).startsWith(\"El servidor de Hacienda ATV esta fuera de linea\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(\"Ha ocurrido un error, favor verificar si el documento fue creado. Antes de intentarlo nuevamente verifique los datos de su factura y su coneccion a internet. Por último refresque la aplicación\");\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'tiquetes';\r\n }\r\n }, (err) => {\r\n if (String(JSON.stringify([err])).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su factura quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(JSON.stringify([err]));\r\n }\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n getDateFormat(date) {\r\n date = this.convertUTCDateToLocalDate(new Date(date.split('/').reverse().join('/')));\r\n if (!date || date == 'Invalid Date') {\r\n return false;\r\n }\r\n if (date > this.convertUTCDateToLocalDate(new Date())) {\r\n return false;\r\n }\r\n var hours = this.convertUTCDateToLocalDate(new Date());\r\n return date.getFullYear() +\r\n '-' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1)) +\r\n '-' + (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) +\r\n 'T' + (hours.getHours() < 10 ? '0' + (hours.getHours()) : hours.getHours()) +\r\n ':' + (hours.getMinutes() < 10 ? '0' + (hours.getMinutes()) : hours.getMinutes()) +\r\n ':00';\r\n }\r\n getDateFormatDateUI(date) {\r\n return (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate()) +\r\n '/' + ((date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) +\r\n '/' + date.getFullYear();\r\n }\r\n\r\n cambioTipoImpuesto(value, imp){\r\n this.impuestos.valores.map((im)=>{\r\n if(value == im.codigo) {\r\n imp.tarifas = im.tarifas;\r\n }\r\n }); \r\n }\r\n\r\n calcSubTotalType(index, item, monto) { \r\n if(isNaN(item.PrecioUnitario) || isNaN(monto)){\r\n item.PrecioUnitario = 0;\r\n monto = 0;\r\n }\r\n var impuesto = 0;\r\n if(item.Impuestos){\r\n impuesto = (parseFloat(item.Impuestos.Impuesto[0]['Tarifa']) || 0) / 100;\r\n }\r\n item.PrecioUnitario = ((monto * 100) / ((impuesto * 100) + 100)) / item.Cantidad;\r\n this.calcTax(index, item);\r\n }\r\n\r\n createNotaCredito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createCredito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de crédito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-credito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n createNotaDebito() {\r\n window.loading.showPreloader();\r\n this.loading = true;\r\n\r\n this.invo.Clave = null;\r\n var casaMatriz = sessionStorage.getItem('casamatriz');\r\n\r\n if (casaMatriz) {\r\n this.invo.NumeroConsecutivo = casaMatriz;\r\n }\r\n else {\r\n this.invo.NumeroConsecutivo = '001'\r\n }\r\n\r\n this.service.createDebito(this.invo, (resp) => {\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n if (resp && resp.errormessage) {\r\n if (String(resp.errormessage).startsWith(\"ATV retorno HTTP status code\")) {\r\n alert(\"El servicio de ATV de Hacienda NO responde, su nota de débito quedará pendiente de enviar hasta que el servicio se restablesca por parte de Hacienda.\");\r\n }\r\n else {\r\n alert(resp.errormessage);\r\n }\r\n } else {\r\n alert(\"Documento Creado Satisfactoriamente.\");\r\n window.location.href = 'notas-debito';\r\n }\r\n }, (err) => {\r\n alert(err.error.ExceptionMessage);\r\n window.loading.hidePreloader();\r\n this.loading = false;\r\n });\r\n\r\n }\r\n\r\n calInvo(creando) {\r\n let TotalServGravados = 0.0;\r\n let TotalServExentos = 0.0;\r\n\r\n let TotalMercanciasGravadas = 0.0;\r\n let TotalMercanciasExentas = 0.0;\r\n\r\n let TotalGravado = 0.0;\r\n let TotalExento = 0.0;\r\n\r\n let TotalVenta = 0.0;\r\n let TotalVentaNeta = 0.0;\r\n\r\n let TotalImpuesto = 0.0;\r\n let TotalComprobante = 0.0;\r\n /**\r\n * Se generan los totales\r\n */\r\n this.invo.DetalleServicio.LineaDetalle = this.items.map((item, index) => {\r\n\r\n item.NumeroLinea = index + 1;\r\n item.PrecioUnitario = parseFloat(item.PrecioUnitario).toFixed(2);\r\n\r\n\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n impuesto.Tarifa = impuesto.Tarifa ? parseFloat(impuesto.Tarifa) : 0;\r\n });\r\n }\r\n\r\n /**\r\n * Es de tipo Mercadería\r\n */\r\n var exento = false;\r\n\r\n if (item.CodigoComercial.Codigo == '10001') {\r\n item.UnidadMedida = 'Unid';\r\n item.UnidadMedidaComercial = 'Unidad';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') {\r\n TotalMercanciasExentas += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n TotalMercanciasGravadas += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n });\r\n }\r\n /** Tipo Servicio*/\r\n } else {\r\n item.UnidadMedida = 'Sp';\r\n item.UnidadMedidaComercial = 'Sp';\r\n /** Si tiene impuesto */\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Codigo == '00') { \r\n TotalServExentos += (item.Cantidad * item.PrecioUnitario);\r\n exento = true;\r\n } else {\r\n TotalServGravados += (item.Cantidad * item.PrecioUnitario);\r\n TotalImpuesto += parseFloat(impuesto.Monto);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if(exento && creando){\r\n item.Impuestos = null;\r\n }\r\n\r\n item.BaseImponible = item.MontoTotal;\r\n if (!item) {\r\n return false;\r\n }\r\n return item;\r\n });\r\n\r\n TotalExento = TotalServExentos + TotalMercanciasExentas;\r\n \r\n TotalGravado = TotalServGravados + TotalMercanciasGravadas;\r\n TotalVenta += TotalExento + TotalGravado;\r\n /**\r\n * TODO: DESCUENTOS AUN NO SE APLICAN DESCUENTOS\r\n */\r\n TotalVentaNeta += TotalExento + TotalGravado;\r\n TotalComprobante += TotalVentaNeta + TotalImpuesto;\r\n\r\n this.invo.ResumenFactura.TotalServGravados = TotalServGravados.toFixed(2);\r\n this.invo.ResumenFactura.TotalServExentos = TotalServExentos.toFixed(2);\r\n\r\n this.invo.ResumenFactura.TotalMercanciasGravadas = TotalMercanciasGravadas.toFixed(2);\r\n this.invo.ResumenFactura.TotalMercanciasExentas = TotalMercanciasExentas.toFixed(2);\r\n\r\n //if(this.invo.ResumenFactura.TotalMercanciasGravadas == 0){\r\n // delete this.invo.ResumenFactura.TotalMercanciasGravadas;\r\n //}\r\n //if(this.invo.ResumenFactura.TotalMercanciasExentas == 0 && this.invo.ResumenFactura.TotalMercanciasGravadas == 0){\r\n // delete this.invo.ResumenFactura.TotalMercanciasExentas;\r\n //}\r\n\r\n this.invo.ResumenFactura.TotalGravado = TotalGravado.toFixed(2);\r\n this.invo.ResumenFactura.TotalExento = TotalExento.toFixed(2);\r\n this.invo.ResumenFactura.TotalVenta = TotalVenta.toFixed(2);\r\n this.invo.ResumenFactura.TotalVentaNeta = TotalVentaNeta.toFixed(2);\r\n this.invo.ResumenFactura.TotalImpuesto = TotalImpuesto.toFixed(2);\r\n this.invo.ResumenFactura.TotalComprobante = TotalComprobante.toFixed(2);\r\n }\r\n\r\n calcSubTotal(index, _item) {\r\n if(isNaN(_item.PrecioUnitario)){\r\n _item.PrecioUnitario = 0;\r\n }\r\n if(_item.Cantidad < 1){\r\n _item.Cantidad = 1;\r\n }\r\n\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(2);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(2); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n this.calcTax(index, _item);\r\n this.calInvo(false);\r\n }\r\n plus(index, item){\r\n item.Cantidad++;\r\n this.calcSubTotal(index, item);\r\n }\r\n minus(index, item){\r\n if (item.Cantidad > 1) {\r\n item.Cantidad--;\r\n this.calcSubTotal(index, item);\r\n } \r\n }\r\n calcPrice(index, _item) {\r\n let totalTarifa: any = 0.0;\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n totalTarifa += (parseFloat(impuesto.Tarifa) / 100);\r\n });\r\n }else{\r\n totalTarifa = 0;\r\n }\r\n\r\n var imp: any = (_item.MontoTotalLinea * totalTarifa).toFixed(2);\r\n var costo: any = (_item.MontoTotalLinea - imp);\r\n _item.PrecioUnitario = (costo / _item.Cantidad).toFixed(2);\r\n this.calInvo(false);\r\n }\r\n\r\n calcTax(index, _item) {\r\n\r\n\r\n let totalImpuestoMonto: any = 0.0;\r\n _item.MontoTotal = (parseFloat(_item.PrecioUnitario) * _item.Cantidad).toFixed(2);\r\n _item.SubTotal = (_item.MontoTotal - 0).toFixed(2); //**PENDIENTE TRABAJAR CON DESCUENTOS */\r\n\r\n if(_item.Impuestos){\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n if (impuesto.Tarifa >= 0) {\r\n impuesto.Monto = (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(2);\r\n totalImpuestoMonto += (_item.Cantidad * (parseFloat(_item.PrecioUnitario) * (parseFloat(impuesto.Tarifa) / 100))).toFixed(2);\r\n }\r\n else {\r\n totalImpuestoMonto += 0;\r\n }\r\n });\r\n }\r\n \r\n _item.ImpuestoNeto = parseFloat(totalImpuestoMonto); \r\n _item.MontoTotalLinea = (parseFloat(totalImpuestoMonto) + parseFloat(_item.SubTotal)).toFixed(2);\r\n this.calInvo(false);\r\n\r\n return _item;\r\n }\r\n\r\n //**Permiste habilitar y deshabiliar el campo del impuesto al mismo tiempo que calcula el impuesto cuando se selecciona un item */\r\n onClickSelectTax(tipoImpuesto, index, _item) {\r\n if (tipoImpuesto == \"99\") {\r\n $(\"#otroImpuesto_\" + index).show();\r\n }\r\n else {\r\n $(\"#otroImpuesto_\" + index).hide();\r\n }\r\n\r\n _item.Impuestos.Impuesto.map((impuesto, i) => {\r\n impuesto.Codigo = tipoImpuesto;\r\n\r\n switch (tipoImpuesto) {\r\n //**Impuesto General sobre las ventas */\r\n case \"01\": impuesto.Tarifa = 13;\r\n break;\r\n //**Impuesto Selectivo de Consumo */\r\n case \"02\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Unico a los combustivos */\r\n case \"03\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto especifico de bebidas alcoholicas */\r\n case \"04\": impuesto.Tarifa = 0;\r\n break;\r\n //**impuesto especifico sobre las bebidas envasadas sin contenido alcoholico y jabones de tocador */\r\n case \"05\": impuesto.Tarifa = 0;\r\n break;\r\n //**impuesto a los productos de tabaco */\r\n case \"06\": impuesto.Tarifa = 0;\r\n break;\r\n //**servicios */\r\n case \"07\": impuesto.Tarifa = 10;\r\n break;\r\n //**Impuesto General a las Ventas Diplomaticos */\r\n case \"08\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto General sobre Ventas compras autorizadas */\r\n case \"09\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto General sobre las ventas instituciones publicas y otros organismos */\r\n case \"10\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Selectivo de consumo compras autorizadas */\r\n case \"11\": impuesto.Tarifa = 0;\r\n break;\r\n //**Impuesto Especifico al Cemento */\r\n case \"12\": impuesto.Tarifa = 0;\r\n break;\r\n //**otro */\r\n case \"98\": impuesto.Tarifa = 0;\r\n break;\r\n //**otro */\r\n case \"99\": impuesto.Tarifa = 0;\r\n break;\r\n }\r\n\r\n });\r\n this.calcTax(index, _item);\r\n }\r\n\r\n cargarReceptores() {\r\n window.loading.showPreloader();\r\n this.service.getReceptores(this.emisorId, (receptores) => {\r\n window.loading.hidePreloader();\r\n if (receptores) {\r\n this.receptores = receptores;\r\n\r\n if (!this.inicializarTabla) {\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable();\r\n this.dataTable.destroy();\r\n }\r\n\r\n this.chRef.detectChanges();\r\n const table: any = $('#tbResults');\r\n this.dataTable = table.DataTable({\r\n \"language\": {\r\n \"lengthMenu\": \"Mostrar _MENU_ registros por página\",\r\n \"zeroRecords\": \"No hay registros\",\r\n \"info\": \"Mostrando pagina _PAGE_ de _PAGES_\",\r\n \"infoEmpty\": \"No registros disponibles\",\r\n \"infoFiltered\": \"(filtrados _MAX_ total de registros)\",\r\n \"search\": \"Buscar\",\r\n \"paginate\": {\r\n \"first\": \"Primera\",\r\n \"last\": \"Ultima\",\r\n \"next\": \"Siguiente\",\r\n \"previous\": \"Anterior\"\r\n },\r\n },\r\n \"scrollY\": \"200px\",\r\n \"paging\": false,\r\n \"order\": [[ 1, \"asc\" ]],\r\n });\r\n\r\n this.inicializarTabla = false;\r\n }\r\n }, () => { });\r\n }\r\n\r\n onSelectReceptor(item) {\r\n this.nombreCliente = item.Nombre;\r\n this.tipoIdentificacion = item.Identificacion.Tipo;\r\n this.identificacionCliente = item.Identificacion.Numero;\r\n this.correoCliente = item.CorreoElectronico != null ? item.CorreoElectronico : '';\r\n if (item.Telefono) {\r\n this.telefonoCliente = item.Telefono.NumTelefono;\r\n }\r\n else {\r\n this.telefonoCliente = '';\r\n }\r\n\r\n }\r\n\r\n onkeypressNumber(event) {\r\n if (event) {\r\n let target = event.currentTarget;\r\n var re = /[0-9]/;\r\n if (!re.test(String(event.key).toLowerCase())) {\r\n return false;\r\n }\r\n\r\n }\r\n }\r\n\r\n getTipoCambio(){\r\n if(this.invo.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == \"USD\"){\r\n window.loading.showPreloader();\r\n this.service.getTipoVentaDolar((data) =>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = data.venta;\r\n window.loading.hidePreloader();\r\n },\r\n (error)=>{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"0.0\";\r\n console.log(error);\r\n window.loading.hidePreloader();\r\n });\r\n }\r\n else{\r\n this.invo.ResumenFactura.CodigoTipoMoneda.TipoCambio = \"\";\r\n }\r\n \r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/tiquete/tiquete.component.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/tiquete/tiquete.css\n// module id = ../../../../../src/app/tiquete/tiquete.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ titulo }}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n done_allVenta de Mercadería\\r\\n \\r\\n done_allVenta de Servicios\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 1\\\" (click)=\\\"removeItem(index)\\\"\\r\\n data-toggle=\\\"tooltip\\\" title=\\\"Click para cambiar el tipo a Venta de Servicios\\\"\\r\\n data-placement=\\\"left\\\">\\r\\n \\r\\n delete_foreverEliminar Línea\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cantidad:
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Código Cabys: \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Precio Unitario:\\r\\n \\r\\n
\\r\\n
\\r\\n Impuestos:\\r\\n \\r\\n
\\r\\n
\\r\\n Total Linea:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total :\\r\\n {{invo.ResumenFactura.TotalVenta | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Ventas Exentas :\\r\\n {{invo.ResumenFactura.TotalExento | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n Impuestos :\\r\\n {{invo.ResumenFactura.TotalImpuesto | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n TOTAL :\\r\\n {{invo.ResumenFactura.TotalComprobante | currency:\\\" \\\" || \\\"0.00\\\"}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Número de referencia de factura (Clave).

\\r\\n
\\r\\n
\\r\\n \\r\\n

Razón al crear la nota.

\\r\\n
\\r\\n
\\r\\n \\r\\n

Actividad Económica

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/tiquete/tiquete.html\n// module id = ../../../../../src/app/tiquete/tiquete.html\n// module chunks = main","import { Sucursal } from './../models/sucursal';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppService } from '../app.service';\r\nimport { RouterLink, Router } from '@angular/router';\r\nimport { Impuestos } from '../facturacion/impuestos';\r\n\r\ndeclare var jQuery: any;\r\ndeclare var window: any;\r\n\r\n@Component({\r\n selector: 'tiquetes',\r\n templateUrl: 'tiquetes.html',\r\n styleUrls: ['./tiquete.css']\r\n})\r\nexport class Tiquetes implements OnInit {\r\n\r\n constructor(private impuestos: Impuestos, private router: Router, private service: AppService) { }\r\n\r\n public printContent: string;\r\n public facturas: any = [];\r\n public moneda: any = '';\r\n public telefonoReceptor = '';\r\n public direccionEmisor: string = '';\r\n public direccionReceptor: string = '';\r\n public medioPago: string = '';\r\n public current: any = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"CodigoActividad\":\"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": {\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\",\r\n },\r\n \"Nombre\": \"\",\r\n \"NombreComercial\": \"\",\r\n \"Ubicacion\": {\r\n \"OtrasSenas\": \"\",\r\n \"Provincia\": \"\",\r\n \"Canton\": \"\",\r\n \"Distrito\": \"\",\r\n \"Barrio\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\"\r\n },\r\n \"Receptor\": {\r\n \"Nombre\": \"\",\r\n \"Identificacion\": {\r\n \"Numero\": \"\",\r\n \"Tipo\": \"\"\r\n },\r\n \"Telefono\": {\r\n \"CodigoPais\": \"506\",\r\n \"NumTelefono\": \"\"\r\n },\r\n \"CorreoElectronico\": \"\",\r\n },\r\n \"CondicionVenta\": \"01\",\r\n \"PlazoCredito\": \"0\",\r\n \"MedioPago\": \"01\",\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": []\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": {\r\n \"CodigoMoneda\": \"CRC\",\r\n \"TipoCambio\": 0\r\n },\r\n \"TipoCambio\": \"\",\r\n \"TotalServGravados\": 0.0,\r\n \"TotalServExentos\": 0,\r\n \"TotalMercanciasGravadas\": 0.0,\r\n \"TotalMercanciasExentas\": 0.0,\r\n \"TotalGravado\": 0.0,\r\n \"TotalExento\": 0.0,\r\n \"TotalVenta\": 0.0,\r\n \"TotalVentaNeta\": 0.0,\r\n \"TotalImpuesto\": 0.0,\r\n \"TotalComprobante\": 0.0\r\n },\r\n \"Normativa\": {\r\n \"NumeroResolucion\": \"DGT-R-48-2016\",\r\n \"FechaResolucion\": \"2016-10-07 00:00:00\"\r\n },\r\n \"InformacionReferencia\": null,\r\n \"Otros\": {\r\n \"OtroTexto\": \"\"\r\n }\r\n };\r\n public sucursal: Sucursal = new Sucursal();\r\n\r\n select(fact, index) {\r\n this.current = fact;\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n }\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n jQuery('.list-item').removeClass('active');\r\n jQuery('#fact-' + index).addClass('active');\r\n }\r\n\r\n ngOnInit() {\r\n this.cargarFacturas();\r\n if (sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em'))) {\r\n this.sucursal = JSON.parse(sessionStorage.getItem(\"sucursal_\" + sessionStorage.getItem('em')));\r\n }\r\n else {\r\n this.sucursal.NombreComercial = '';\r\n }\r\n }\r\n\r\n cargarFacturas() {\r\n let today = this.convertUTCDateToLocalDate(new Date());\r\n let ident = sessionStorage.getItem('em');\r\n if (!ident) {\r\n window.location.href = \"/#\";\r\n } else {\r\n\r\n window.loading.showPreloader();\r\n var casaMatriz = \"001\";\r\n if (sessionStorage.getItem('casamatriz')) {\r\n casaMatriz = sessionStorage.getItem('casamatriz');\r\n }\r\n\r\n this.service.getTiquetes({\r\n Identificacion: ident,\r\n FechaInicio: this.convertUTCDateToLocalDate(new Date(new Date().setDate(today.getDate() - 15))),\r\n FechaFin: today,\r\n NumeroPagina: 1,\r\n TamanoPagina: 10,\r\n CasaMatriz: casaMatriz\r\n }, (data) => {\r\n window.loading.hidePreloader();\r\n this.facturas = data.DocumentosElectronicos;\r\n this.current = this.facturas[0];\r\n if (this.current) {\r\n this.facturas.map((item, index) => {\r\n item.FechaEmision = this.convertUTCDateToLocalDate(new Date(item.FechaEmision));\r\n if (item.ClaveNotaCredito && !item.ClaveNotaDebito) {\r\n item.Estado = item.Estado + \" (NC)\";\r\n }\r\n if (item.ClaveNotaDebito && !item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (ND)\";\r\n }\r\n if (item.ClaveNotaDebito && item.ClaveNotaCredito) {\r\n item.Estado = item.Estado + \" (NC-ND)\";\r\n }\r\n });\r\n this.onCargarDireccionEmisor(this.current.Emisor);\r\n\r\n this.moneda = this.current.ResumenFactura.CodigoTipoMoneda.CodigoMoneda == 'CRC' ? '₡' : '$';\r\n this.medioPago = 'Otro';\r\n switch (this.current.MedioPago) {\r\n case '01':\r\n this.medioPago = 'Efectivo';\r\n break;\r\n case '02':\r\n this.medioPago = 'Tarjeta';\r\n break;\r\n case '03':\r\n this.medioPago = 'Cheque';\r\n break;\r\n case '04':\r\n this.medioPago = 'Transferencia - Depósito Bancario';\r\n break;\r\n case '05':\r\n this.medioPago = 'Recaudo por Terceros';\r\n break;\r\n }\r\n\r\n if (this.current.Receptor) {\r\n this.onCargarDireccionReceptor(this.current.Receptor);\r\n if (this.current.Receptor.Telefono) {\r\n this.telefonoReceptor = \"(\" + this.current.Receptor.Telefono.CodigoPais + \") \" + this.current.Receptor.Telefono.NumTelefono;\r\n }\r\n }\r\n } else {\r\n window.location.href = 'facturacion/nueva';\r\n }\r\n }, (err) => { window.loading.hidePreloader(); });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n convertUTCDateToLocalDate(date: Date): Date {\r\n var n = date.getTimezoneOffset();\r\n\r\n if (n != 360) {\r\n var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n var hours = newDate.getHours();\r\n var locaDate = new Date(newDate.setHours(hours - 6));\r\n\r\n return locaDate;\r\n }\r\n\r\n return date;\r\n }\r\n print(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: false, tiquete:true } });\r\n\r\n return false;\r\n }\r\n\r\n printTicket(event) {\r\n\r\n sessionStorage.setItem('print', JSON.stringify(this.current));\r\n\r\n this.router.navigate(['./facturacion/vistaPrevia'], { queryParams: { ticket: true, tiquete:true } });\r\n\r\n return false;\r\n }\r\n\r\n duplicate(como) {\r\n if (this.current.Receptor && !this.current.Receptor.Identificacion) {\r\n this.current.Receptor.Identificacion = {\r\n Numero: '',\r\n Tipo: ''\r\n }\r\n }\r\n var lineas = this.current.DetalleServicio.LineaDetalle.map((item) => {\r\n\r\n /**\r\n * Se cargan las tarifas predefinidas.\r\n */\r\n var impuestos = [];\r\n if(item.Impuestos){\r\n item.Impuestos.Impuesto.map((imp) => {\r\n imp.tarifas = this.impuestos.valores[0].tarifas;\r\n impuestos.push(imp);\r\n });\r\n }else{\r\n impuestos = [{\r\n Codigo:\"00\",\r\n nombre:\"Exento\",\r\n tarifas:[{\r\n codigo: \"00\",\r\n nombre: \"Exento\",\r\n tarifa: 0\r\n }],\r\n CodigoTarifa: '00'\r\n }];\r\n }\r\n\r\n return {\r\n \"NumeroLinea\": item.NumeroLinea,\r\n \"Codigo\": item.Codigo,\r\n \"CodigoComercial\": item.CodigoComercial,\r\n \"Cantidad\": item.Cantidad,\r\n \"UnidadMedida\": item.UnidadMedida,\r\n \"UnidadMedidaComercial\": item.UnidadMedidaComercial,\r\n \"Detalle\": item.Detalle,\r\n \"PrecioUnitario\": item.PrecioUnitario,\r\n \"MontoTotal\": item.MontoTotal,\r\n \"SubTotal\": item.SubTotal,\r\n \"Impuestos\": {\r\n \"Impuesto\": impuestos\r\n },\r\n \"ImpuestoNeto\":item.ImpuestoNeto,\r\n \"MontoTotalLinea\": item.MontoTotalLinea\r\n }\r\n });\r\n\r\n var info = {\r\n \"NumeroConsecutivo\": \"\",\r\n \"FechaEmision\": this.convertUTCDateToLocalDate(new Date()),\r\n \"Emisor\": this.current.Emisor,\r\n \"Receptor\": null,\r\n \"CodigoActividad\": this.current.CodigoActividad,\r\n \"CondicionVenta\": this.current.CondicionVenta,\r\n \"PlazoCredito\": this.current.PlazoCredito,\r\n \"MedioPago\": this.current.MedioPago,\r\n \"DetalleServicio\": {\r\n \"LineaDetalle\": lineas\r\n },\r\n \"ResumenFactura\": {\r\n \"CodigoTipoMoneda\": this.current.ResumenFactura.CodigoTipoMoneda,\r\n \"TipoCambio\": this.current.ResumenFactura.TipoCambio,\r\n \"TotalServGravados\": this.current.ResumenFactura.TotalServGravados,\r\n \"TotalServExentos\": this.current.ResumenFactura.TotalServExentos,\r\n \"TotalMercanciasGravadas\": this.current.ResumenFactura.TotalMercanciasGravadas,\r\n \"TotalMercanciasExentas\": this.current.ResumenFactura.TotalMercanciasExentas,\r\n \"TotalGravado\": this.current.ResumenFactura.TotalGravado,\r\n \"TotalExento\": this.current.ResumenFactura.TotalExento,\r\n \"TotalVenta\": this.current.ResumenFactura.TotalVenta,\r\n \"TotalVentaNeta\": this.current.ResumenFactura.TotalVentaNeta,\r\n \"TotalImpuesto\": this.current.ResumenFactura.TotalImpuesto,\r\n \"TotalComprobante\": this.current.ResumenFactura.TotalComprobante\r\n },\r\n \"Normativa\": this.current.Normativa,\r\n \"InformacionReferencia\": this.current.InformacionReferencia,\r\n \"Otros\": {\r\n \"OtroTexto\": this.current.Otros ? this.current.Otros.OtroTexto : ''\r\n }\r\n };\r\n\r\n if (this.current.Receptor) {\r\n info.Receptor = {\r\n \"Nombre\": this.current.Receptor.Nombre,\r\n \"Identificacion\": this.current.Receptor.Identificacion,\r\n \"Telefono\": this.current.Receptor ? this.current.Receptor.Telefono : { Telefono: {} },\r\n \"CorreoElectronico\": this.current.Receptor.CorreoElectronico\r\n }\r\n }\r\n sessionStorage.setItem('tempInvo', JSON.stringify(info));\r\n if (como === 'credito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 't-notas-credito/nueva';\r\n return false;\r\n }\r\n if (como === 'debito') {\r\n sessionStorage.setItem('tempNota', this.current.Clave);\r\n window.location.href = 't-notas-debito/nueva';\r\n return false;\r\n }\r\n window.location.href = 'tiquete/nuevo';\r\n return false;\r\n }\r\n\r\n onCargarDireccionEmisor(emisor: any): void {\r\n this.service.getDireccionEmisor(emisor.Id, (direccion) => {\r\n if(this.sucursal != null && this.sucursal.Direccion != ''){\r\n this.direccionEmisor = this.sucursal.Direccion;\r\n }\r\n else{\r\n if (direccion) {\r\n this.direccionEmisor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionEmisor += (emisor.Ubicacion.OtrasSenas ? (\", \" + emisor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n }\r\n }, () => { });\r\n }\r\n\r\n onCargarDireccionReceptor(receptor: any): void {\r\n this.service.getDireccionReceptor(receptor.Id, (direccion) => {\r\n if (direccion.NombreProvincia && direccion.NombreCanto != '') {\r\n this.direccionReceptor = direccion.NombreProvincia + ', ' + direccion.NombreCanto + ', ' + direccion.NombreDistrito + ', ' + direccion.NombreBarrio;\r\n this.direccionReceptor += (receptor.Ubicacion.OtrasSenas ? (\", \" + receptor.Ubicacion.OtrasSenas) : \"\");\r\n }\r\n else {\r\n this.direccionReceptor = \"\";\r\n }\r\n }, () => { });\r\n }\r\n\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/tiquete/tiquetes.components.ts","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Factura # {{current.NumeroConsecutivo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{this.sucursal ? this.sucursal.NombreComercial\\r\\n : ''}}\\r\\n
\\r\\n {{current.Emisor.Nombre}}\\r\\n
\\r\\n {{current.Emisor && current.Emisor.Identificacion ? \\r\\n current.Emisor.Identificacion.Tipo == '01' ? 'Cédula' : current.Emisor.Identificacion.Tipo\\r\\n == '02' ? 'Cédula Jurídica' : 'Dimex' : 'Cédula'}}: {{current.Emisor.Identificacion.Numero}}\\r\\n
\\r\\n Teléfono: ({{current.Emisor.Telefono.CodigoPais}})\\r\\n {{current.Emisor.Telefono.NumTelefono}}\\r\\n
\\r\\n Correo: {{current.Emisor.CorreoElectronico}}\\r\\n
\\r\\n Dirección: {{direccionEmisor}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Clave Hacienda: \\r\\n {{current.Clave ? current.Clave : ''}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Fecha Emisión: {{current.FechaEmision | utcDate}}\\r\\n \\r\\n
\\r\\n \\r\\n Condición de Venta: {{current.CondicionVenta == '01' ? 'Contado' : 'Crédito'}}, \\r\\n \\r\\n \\r\\n Plazo Crédito: {{current.PlazoCredito}} días, \\r\\n \\r\\n \\r\\n Medio de pago: {{ medioPago }} \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescripciónCantidadPrecioImpuestoTotal
\\r\\n
\\r\\n {{item.CodigoComercial && item.CodigoComercial.Codigo == '10000' ? 'Venta por\\r\\n Servicios' : 'Venta\\r\\n por Mercadría'}}\\r\\n
\\r\\n {{item.Detalle}}\\r\\n
{{ item.Cantidad }}{{ item.PrecioUnitario | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\" }}{{ item.Impuestos.Impuesto[0].Monto | currency:this.moneda ==\\r\\n \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}0.00{{item.MontoTotalLinea | currency:this.moneda == \\\"$\\\" ? \\\"$\\\" :\\r\\n \\\"₡\\\"}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Resumen\\r\\n

\\r\\n Notas adicionales: {{current.Otros ?\\r\\n current.Otros.OtroTexto : ''}}\\r\\n

\\r\\n

\\r\\n Documento de referencia:\\r\\n {{current.InformacionReferencia ? current.InformacionReferencia.Numero\\r\\n : ''}}\\r\\n
Razon: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.Razon : ''}}\\r\\n
Fecha: {{current.InformacionReferencia ?\\r\\n current.InformacionReferencia.FechaEmision : ''}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Sub Total:\\r\\n \\r\\n {{current.ResumenFactura.TotalVenta | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}\\r\\n
\\r\\n Impuesto:\\r\\n {{current.ResumenFactura.TotalImpuesto |\\r\\n currency:this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\"}}
\\r\\n TOTAL:\\r\\n {{current.ResumenFactura.TotalComprobante | currency:\\r\\n this.moneda == \\\"$\\\" ? \\\"$\\\" : \\\"₡\\\" }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/Code/ApiWeb/src/app/tiquete/tiquetes.html\n// module id = ../../../../../src/app/tiquete/tiquetes.html\n// module chunks = main","export class Util{\r\n public SHA256(s) {\r\n var chrsz = 8;\r\n var hexcase = 0;\r\n function safe_add(x, y) {\r\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\r\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r\n return (msw << 16) | (lsw & 0xFFFF);\r\n }\r\n function S(X, n) { return (X >>> n) | (X << (32 - n)); }\r\n function R(X, n) { return (X >>> n); }\r\n function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }\r\n function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }\r\n function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }\r\n function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }\r\n function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }\r\n function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }\r\n function core_sha256(m, l) {\r\n var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);\r\n var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);\r\n var W = new Array(64);\r\n var a, b, c, d, e, f, g, h, i, j;\r\n var T1, T2;\r\n m[l >> 5] |= 0x80 << (24 - l % 32);\r\n m[((l + 64 >> 9) << 4) + 15] = l;\r\n for (var i: any = 0; i < m.length; i += 16) {\r\n a = HASH[0];\r\n b = HASH[1];\r\n c = HASH[2];\r\n d = HASH[3];\r\n e = HASH[4];\r\n f = HASH[5];\r\n g = HASH[6];\r\n h = HASH[7];\r\n for (var j: any = 0; j < 64; j++) {\r\n if (j < 16) W[j] = m[j + i];\r\n else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);\r\n T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);\r\n T2 = safe_add(Sigma0256(a), Maj(a, b, c));\r\n h = g;\r\n g = f;\r\n f = e;\r\n e = safe_add(d, T1);\r\n d = c;\r\n c = b;\r\n b = a;\r\n a = safe_add(T1, T2);\r\n }\r\n HASH[0] = safe_add(a, HASH[0]);\r\n HASH[1] = safe_add(b, HASH[1]);\r\n HASH[2] = safe_add(c, HASH[2]);\r\n HASH[3] = safe_add(d, HASH[3]);\r\n HASH[4] = safe_add(e, HASH[4]);\r\n HASH[5] = safe_add(f, HASH[5]);\r\n HASH[6] = safe_add(g, HASH[6]);\r\n HASH[7] = safe_add(h, HASH[7]);\r\n }\r\n return HASH;\r\n }\r\n function str2binb(str) {\r\n var bin = Array();\r\n var mask = (1 << chrsz) - 1;\r\n for (var i = 0; i < str.length * chrsz; i += chrsz) {\r\n bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i % 32);\r\n }\r\n return bin;\r\n }\r\n function Utf8Encode(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n for (var n = 0; n < string.length; n++) {\r\n var c = string.charCodeAt(n);\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n }\r\n return utftext;\r\n }\r\n function binb2hex(binarray) {\r\n var hex_tab = hexcase ? \"0123456789ABCDEF\" : \"0123456789abcdef\";\r\n var str = \"\";\r\n for (var i: any = 0; i < binarray.length * 4; i++) {\r\n str += hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8 + 4)) & 0xF) +\r\n hex_tab.charAt((binarray[i >> 2] >> ((3 - i % 4) * 8)) & 0xF);\r\n }\r\n return str;\r\n }\r\n s = Utf8Encode(s);\r\n return binb2hex(core_sha256(str2binb(s), s.length * chrsz));\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/app/util.ts","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: true\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/environments/environment.ts","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n platformBrowserDynamic().bootstrapModule(AppModule);\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// D:/Code/ApiWeb/src/main.ts"],"sourceRoot":"webpack:///"}