Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagejs
themeMidnight
User Function ExecM910()
    Local aCabec := {}
    Local aItens := {}
    Local aLinha := {}
    Local jId := jsonObject():New()
    Local jPropri := jsonObject():New()
    //Local nX  := 0
    //Local nY  := 0
    Local cDoc := " 900001"

    PRIVATE lMsErroAuto := .F.

    //--Abertura do ambiente --//
    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "XIFIS26" MODULO "FIS" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4","SED","SE1"

    //--Monta a capa do documento fiscal--//
    aadd(aCabec, {"F1_TIPO"   , "N"})
    aadd(aCabec, {"F1_DOC"    , cDoc})
    aadd(aCabec, {"F1_SERIE"  , "001"})
    aadd(aCabec, {"F1_EMISSAO", dDataBase})
    aadd(aCabec, {"F1_FORNECE", "SP0002"})
    aadd(aCabec, {"F1_LOJA"   , "01"})
    aadd(aCabec, {"F1_ESPECIE", "SPED"})
    aadd(aCabec, {"F1_COND"   , "001"})
    aadd(aCabec, {"F1_DESCONT", 0})
    aadd(aCabec, {"F1_FRETE"  , 0})
    aadd(aCabec, {"F1_SEGURO" , 0})
    aadd(aCabec, {"F1_DESPESA", 0})

    //--Montagem dos itens do documento fiscal--//
    aadd(aLinha,{"D1_ITEM" ,"0001",Nil})
    aadd(aLinha,{"D1_COD"  ,"PA0000000000000000000000000002",Nil}) 
    aadd(aLinha,{"D1_QUANT",1,Nil})
    aadd(aLinha,{"D1_VUNIT",1000,Nil}) 
    aadd(aLinha,{"D1_TOTAL",1000,Nil})
    aadd(aLinha,{"D1_TES","00C",Nil})

	//--Montagem do Json de Tributos
    jPropri["base_valor"]        := 1000
    jPropri["base_quantidade"]   := 0
    jPropri["base_um"]           := ""
    jPropri["aliquota"]          := 18
    jPropri["valor"]             := 180
    jPropri["CST"]               := "000"
    jPropri["CCT"]               := "003"
    jPropri["vl_tributado"]      := 6.55
    jPropri["vl_isento"]         := 0.00
    jPropri["vl_outros"]         := 0.00
    jPropri["vl_diferido"]       := 0.00
    jPropri["pc_diferido"]       := 0
    jPropri["pc_reducao_base"]   := 0
    jPropri["base_original"]     := 0
    jPropri["pc_reducao_aliq"]   := 0
    jPropri["aliquota_original"] := 0.00

    jId["000062000060"]                := jPropri

    jPropri                      := jsonObject():New()

    jPropri["base_valor"]        := 1000
    jPropri["base_quantidade"]   := 0
    jPropri["base_um"]           := ""
    jPropri["aliquota"]          := 18
    jPropri["valor"]             := 180

    jId["000021"]                := jPropri

 	//--Inclusão do JSON dos tributos junto com a propriedade TRIBUTOS (obrigatória)
    aadd(aLinha, {"TRIBUTOS", jId})

    aadd(aItens,aLinha)

    //--Teste de inclusao do documento fiscal--//

    MSExecAuto({|x,y,z| mata910(x,y,z)}, aCabec, aItens, 3)

    If !lMsErroAuto
        Conout("Incluido com sucesso! "+cDoc)
    Else
        Conout("Erro na inclusao do documento!")
    EndIf

    ConOut("Fim do processamento!"+ Time())

    RESET ENVIRONMENT

return

No exemplo demonstrado acima estão sendo utilizados os Id's 000060 e 000021, ou seja, o produto PA0000000000000000000000000002 terá os tributos IBS ESTADUAL e ICMS gravados. Para mais informações sobre os ID's Totvs consulte aqui.

Estrutura do JSON

Novos Tributos

...

Bloco de código
languagejs
themeMidnight
{
     "000062000060": {
       "base_valor": 0,
       "base_quantidade": 10000,
       "base_um": "UM",
       "aliquota": 10,
       "valor": 500,
       "CST": "000",
       "CCT": "003",
       "vl_tributado": 6.55,
       "vl_isento": 0.00,
       "vl_outros": 0.00,
       "vl_diferido": 0.00,
       "pc_diferido": 0,
       "pc_reducao_base": 0,
       "base_original": 0,
       "pc_reducao_aliq": 0,
       "aliquota_original": 0.00
       }
}

...