Nfse.Schema.V1_00.TCDocDedRed (nfse v0.1.0)

Copy Markdown View Source

Tipo TCDocDedRed do leiaute 1.00, em tiposComplexos_v1.00.xsd.

CampoXMLTipoOcorrênciaDescrição
ch_nfsechNFSeTSChaveNFSe1, escolha 1Chave de Acesso da NFS-e (Padrão Nacional)
ch_nfechNFeTSChaveNFe1, escolha 1Chave de Acesso da NF-e
nfse_munNFSeMunNfse.Schema.V1_00.TCDocOutNFSe1, escolha 1Grupo de informações de Outras NFS-e (Padrão anterior de NFS-e)
nfnfsNFNFSNfse.Schema.V1_00.TCDocNFNFS1, escolha 1Grupo de informações de NF ou NFS (Modelo não eletrônico)
n_doc_fiscnDocFiscTSDesc2551, escolha 1Número de documento fiscal
n_docnDocTSDesc2551, escolha 1Número de documento não fiscal
tp_ded_redtpDedRedTSIdeDedRed1Identificação da Dedução/Redução: 1 – Alimentação e bebidas/frigobar; 2 – Materiais; 3 – Produção externa; 4 – Reembolso de despesas; 5 – Repasse consorciado; 6 – Repasse plano de saúde; 7 – Serviços; 8 – Subempreitada de mão de obra; 9 - Profissional parceiro; 99 – Outras deduções;
x_desc_out_dedxDescOutDedTSDescOutDedRed0..1Descrição da Dedução/Redução quando a opção é "99 – Outras Deduções"
dt_emi_docdtEmiDocxs:date1Data da emissão do documento dedutível. Ano, mês e dia (AAAA-MM-DD)
v_dedutivel_redutivelvDedutivelRedutivelTSDec15V21Valor monetário total dedutível/redutível no documento informado (R$). Este é o valor total no documento informado que é passível de dedução/redução.
v_deducao_reducaovDeducaoReducaoTSDec15V21Valor monetário utilizado para dedução/redução do valor do serviço da NFS-e que está sendo emitida (R$). Deve ser menor ou igual ao valor deduzível/redutível (vDedutivelRedutivel).
fornecfornecNfse.Schema.V1_00.TCInfoPessoa0..1Grupo de informações do Fornecedor em Deduções de Serviços

Escolha 1: exatamente um entre ch_nfse, ch_nfe, nfse_mun, nfnfs, n_doc_fisc e n_doc.

Summary

Functions

Lê o elemento, na árvore do Saxy.SimpleForm, como este struct e valida o resultado.

Escreve o struct já validado como o elemento tag, na forma canônica. Os extra_attributes, como as declarações de namespace, saem antes dos atributos do struct.

Converte attrs (mapa, lista de palavras-chave ou o próprio struct, também nos campos aninhados) neste struct e valida o resultado. As regras estão em Nfse.Schema.Runtime.

Valida o struct contra o XSD e devolve cada erro com o caminho do campo.

Types

t()

@type t() :: %Nfse.Schema.V1_00.TCDocDedRed{
  ch_nfe: String.t() | nil,
  ch_nfse: String.t() | nil,
  dt_emi_doc: Date.t() | nil,
  fornec: Nfse.Schema.V1_00.TCInfoPessoa.t() | nil,
  n_doc: String.t() | nil,
  n_doc_fisc: String.t() | nil,
  nfnfs: Nfse.Schema.V1_00.TCDocNFNFS.t() | nil,
  nfse_mun: Nfse.Schema.V1_00.TCDocOutNFSe.t() | nil,
  tp_ded_red: String.t() | nil,
  v_deducao_reducao: Decimal.t() | nil,
  v_dedutivel_redutivel: Decimal.t() | nil,
  x_desc_out_ded: String.t() | nil
}

Functions

decode(element)

@spec decode(Saxy.SimpleForm.t()) :: {:ok, t()} | {:error, Nfse.Error.t()}

Lê o elemento, na árvore do Saxy.SimpleForm, como este struct e valida o resultado.

encode(struct, tag, extra_attributes \\ [])

@spec encode(t(), String.t(), [Nfse.Schema.Runtime.attribute()]) :: iodata()

Escreve o struct já validado como o elemento tag, na forma canônica. Os extra_attributes, como as declarações de namespace, saem antes dos atributos do struct.

new(attrs)

@spec new(map() | keyword() | t()) :: {:ok, t()} | {:error, Nfse.Error.t()}

Converte attrs (mapa, lista de palavras-chave ou o próprio struct, também nos campos aninhados) neste struct e valida o resultado. As regras estão em Nfse.Schema.Runtime.

validate(struct)

@spec validate(t()) :: :ok | {:error, Nfse.Error.t()}

Valida o struct contra o XSD e devolve cada erro com o caminho do campo.