chic...
Tenho que estudar mais o Harbour
Moderador: Moderadores
Você tem conhecimento disso? Pergunto porque em SP não consegue credenciamento para emissão de NFC-e sem constar um SAT vinculado ao CNPJ do contribuinte e ativo.malcarli escreveu:Tem muito "cliente espertinho" utilizando nfce sem o sat.
*****************************************
* TITULO : EXTRATO DO S@T FISCAL *
* DATA : 08/09/2015 *
* PROGRAMA : DEMO.PRG *
* COMENTARIO : IMPRESSAO DO EXTRATO *
* COMENTARIO : PARA IMPRESSORA EPSON *
* COMENTARIO : TM-T20 *
* COMENTARIO : AGRADECIMENTOS AO SR. *
* COMENTARIO : FLAVIO SILVA *
* COMENTARIO : FlavioSilva@epson.com.br *
* DIREITOS : INFO2000 SISTEMAS *
* CLIENTE -->: ### TODOS ### *
* COMPILAR COM HARBOUR OU (X)HARBOUR *
* OU AINDA CLIPPER *
*****************************************
#include <minigui.ch>
FUNCTION MAIN() && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINH
Local I:= 0, cPrinter:= GetDefaultPrinter()
If Empty(cPrinter)
MsgStop([Impressora não Selecionada!], [Erro])
QUIT
EndIf
ferase([NFCE.TXT])
Setalternate([NFCE.TXT])
*SET PRINT TO "LPT1" && PARA COMPILAR COM CLIPPER DESCOMENTE ESSA LINHA
* SET PRINT TO ( GetDefaultPrinter() ) && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINHA
* SET CONSOLE OFF
* SET PRINT ON
* SET DEVICE TO PRINT
SET MARGIN TO 0
SETPRC( 0, 0 )
IMP_Cabecalho()
**
? "#|COD|DESC|QTD|UN|VL UN R$|(VLTR R$)*|VL ITEM R$"
? REPLI( "-", 48 )
I++
? STRZERO( I, 3, 0 )
? SPAC(4) + "123456"
? SPAC(18) + "TESTE DE PRODUTO"
? SPAC(5) + "1,000"
? SPAC(15) + "X"
? SPAC(20) + TRANSF( 10, "@E 999,999.99" )
? SPAC(30) + TRANSF( 10, "@E 999,999,999.99" )
*
IMP_TOTAIS()
**
* SETPRC(0,0)
* SET PRINT OFF
* SET CONSOLE ON
* SET PRINTER TO
Setalternate()
WIN_PrintFileRaw(cPrinter, [NFCE.TXT], [TESTE])
QUIT
RETURN NIL
/*
IMPRIME O CABELHO DO EXTRATO
*/
FUNCTION IMP_CABECALHO()
*
? PADC( "NOME FANTASIA", 48 )
? PADC( "RAZAO SOCIAL", 48 )
? PADC( "RUA UM NRO. 2", 48 )
? PADC( "SAO PAULO - SP", 48 )
? PADC( "CNPJ: 11111111111 IE: 22222222", 48 )
? REPLI( "-", 48 )
*
? PADC( "Extrato No: 123456" , 48 )
? PADC( "CUPOM FISCAL ELETRONICO - SAT", 48 )
*
? REPLI( "-", 48 )
? "CPF/CNPJ do Consumidor: "
? REPLI( "-", 48 )
RETURN NIL
/*
IMPRIME OS TOTAIS DO EXTRATO
*/
FUNCTION IMP_TOTAIS()
? "TOTAL R$ " + TRANSF( 10, "@E 9,999,999.99" )
? "Dinheiro"
? SPAC(26) + TRANSF( 10, "@E 999,999,999.99" )
? REPLI( "-", 48 )
? PADC( "SAT No. 987654321", 48 )
? PADC( DTOC( DATE() ) +" - "+ TIME(), 48 )
? CHR(10) + CHR(27) + CHR(97) + CHR(49) && Centraliza a Impressão
? CHR(27) + CHR(33) + CHR(1) && Muda para a FontB para que o Texto seja impresso em 1 linha
? PADC( "3514 1146 3772 2200 3730 5990 0000 4630 0011 5817 9941", 56 )
? CHR(27) + CHR(33) + CHR(0) && Volta para a FontA
**
QRCODE8()
**
? CHR(27) + "a" + CHR(0) && Volta a justificar à esquerda
? PADC( "OBRIGADO PELA PREFERENCIA", 48 )
? REPLICATE( "-", 48 )
? PADC( "www.info2000sistemas.com.br", 48 )
? ""
? CHR(29) + CHR(86) + CHR(0) && Aciona Guilhotina
RETURN NIL
**
* FUNCAO PARA IMPRIMIR O QRCode 8cm
**
FUNCTION QRCODE8( QUAL, cXML )
**
* STRING com a linha de dados do QRCode - juntando as variáveis acima separadas pelo pipe.
* Exemplo: "35141146377222003730599000004630001158179941|20141105134922|10.00|61694805808|m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="
**
LOCAL x_TmStp := "20141105134922"
LOCAL x_Chave := "35141146377222003730599000004630001158179941"
LOCAL x_Valor := "10.00"
LOCAL x_CNPJ := ""
LOCAL x_Ass := "m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="
LOCAL x_URL_QrCode, iTamanho, iLow, iHigh, iCount, ComandoQR
x_URL_QrCode = x_Chave+"|"+x_TmStp+"|"+x_Valor+"|"+x_CNPJ+"|"+x_Ass
**
/*
BYTES PARA COMPOR O QRCODE
*/
iTamanho := Len( x_URL_QrCode ) + 3
iLow := MOD( iTamanho, 256 )
iHigh := iTamanho / 256
? CHR(29) + "h" + CHR(60) && Altura do código de barras
? CHR(29) + "w" + CHR(2) && Largura das barras
? CHR(29) + "H0" && Apresentação numérica do código DE BARRAS / H0 = INIBE, H2 = MOSTRA
* Imprime o Code128C com 44 algarismos
ComandoQR := CHR(29) + CHR(107) + CHR(73) + CHR(24) + "{C"
For iCount = 0 To 22
ComandoQR += CHR( VAL( SUBSTR( x_Chave, (iCount * 2) + 1, 2 ) ) )
Next
? []
? ComandoQR
* Fim da impressão do Code128C
* Impressão do QRCode
? CHR(29) + "(k" + CHR(iLow) + CHR(iHigh)+CHR(49)+CHR(80)+CHR(48)+ x_URL_QrCode && QRCode PROPRIAMENTE DITO
? CHR(29) + "(k"+ CHR(3)+CHR(0)+CHR(49)+CHR(81)+CHR(48)
Return Nil
Procedure Setalternate(cParam)
If cParam == Nil
Set Cons on
Set Alter to
Set Alter off
Else
Set cons off
Set Alter to &cParam
Set Alter on
Endif
Return (Nil)
**
* FINAL DO PROGRAMA DEMO.PRG
**
c) a partir de 01-01-2018, para os contribuintes que auferirem receita bruta superior a R$ 60.000,00 no ano de 2017;
d) decorrido o prazo indicado na alínea “b”, a partir do primeiro dia do ano subsequente àquele em que o contribuinte auferir receita bruta superior a R$ 81.000,00; (Redação dada à alínea pela Portaria CAT-108/16, de 10-11-2016; DOE 11-11-2016)
d) decorrido o prazo indicado na alínea “c”, a partir do primeiro dia do ano subsequente àquele em que o contribuinte auferir receita bruta superior a R$ 60.000,00;
Isso para quem ainda não se enquadrou no Inciso "I" e nem na Alínea "a" do Inciso "II" do Artigo 27 da Portaria CAT 147/12 (link acima no post do José), ou seja, quem faturou R$ 100.000,00 (cem mil) em 2015, ou quem tem ECF com 5 anos ou mais da data da primeira lacração e ainda não tem SAT está irregular segundo essa Portaria.JoséQuintas escreveu:Mas pelo que vi na lei, só é obrigado a SAT se o faturamento for superior a 60.000
Aadd( acTxt, Replicate( "-", 60 ) )
Aadd( acTxt, Padc( AppEmpresaNome(), 60 ) )
Aadd( acTxt, Padc( Trim( jpempre->emEndereco ) + " " + Trim( jpempre->emBairro ) + " " + Trim( jpempre->emCidade ), 60 ) )
IF ! Empty(jpempre->emHomePage)
Aadd( acTxt, Padc( "Site " + Trim( jpempre->emHomePage ), 60 ) )
ENDIF
Aadd( acTxt, Padc( "FONE: " + Trim( jpempre->emTelefone ), 60 ) )
Aadd( acTxt, Replicate( "-", 60 ) )
Aadd( acTxt, "" )
Aadd( acTxt, Padc( "Cupom " + jpnota->nfNotFis + " - "+iif( jpnota->nfCfOp > "5.000", "Saida", "Entrada" ), 60 ) )
Aadd( acTxt, Padc( "Emissao " + Dtoc( jpnota->nfDatEmi ), 60 ) )
Aadd( acTxt, Replicate( "-",60 ) )
Encontra( jppedi->pdCliFor, "jpcadas", "numlan" )
Aadd( acTxt, "Nome:" + Trim( jpcadas->cdNome ) + " (" + jppedi->PdCliFor + ")" )
Aadd( acTxt, "Endereco:" + Trim( jpcadas->cdEndereco ) )
Aadd( acTxt, "CEP/Cidade/UF:" + jpcadas->cdCep + " " + jpcadas->cdUf + " " + Trim( jpcadas->cdCidade ) )
Aadd( acTxt, Replicate( "-", 60 ) )
Isso mesmo José. Para CF-e não é DANFE, é oficialmente nominado EXTRATO enquanto XML, e CUPOM FISCAL SAT quando impresso. Já para NFC-e obviamente Nota Fiscal ao Consumidor Eletrônica enquanto XML e DANFE quando impresso.JoséQuintas escreveu:Documento Auxiliar de Nota Fiscal ao Consumidor Eletrônica
Pelo nome, isso é para NFCe, e não para CFe.
Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes