Skip to content

Instantly share code, notes, and snippets.

@acras
Created September 6, 2016 02:44
Show Gist options
  • Save acras/d4d49bb20b19fd9a097105f2fe785f01 to your computer and use it in GitHub Desktop.
Save acras/d4d49bb20b19fd9a097105f2fe785f01 to your computer and use it in GitHub Desktop.
Emissão de NFSe pelo Focus NFe através do Delphi
procedure postToServer(content: TStream);
var
url, prefixoRef, nomeTabela, nomePK: string;
response: TStringStream;
begin
url := '?token=' + 'aaOqeu3poIWHM1VksU7EzVKPsai9RxGyM' + //alterar o token pelo seu token enviado pelo suporte
'&ref=' + 'sua_ref'; //alterar sua_ref pela identificação interna da nota em seu sistema
response := TStringStream.Create('');
try
HTTP.Post('http://producao.acrasnfe.acras.com.br/nfse2/curitiba/autorizar' + url,
content, response);
//adicionar sua lógica para marcar a nota como enviada
except
on e: EIdHTTPProtocolException do
begin
ShowMessage('Ocorreu um erro no envio da nota: ' + e.ErrorMessage);
//Adicionar aqui a sua lógica para manejo do erro no envio
end;
end;
end;
function emiteNFSeCobranca;
var
qry, qryItens, qryCliente: TosSQLQuery;
dados, servicos: TStringList;
iCount, jCount: integer;
cfop, nomeFieldValor: string;
strStream: TStringStream;
totalProdutos, desconto, valorNota, valorFrete: double;
data: TDateTime;
begin
dados := TStringList.Create;
try
dados.add('data_emissao: ' + quotedStr(DateTimeToXMLTime(Date.today)));
dados.add('natureza_operacao: ' + quotedStr('1'));
dados.add('optante_simples_nacional: ' + quotedStr('1'));
dados.add('incentivador_cultural: ' + quotedStr('2'));
dados.add('status: ' + quotedStr('1'));
dados.add('servico:');
dados.add(' item_lista_servico: ' + quotedStr('107'));
dados.add(' codigo_cnae: ' + quotedStr('6311900'));
dados.add(' discriminacao: |-');
dados.Add(' Texto dos serviços.');
dados.add(' valor_servicos: ' + quotedStr(formatFloat('0.00', qry.fieldByName('valor').asFloat)));
dados.add(' valor_deducoes: ' + quotedStr('0.00'));
dados.add(' valor_pis: ' + quotedStr('0.00'));
dados.add(' valor_cofins: ' + quotedStr('0.00'));
dados.add(' valor_inss: ' + quotedStr('0.00'));
dados.add(' valor_ir: ' + quotedStr('0.00'));
dados.add(' valor_csll: ' + quotedStr('0.00'));
dados.add(' iss_retido: ' + quotedStr('2'));
dados.add(' valor_iss: ' + quotedStr('0.00'));
dados.add(' valor_iss_retido: ' + quotedStr('0.00'));
dados.add(' outras_retencoes: ' + quotedStr('0.00'));
dados.add(' base_calculo: ' + quotedStr(formatFloat('0.00', qry.fieldByName('valor').asFloat)));
dados.add(' aliquota: ' + quotedStr('0.00'));
dados.add(' valor_liquido: ' + quotedStr(formatFloat('0.00', qry.fieldByName('valor').asFloat)));
dados.add(' desconto_incondicionado: ' + quotedStr('0.00'));
dados.add(' desconto_condicionado: ' + quotedStr('0.00'));
dados.add('prestador:');
dados.add(' cnpj: ' + quotedStr('11111111111111'));
dados.add(' inscricao_municipal: ' + quotedStr('111111111'));
dados.add('tomador:');
dados.add(' cnpj: ' + quotedStr('22222222222222');
dados.add(' razao_social: ' + quotedStr('Razao Social LTDA');
dados.add(' endereco:');
dados.add(' logradouro: ' + quotedStr('Rua Tal'));
dados.add(' numero: ' + quotedStr('99999');
dados.add(' bairro: ' + quotedStr('Bairro');
dados.add(' uf: ' + quotedStr('UF');
dados.add(' codigo_municipio: ' + '414141');
dados.add(' cep: ' + quotedStr('0000000');
strStream := TStringStream.Create(utf8encode(trim(dados.Text)));
postToServer(strStream);
finally
FreeAndNil(dados);
end;
end;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment