Modelo 347 NAV - Caracteres especiales
Según el AEAT, no es posible reportar caracteres especiales como por ejemplo paréntesis, pero no se pueden sustituir por espacios en blanco.
Por ejemplo, si tenemos un cliente con nombre:
Test (Test1
Hay que reportarlo como:
TEST TEST(Sólo un espacio entre TEST Y TEST1)
Actualmente, el informe 347 exporta este nombre con dos espacios:
TEST TEST1 (Dos espacios entre TEST y TEST1)
Para solucionar esto, se pueden escribir lo siguiente en código:
En el report 1070
Trigger
FormatTextName(NameString : Text[50]) Result : Text[50]
….
TempString := CONVERTSTR(UPPERCASE(NameString),'ÀÁÂÃÄÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝØÑǺª','AAAAAEEEEIIIIOOOOOUUUUYOÐÃ');
IF (STRLEN(TempString) > 0) THEN
REPEAT
TempString1 := COPYSTR(TempString,1,1);
IF TempString1 IN ['A'..'Z','0'..'9','Ð','Ã'] THEN
Result := Result + TempString1
ELSE
IF NOT(TempString1 IN ['(',')') THEN //NEW LINE
Result := Result + ' '; //line indented
TempString := DELSTR(TempString,1,1);
UNTIL STRLEN(TempString) = 0;
…..
En la nueva linea se pueden añadir todos los caracteres especiales que no puedan ser exportados, en este caso el código borrará el caracter especial e importará el nombre correcto que sí sea aceptado por AEAT.
Alessandro Vannini
Microsoft Dynamics
Escalation Engineer