Problema para leer el mes con Regex

Hola!

En primer lugar hola a todos. Mi nombre es Nacho y tengo un problema con un proceso de mi empresa. Mi robot descarga una serie de facturas y las guarda en una carpeta correspondiente al mes en el que se emitió la factura.

Su funcionamiento es el siguiente:

1 - Descarga la factura.
2 - Utiliza una Regex para leer la fecha de la factura.
3 - En función del mes leído en la factura, la guarda en la carpeta del mes actual (por ejemplo, en la carpeta 2-2022 si es de febrero, o en la carpeta 1-2022 si es de enero).

El caso es que no consigo que me funcione bien, ya que me las acaba guardando siempre en el mes anterior en vez de en el mes actual.

La asignación que utilizo es la siguiente:

MesFact = Convert.ToDouble(system.Text.RegularExpressions.Regex.Match(pdf, “\d{0,2}[/-.]\d{0,2}[/-.]\d{2,4}”, RegexOptions.Multiline).Value.ToString.Substring(3,2))

Convierto a Double la variable “MesFact” tras haber buscado en el documento algo que coincida con la fecha del mes y me quedo (supuestamente) con el valor de la fecha del mes con el “Substring (3,2)”.

Cabe mencionar que soy de España y por tanto las fechas aquí siguen el formato dd/mm/aaaa, dd.mm.aaaa o dd-mm-aaaa en lugar del formato americano que sería mm/dd/aaaa.

Tras hacer esa asignación hago el siguiente condicional:

Si:

MesFactura = Convert.ToDouble(DateTime.Today.AddMonths(0).ToString(new system.Globalization.CultureInfo(“es-ES”)).ToString.Substring(3,2))

Then:

Mueve el archivo a la carpeta del mes actual.

Else:

Mueve el archivo a la carpeta del mes anterior.

Me gustaría saber qué hago mal, si la regex está bien, si el condicional está bien implementado, si estoy guardando bien el valor del mes o por el contrario coge otro valor, porque es como si el condicional siempre se evaluara como falso.

Gracias de antemano!

Un saludo

Hola @nachoteleco Bienvenido al Foro:
Nos pone contentos ver que se van sumando hispanohablantes a este excelente recurso de la comunidad UiPath

Para entender mejor lo que te esta pasando me gustaria saber si pudiste determinar si la extracción de la fecha se está ejecutando correctamente. Su pudieras hacer una depuración y frenar en ese punto podríamos aislar el problema.

Luego vemos que está pasando con la asignación/selección de carpeta de destino.

Por otro lado pudieras compartir algunas capturas del flujo y propiedades para entender un poco mejor.

Saludos!

Hola y gracias por contestar!

Teóricamente la fecha se lee bien, ya que no me da ningún problema de validación. El lunes cuando vuelva al trabajo probaré otra solución que he podido investigar y que podría funcionar, y en caso de que no me funcione te adjunto las capturas del flujo que me has solicitado y lo ejecuto en modo debug para comprobar lo que me dices.

Un saludo y de nuevo gracias por contestar!