Erro nos valores float de vItem e vTotal na NFCom

No seguinte código, ao fazer um toString na classe, temos o codigo mais abaixo…

  $produto = new NfcomSefazProd([
                    'c_prod' => (string) $servico->SER_CODIGO,
                    'x_prod' => $servico->servico->SER_NOME,
                    'q_faturada' => $servico->VENS_QUANTIDADE,
                    'c_class' => (string) $servico->servico->getClassificacaoNFCom(),
                    'cfop' => '5933',
                    'u_med' => 4,
                ]);

                $produto->setVItem(30.10);
                $produto->setVProd(30.10);
{\n
    "cProd": "6967",\n
    "xProd": "xxxxxxx",\n
    "cClass": "0100401",\n
    "CFOP": "5933",\n
    "uMed": 4,\n
    "qFaturada": 1,\n
    "vItem": 30.1,\n
    "vProd": 30.1\n
}

Porem ao enviar a nota, temos o erro de

"                "message": "'30.1' violates pattern constraint of '[0-9]{1,13}(\\.[0-9]{2,8})?'.\r\nThe element 'vItem' with value '30.1' failed to parse."\r\n"

Onde acusa que 30.1 ( o valor, não é valido, ), sendo que o valor ‘hardcoded’ para testes é 30.10.

Onde estou errando?

Se colocado o valor 30.11, por exemplo, a validação passa.

Acredito que exista algum bug na validação de float, que que tanto no php quanto no json,
o zero a direita é suprimido.

Olá @dev3, seja bem-vindo à Nuvem Fiscal!

Esse erro é da framework PHP ou é o retorno da API da Nuvem Fiscal? Consegue colocar a mensagem inteira? (você colocou apenas a propriedade message).

Wager, esse retorno acontece na reposta da API ( usando o SDK)

Segue mensagem completa

{\r\n
    "error": {\r\n
        "code": "ValidationFailed",\r\n
        "message": "Validation failed",\r\n
        "errors": [\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "'30.1' violates pattern constraint of '[0-9]{1,13}(\\.[0-9]{2,8})?'.\r\nThe element 'vItem' with value '30.1' failed to parse."\r\n
            },\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "'30.1' violates pattern constraint of '[0-9]{1,13}(\\.[0-9]{2,8})?'.\r\nThe element 'vProd' with value '30.1' failed to parse."\r\n
            },\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "Element 'imposto' cannot be empty according to the DTD/Schema."\r\n
            },\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "'30.1' violates pattern constraint of '[0-9]{1,13}(\\.[0-9]{2,8})?'.\r\nThe element 'vItem' with value '30.1' failed to parse."\r\n
            },\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "'30.1' violates pattern constraint of '[0-9]{1,13}(\\.[0-9]{2,8})?'.\r\nThe element 'vProd' with value '30.1' failed to parse."\r\n
            },\r\n
            {\r\n
                "code": "SchemaValidationError",\r\n
                "message": "Element 'imposto' cannot be empty according to the DTD/Schema."\r\n
            }\r\n
        ]\r\n
    }\r\n
}

Novidades @wlandgraf ?

Alguma novidade? Se não vamos procurar outro player.

Boa tarde, @dev3.

O problema foi identificado e já estamos trabalhando na correção.

Favor aguardar.

Boa tarde, @dev3.

A correção já foi realizada e está disponível para utilização. Favor tentar novamente agora.

Caso encontre qualquer outro problema ou tenha dúvidas, estamos à disposição para ajudar.

Funcionando.

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.