diff --git a/SW.Tools/Properties/AssemblyInfo.cs b/SW.Tools/Properties/AssemblyInfo.cs
index 0d1099e..091ed9a 100644
--- a/SW.Tools/Properties/AssemblyInfo.cs
+++ b/SW.Tools/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.11.6")]
-[assembly: AssemblyFileVersion("1.0.11.6")]
\ No newline at end of file
+[assembly: AssemblyVersion("1.0.12.1")]
+[assembly: AssemblyFileVersion("1.0.12.1")]
\ No newline at end of file
diff --git a/SW.Tools/SW.Tools.csproj b/SW.Tools/SW.Tools.csproj
index e3ae6d1..a80d0c5 100644
--- a/SW.Tools/SW.Tools.csproj
+++ b/SW.Tools/SW.Tools.csproj
@@ -40,7 +40,7 @@
..\packages\cadenaoriginal33.dll.1.4.3\lib\net40\cadenaoriginal33.dll
- ..\packages\cadenaoriginal40.dll.0.0.4.1\lib\net40\cadenaoriginal40.dll
+ ..\packages\cadenaoriginal40.dll.0.0.4.2-rc\lib\net40\cadenaoriginal40.dll
..\packages\cadenaoriginalRetenciones20.dll.1.0.1\lib\cadenaoriginalretenciones20.dll
diff --git a/SW.Tools/packages.config b/SW.Tools/packages.config
index 39b80e3..cc75e31 100644
--- a/SW.Tools/packages.config
+++ b/SW.Tools/packages.config
@@ -2,7 +2,7 @@
-
+
diff --git a/SW.ToolsUT/Resources/cfdi40_cp31.xml b/SW.ToolsUT/Resources/cfdi40_cp31.xml
new file mode 100644
index 0000000..73ebbd1
--- /dev/null
+++ b/SW.ToolsUT/Resources/cfdi40_cp31.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SW.ToolsUT/SW.ToolsUT.csproj b/SW.ToolsUT/SW.ToolsUT.csproj
index 6525893..a160322 100644
--- a/SW.ToolsUT/SW.ToolsUT.csproj
+++ b/SW.ToolsUT/SW.ToolsUT.csproj
@@ -36,7 +36,7 @@
- ..\packages\cadenaoriginal40.dll.0.0.4.1\lib\net40\cadenaoriginal40.dll
+ ..\packages\cadenaoriginal40.dll.0.0.4.2-rc\lib\net40\cadenaoriginal40.dll
..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll
@@ -117,6 +117,9 @@
Always
+
+ Always
+
Designer
Always
diff --git a/SW.ToolsUT/UT_Tools_Sign.cs b/SW.ToolsUT/UT_Tools_Sign.cs
index 1eb3512..928da37 100644
--- a/SW.ToolsUT/UT_Tools_Sign.cs
+++ b/SW.ToolsUT/UT_Tools_Sign.cs
@@ -70,7 +70,7 @@ public void UT_Tools_Sign_SellarCFDIv40_OK()
byte[] bytesKey = File.ReadAllBytes(@"Resources\CSD_Pruebas_CFDI_EKU9003173C9.key");
string password = "12345678a";
var pfx = Sign.CrearPFX(bytesCer, bytesKey, password);
- var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40.xml")));
+ var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40_cp31.xml")));
var xmlResult = Sign.SellarCFDIv40(pfx, password, xml);
Assert.IsTrue(!string.IsNullOrEmpty(xmlResult.data.xml));
Assert.IsTrue(xmlResult.status == "success");
@@ -156,6 +156,17 @@ public void UT_Tools_CadenaOriginalCFDIv40_CP30_OK()
Assert.IsTrue(CadenaOriginal.Equals(result_));
}
///
+ /// Cadena Original Carta Porte 3.1
+ ///
+ [TestMethod]
+ public void UT_Tools_CadenaOriginalCFDIv40_CP31_OK()
+ {
+ var xml = Fiscal.RemoverCaracteresInvalidosXml(Encoding.UTF8.GetString(File.ReadAllBytes(@"Resources\cfdi40_cp31.xml")));
+ string CadenaOriginal = "||4.0|SerieCCP31|CP3.1|2024-07-16T18:00:55|01|30001000000500003416|100.00|MXN|100.00|I|01|PUE|42501|EKU9003173C9|ESCUELA KEMPER URGATE|601|URE180429TM6|UNIVERSIDAD ROBOTICA ESPAÑOLA|86991|601|S01|78101800|UT421511|1|H87|Pieza|Transporte de carga por carretera|100.00|100.00|01|3.1|CCCBCD94-870A-4332-A52A-A52AA52AA52A|No|1|Sí|01|01|Origen|OR101010|URE180429TM6|NombreRemitenteDestinatario1|2023-08-01T00:00:00|Calle1|211|212|1957|13|casa blanca|011|CMX|MEX|13250|Destino|DE202020|URE180429TM6|NombreRemitenteDestinatario2|2023-08-01T00:00:01|1|Calle2|214|215|0347|23|casa negra|004|COA|MEX|25350|1.0|XBX|1|Sí|11121900|Accesorios de equipo de telefonía|1.0|XBX|No|DenominacionGenericaProd1|DenominacionDistintivaProd1|Fabricante1|2003-04-02|LoteMedic1|01|01|RegistroSanita1|1|6309000100|1|OR101010|DE202020|TPAF01|NumPermisoSCT1|VL|1|plac892|2020|AseguraRespCivil|123456789|CTR004|VL45K98|01|URE180429TM6|NumLicencia1|NombreFigura1|Calle1|NumeroExterior1|NumeroInterior1|Colonia1|Localidad1|Referencia1|Municipio1|Estado1|AFG|CodigoPosta1||";
+ var result_ = Fiscal.RemoverCaracteresInvalidosXml(Sign.CadenaOriginalCFDIv40(xml).data.cadenaOriginal);
+ Assert.IsTrue(CadenaOriginal.Equals(result_));
+ }
+ ///
/// Cadena Original Comercio Exterior 2.0
///
[TestMethod]
diff --git a/SW.ToolsUT/packages.config b/SW.ToolsUT/packages.config
index 88e615d..c402598 100644
--- a/SW.ToolsUT/packages.config
+++ b/SW.ToolsUT/packages.config
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file