7984-addCurrency #3316
|
@ -1,11 +1,11 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `sage`.`accountingMovements_add`(
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `sage`.`accountingMovements_add`(
|
||||||
vYear INT,
|
vYear INT,
|
||||||
vCompanyFk INT
|
vCompanyFk INT
|
||||||
)
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Traslada la info de contabilidad generada en base a vn.XDiario a la tabla sage.movConta
|
* Traslada la info de contabilidad generada en base a vn.XDiario a la tabla sage.movConta
|
||||||
* para poder ejecutar posteriormente el proceso de importación de datos de SQL Server
|
* para poder ejecutar posteriormente el proceso de importación de datos de SQL Server
|
||||||
* Solo traladará los asientos marcados con el campo vn.XDiario.enlazadoSage = FALSE
|
* Solo traladará los asientos marcados con el campo vn.XDiario.enlazadoSage = FALSE
|
||||||
* @vYear Año contable del que se quiere trasladar la información
|
* @vYear Año contable del que se quiere trasladar la información
|
||||||
|
@ -23,6 +23,7 @@ BEGIN
|
||||||
DECLARE vInvoiceTypeInformativeCode VARCHAR(1);
|
DECLARE vInvoiceTypeInformativeCode VARCHAR(1);
|
||||||
DECLARE vCountryCanariasCode, vCountryCeutaMelillaCode VARCHAR(2);
|
DECLARE vCountryCanariasCode, vCountryCeutaMelillaCode VARCHAR(2);
|
||||||
DECLARE vCompanyCode INT;
|
DECLARE vCompanyCode INT;
|
||||||
|
DECLARE vHasErrorTax BOOL DEFAULT FALSE;
|
||||||
|
|
||||||
SELECT SiglaNacion INTO vCountryCanariasCode
|
SELECT SiglaNacion INTO vCountryCanariasCode
|
||||||
FROM Naciones
|
FROM Naciones
|
||||||
|
@ -44,12 +45,12 @@ BEGIN
|
||||||
FROM taxType
|
FROM taxType
|
||||||
WHERE code = 'import4';
|
WHERE code = 'import4';
|
||||||
|
|
||||||
SELECT shipmentTransactionTypeFk,
|
SELECT shipmentTransactionTypeFk,
|
||||||
definitiveExportTransactionTypeFk,
|
definitiveExportTransactionTypeFk,
|
||||||
pendingServiceTransactionTypeFk,
|
pendingServiceTransactionTypeFk,
|
||||||
company_getCode(vCompanyFk)
|
company_getCode(vCompanyFk)
|
||||||
INTO vTransactionExportTaxFreeFk,
|
INTO vTransactionExportTaxFreeFk,
|
||||||
vTransactionExportFk,
|
vTransactionExportFk,
|
||||||
vDuaTransactionFk,
|
vDuaTransactionFk,
|
||||||
vCompanyCode
|
vCompanyCode
|
||||||
FROM config;
|
FROM config;
|
||||||
|
@ -66,6 +67,24 @@ BEGIN
|
||||||
WHERE enlazadoSage = FALSE
|
WHERE enlazadoSage = FALSE
|
||||||
AND Asiento <> 1 ;
|
AND Asiento <> 1 ;
|
||||||
|
|
||||||
|
SELECT EXISTS (
|
||||||
|
SELECT TRUE
|
||||||
|
FROM vn.XDiario x
|
||||||
|
JOIN vn.invoiceIn ii ON ii.id = x.CLAVE
|
||||||
|
JOIN vn.invoiceInTax it ON it.invoiceInFk = ii.id
|
||||||
|
LEFT JOIN TiposIva ti ON ti.CodigoIva = it.taxTypeSageFk
|
||||||
|
LEFT JOIN taxType tt ON tt.id = it.taxTypeSageFk
|
||||||
|
WHERE x.FECHA BETWEEN vDatedFrom AND vDatedTo
|
||||||
|
AND NOT x.enlazadoSage
|
||||||
|
AND x.empresa_id = vCompanyFk
|
||||||
|
AND it.taxTypeSageFk
|
||||||
|
AND (ti.CodigoIva IS NULL OR tt.id IS NULL)
|
||||||
|
) INTO vHasErrorTax;
|
||||||
|
|
||||||
|
IF vHasErrorTax tHEN
|
||||||
|
CALL util.throw ('Error in tables for received invoices tax');
|
||||||
|
END IF;
|
||||||
|
|
||||||
CALL invoiceOut_manager(vYear, vCompanyFk);
|
CALL invoiceOut_manager(vYear, vCompanyFk);
|
||||||
CALL invoiceIn_manager(vYear, vCompanyFk);
|
CALL invoiceIn_manager(vYear, vCompanyFk);
|
||||||
|
|
||||||
|
@ -306,8 +325,8 @@ BEGIN
|
||||||
mci.FechaFacturaOriginal = x.FECHA_EX,
|
mci.FechaFacturaOriginal = x.FECHA_EX,
|
||||||
mci.SuFacturaNo = x.FACTURAEX,
|
mci.SuFacturaNo = x.FACTURAEX,
|
||||||
mci.FechaOperacion = x.FECHA_OP,
|
mci.FechaOperacion = x.FECHA_OP,
|
||||||
mci.ImporteFactura = mci.ImporteFactura +
|
mci.ImporteFactura = mci.ImporteFactura +
|
||||||
x.BASEEURO +
|
x.BASEEURO +
|
||||||
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
||||||
WHERE pm.description = 'HP Iva pendiente'
|
WHERE pm.description = 'HP Iva pendiente'
|
||||||
AND mci.enlazadoSage = FALSE
|
AND mci.enlazadoSage = FALSE
|
||||||
|
@ -326,7 +345,7 @@ BEGIN
|
||||||
mci.CodigoIva2 = vTaxImportFk,
|
mci.CodigoIva2 = vTaxImportFk,
|
||||||
mci.IvaDeducible2 = TRUE,
|
mci.IvaDeducible2 = TRUE,
|
||||||
mci.ImporteFactura = mci.ImporteFactura +
|
mci.ImporteFactura = mci.ImporteFactura +
|
||||||
x.BASEEURO +
|
x.BASEEURO +
|
||||||
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
||||||
WHERE pm.description = 'HP Iva pendiente'
|
WHERE pm.description = 'HP Iva pendiente'
|
||||||
AND mci.enlazadoSage = FALSE
|
AND mci.enlazadoSage = FALSE
|
||||||
|
@ -344,8 +363,8 @@ BEGIN
|
||||||
mci.CodigoTransaccion3 = vDuaTransactionFk ,
|
mci.CodigoTransaccion3 = vDuaTransactionFk ,
|
||||||
mci.CodigoIva3 = vTaxImportSuperReducedFk,
|
mci.CodigoIva3 = vTaxImportSuperReducedFk,
|
||||||
mci.IvaDeducible3 = TRUE,
|
mci.IvaDeducible3 = TRUE,
|
||||||
mci.ImporteFactura = mci.ImporteFactura +
|
mci.ImporteFactura = mci.ImporteFactura +
|
||||||
x.BASEEURO +
|
x.BASEEURO +
|
||||||
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
CAST((x.IVA / 100) * x.BASEEURO AS DECIMAL(10, 2))
|
||||||
WHERE pm.description = 'HP Iva pendiente'
|
WHERE pm.description = 'HP Iva pendiente'
|
||||||
AND mci.enlazadoSage = FALSE
|
AND mci.enlazadoSage = FALSE
|
||||||
|
@ -379,14 +398,14 @@ BEGIN
|
||||||
OR CodigoTransaccion2 = vTransactionExportFk
|
OR CodigoTransaccion2 = vTransactionExportFk
|
||||||
OR CodigoTransaccion3 = vTransactionExportFk
|
OR CodigoTransaccion3 = vTransactionExportFk
|
||||||
OR CodigoTransaccion4 = vTransactionExportFk)
|
OR CodigoTransaccion4 = vTransactionExportFk)
|
||||||
AND SiglaNacion IN (vCountryCanariasCode COLLATE utf8mb3_unicode_ci,
|
AND SiglaNacion IN (vCountryCanariasCode COLLATE utf8mb3_unicode_ci,
|
||||||
vCountryCeutaMelillaCode COLLATE utf8mb3_unicode_ci);
|
vCountryCeutaMelillaCode COLLATE utf8mb3_unicode_ci);
|
||||||
|
|
||||||
UPDATE movConta mc
|
UPDATE movConta mc
|
||||||
SET CodigoDivisa = 'USD',
|
SET CodigoDivisa = 'USD',
|
||||||
FactorCambio = TRUE,
|
FactorCambio = TRUE,
|
||||||
ImporteCambio = ABS( CAST( IF( ImporteDivisa <> 0 AND ImporteCambio = 0,
|
ImporteCambio = ABS( CAST( IF( ImporteDivisa <> 0 AND ImporteCambio = 0,
|
||||||
ImporteAsiento / ImporteDivisa,
|
ImporteAsiento / ImporteDivisa,
|
||||||
ImporteCambio) AS DECIMAL( 10, 2)))
|
ImporteCambio) AS DECIMAL( 10, 2)))
|
||||||
WHERE enlazadoSage = FALSE
|
WHERE enlazadoSage = FALSE
|
||||||
AND (ImporteCambio <> 0 OR ImporteDivisa <> 0 OR FactorCambio);
|
AND (ImporteCambio <> 0 OR ImporteDivisa <> 0 OR FactorCambio);
|
||||||
|
@ -403,20 +422,20 @@ BEGIN
|
||||||
WITH client AS(
|
WITH client AS(
|
||||||
SELECT DISTINCT c.id
|
SELECT DISTINCT c.id
|
||||||
FROM sage.movConta mc
|
FROM sage.movConta mc
|
||||||
JOIN vn.client c ON c.accountingAccount = mc.CodigoCuenta
|
JOIN vn.client c ON c.accountingAccount = mc.CodigoCuenta
|
||||||
WHERE NOT enlazadoSage
|
WHERE NOT enlazadoSage
|
||||||
),supplier AS(
|
),supplier AS(
|
||||||
SELECT DISTINCT s.id
|
SELECT DISTINCT s.id
|
||||||
FROM sage.movConta mc
|
FROM sage.movConta mc
|
||||||
JOIN vn.supplier s ON s.account = mc.CodigoCuenta
|
JOIN vn.supplier s ON s.account = mc.CodigoCuenta
|
||||||
WHERE NOT enlazadoSage
|
WHERE NOT enlazadoSage
|
||||||
),clientSupplierSync AS(
|
),clientSupplierSync AS(
|
||||||
SELECT idClientSupplier, `type`
|
SELECT idClientSupplier, `type`
|
||||||
FROM sage.clientSupplier cs
|
FROM sage.clientSupplier cs
|
||||||
WHERE isSync
|
WHERE isSync
|
||||||
)
|
)
|
||||||
SELECT idClientSupplier, `type`
|
SELECT idClientSupplier, `type`
|
||||||
FROM sage.clientSupplier cs
|
FROM sage.clientSupplier cs
|
||||||
WHERE NOT isSync
|
WHERE NOT isSync
|
||||||
UNION
|
UNION
|
||||||
SELECT id, 'C'
|
SELECT id, 'C'
|
||||||
|
@ -424,7 +443,7 @@ BEGIN
|
||||||
LEFT JOIN clientSupplierSync cs ON cs.idClientSupplier = c.id
|
LEFT JOIN clientSupplierSync cs ON cs.idClientSupplier = c.id
|
||||||
AND cs.Type ='C'
|
AND cs.Type ='C'
|
||||||
WHERE cs.idClientSupplier IS NULL
|
WHERE cs.idClientSupplier IS NULL
|
||||||
UNION
|
UNION
|
||||||
SELECT id, 'P'
|
SELECT id, 'P'
|
||||||
FROM supplier s
|
FROM supplier s
|
||||||
LEFT JOIN clientSupplierSync cs ON cs.idClientSupplier = s.id
|
LEFT JOIN clientSupplierSync cs ON cs.idClientSupplier = s.id
|
||||||
|
@ -436,7 +455,7 @@ BEGIN
|
||||||
INSERT IGNORE INTO sage.clientSupplier (companyFk, `type`, idClientSupplier, isSync)
|
INSERT IGNORE INTO sage.clientSupplier (companyFk, `type`, idClientSupplier, isSync)
|
||||||
SELECT vCompanyCode, `type`, idClientSupplier, FALSE
|
SELECT vCompanyCode, `type`, idClientSupplier, FALSE
|
||||||
FROM tmp.clientSupplier;
|
FROM tmp.clientSupplier;
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tmp.clientSupplier;
|
DROP TEMPORARY TABLE tmp.clientSupplier;
|
||||||
|
|
||||||
CALL pgc_add(vCompanyFk);
|
CALL pgc_add(vCompanyFk);
|
||||||
|
|
Loading…
Reference in New Issue