Duvida
Como gerar o campo obsCont nas observações da nota?
Procedimento
A geração desse campo no XML ocorre exclusivamente por meio de uma procedure customizada, chamada [GetObsCont]. Esta procedure está localizada na base do SAP Business One ou na DBInvOne, quando os add-ons são configurados para ter base externa (Não CCC). O processo funciona da seguinte maneira: ao inserir o documento no SAP e transmiti-lo para a Sefaz, antes de gerar o XML, o sistema executa a procedure para obter os valores de xCampo e xTexto, o resultado da procedure será incluído no XML. Esses valores podem formar até 10 pares (xCampo e xTexto), resultando em um máximo de 10 registros na obsCont, que é o limite permitido pela Sefaz.
No exemplo a seguir, foram considerados os campos DocNum e Comments, que correspondem, respectivamente, aos nomes de apresentação "Primário" e "Observações". A procedure foi personalizada para preencher dois pares das tags xCampo e xTexto, e o resultado pode ser visualizado na segunda imagem.
Documento SAP Business One que deu origem às informações do xCampo e xTexto
Resultado no XML
Exemplo Procedure GetObsCont (Ambiente HANA e sem base externa do add-on, ou seja, CCC)
ALTER PROCEDURE "GetObsCont"
(
IN pCompanyDb NVARCHAR(128),
IN pObjId INT,
IN pTblSuffix NVARCHAR(3),
IN pDocEntry INT
)
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
DECLARE query NVARCHAR(1000);
query := 'SELECT ''DocNum'' AS "xCampo",'
|| 'TO_VARCHAR("DocNum") AS "xTexto",
''Comments'' AS "xCampo2",'
|| '"Comments" AS "xTexto2" '
|| 'FROM "' || pCompanyDb || '"."O' || pTblSuffix || '"'
|| 'WHERE "DocEntry" = ' || TO_VARCHAR(pDocEntry);
--Select query from dummy;
EXECUTE IMMEDIATE query;
END;
| Os valores preenchidos nos campos: xCampo e xTexto são levados para a tag ObsCont do XML. |
Atenção
As informações fornecidas são apenas exemplos ilustrativos de como a procedure funciona. Não nos responsabilizamos por customizações. Caso seja necessário, a customização deve ser realizada pela consultoria especializada nesse tipo de trabalho, ou pode-se acionar nossa área de serviços, o que poderá envolver custos.
Referências
NT 2021.004