Fórum da Tecnospeed
  • Confira todas as novidades do novo Manager eDoc
  • NFS-e Padrao Unico TecnoSpeed.
Maio 19, 2012, 06:00:38 *
Bem-vindo, Visitante. Por favor faça o Login ou Registro.

Login com nome de usuário, senha e duração da sessão
Notícias: Dúvidas sobre a NT 004/2011? Pergunte ao Contador

http://www.tecnospeed.com.br/forum/o-contador/nota-tecnica-0042011/

Você também pode postar suas dúvidas sobre a NT 004/2011 em nossas redes sociais: http://facebook.com/tecnospeed  ou http://twitter.com/tecnospeed (siga @tecnospeed)
 
   Home   Ajuda Pesquisa Login Registrar  
Páginas: [1]
  Imprimir  
Autor Tópico: NFSe SP - Campo OutrasInformações  (Lida 152 vezes)
jorgepinheiro
Novato
*

Avalie minha resposta | Meus pontos -> +0/-0
Mensagens: 18


Ver Perfil
« : Fevereiro 22, 2012, 17:27:16 »

Boa Tarde Pessoal.

Criei o programa de NFSe via DataSet, mas não existe a o campo de Outrasinformações no exemplo cedido, para as observações da NFSe, alguem poderia me ajudar?

Segue codigo:

  with aNFSeDataset do
  begin
    Incluir;
    Campo('CNPJRemetente').AsString := RemoveCaractCnpj(sAux.FieldByName('CnpjCpf').AsString);//frmDadosAbrasf.edtCnpjPrestador.Text;
    Campo('transacao').AsString := 'true';
    Campo('dtInicio').AsString := FormatDateTime('YYYY-MM-DD', Date);
    Campo('dtFim').AsString := FormatDateTime('YYYY-MM-DD', Date);
    Campo('QtdRPS').AsString := '1';
    Campo('Versao').AsString := '1';

    IncluirParte('RPS');
    Campo('Assinatura').AsString := StringOfChar('0', 40);
    Campo('InscricaoPrestador').AsString := RemoveCaractCnpj(sAux.FieldByName('InscricaoMunicipal').AsString);//frmDadosAbrasf.edtImuPrestador.Text;
    Campo('SerieRPS').AsString := '1';
    Campo('NumeroRPS').AsString:= IntToStr(sEnvioDeNotas.FieldByName('Numero').AsInteger);
    Campo('TipoRPS').AsString := 'RPS';
    Campo('DataEmissao').AsString:= FormatDateTime('YYYY-MM-DD', Date);
    Campo('StatusRPS').AsString := 'N';
    Campo('TributacaoRPS').AsString := 'T';

    _ValorServico := sEnvioDeNotas.FieldByName('ValorDaNota').AsFloat;
    _ValorDeducao := 0.00;

    Campo('ValorServicos').Value:= StringReplace(FloatToStr(_ValorServico), ',', '.', [rfReplaceAll]);//Currency_to_XsdCurrency( _ValorServico );
    Campo('ValorDeducoes').Value:= StringReplace(FloatToStr(_ValorDeducao), ',', '.', [rfReplaceAll]);//Currency_to_XsdCurrency( _ValorDeducao );

    Campo('ValorPIS').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('Pis').AsFloat), ',', '.', [rfReplaceAll]);
    Campo('ValorCOFINS').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('Cofins').AsFloat), ',', '.', [rfReplaceAll]);
    Campo('ValorINSS').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('Inss').AsFloat), ',', '.', [rfReplaceAll]);
    Campo('ValorIR').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('Irrf').AsFloat), ',', '.', [rfReplaceAll]);
    Campo('ValorCSLL').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('Csll').AsFloat), ',', '.', [rfReplaceAll]);
    Campo('CodigoServico').Value:= sEnvioDeNotas.FieldByName('CodigoDoServico').AsString;//+sEnvioDeNotas.FieldByName('NomeDoServico').AsString;
    Campo('AliquotaServicos').Value:= StringReplace(FormatFloat('#######0.00',sEnvioDeNotas.FieldByName('AliquotaServicos').AsFloat), ',', '.', [rfReplaceAll]);
//    Campo('ValorISS').Value:= StringReplace(FormatFloat('#######0.00',_ValorServico*(sEnvioDeNotas.FieldByName('AliquotaServicos').AsFloat/100)), ',', '.', [rfReplaceAll]);

    If sEnvioDeNotas.FieldByName('IssRetido').AsString = 'SIM' Then
      Campo('ISSRetido').Value:= 'true'
    Else
      Campo('ISSRetido').Value:= 'false';
//      Campo('CPFTomador').AsString := 'TOMADOR';//frmDadosAbrasf.edtCpfTomador.Text;
    Campo('CNPJTomador').AsString := RemoveCaractCnpj(sEnvioDeNotas.FieldByName('CnpjCpf').AsString);//frmDadosAbrasf.edtCnpjTomador.Text;
    Campo('InscricaoMunicipalTomador').AsString := RemoveCaractCnpj(sEnvioDeNotas.FieldByName('InscricaoMunicipal').AsString);//frmDadosAbrasf.edtImuTomador.Text;
    //Campo('InscricaoEstadualTomador').AsString := '';
    Campo('RazaoSocialTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('RazaoSocialNome').AsString);
    Campo('TipoLogradouroTomador').AsString := ' ';
    Campo('LogradouroTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Endereco').AsString);
    Campo('NumeroEnderecoTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Numero').AsString);
    Campo('ComplementoEnderecoTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Complemento').AsString);
    Campo('BairroTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Bairro').AsString);
    Campo('CidadeTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('IBGECidade').AsString);
    Campo('UFTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Uf').AsString);
    Campo('CEPTomador').AsString := RemoveCaracter(sEnvioDeNotas.FieldByName('Cep').AsString);
//      Campo('EmailTomadorTomador').AsString := 'jorge@sistecno.com.br';

    Campo('Discriminacao').AsString:= RemoveCaracter(Produto);
    SalvarParte('RPS');

    Campo('ValorTotalServicos').Value:= StringReplace(FloatToStr(_ValorServico), ',', '.', [rfReplaceAll]);
    Campo('ValorTotalDeducoes').Value:= StringReplace(FloatToStr(_ValorDeducao), ',', '.', [rfReplaceAll]);

    Salvar;
  end;
  Result := aNFSeDataset.LoteXML;

Aguardo retorno,

Jorge Pinheiro
Registrado
Henrique - TecnoSpeed
Suporte Técnico
Membro Jr
*****

Avalie minha resposta | Meus pontos -> +1/-0
Mensagens: 41



Ver Perfil
« Responder #1 : Fevereiro 24, 2012, 09:45:48 »

Bom dia Jorge,

Vale lembrar que o campo "Outras informações" não existe para RPS e sim para NFS-e, podemos constatar que este campo é a prefeitura que adiciona a NFS-e na conversão do RPS, porém para acrescentar algum tipo de informação para o campo "OutrasInformacoes" você poderá criar um novo campo no Mapping de Impressão e configurá-lo no DataSet de impressão.
Segue procedimento:
1- Edite o arquivo "MappingImpressao.txt" que se encontra dentro diretório do municípo ex: Esquemas\SaoPaulo\MappingImpressao.txt
2- Procure por ";Definições dos Campos: Impressão de RPS (Impressão Nova)"-> ";Dados customizados do RPS"
3- Adicione um novo campo na próxima linha do grupo ";Dados customizados do RPS" ex:
     ;Dados customizados do RPS
     NaturezaOperacao=String[1]
     RegimeEspecialTributacao=String[1]
     OptanteSimplesNacional=String[1]
     IncentivadorCultural=String[1]
     ValorIss=String[10]
     ValorIssRetido=String[10]
     OutrasRetencoes=String[10]
     BaseCalculo=/RPS/ValorServicos
     ValorLiquidoNfse=String[10]
     DescontoIncondicionado=String[10]
     DescontoCondicionado=String[10]
     CodigoCnae=String[10]
     CodigoTributacaoMunicipio=String[10]
     CodigoMunicipio=String[10]
     CnpjPrestador=String[14]
     NomeFantasiaPrestador=String[80]
     RazaoSocialPrestador=String[80]
     EnderecoPrestador=String[80]
     UfPrestador=String[2]
     NumeroEnderecoPrestador=String[10]
     ComplementoEnderecoPrestador=String[40]
     BairroPrestador=String[40]
     CepPrestador=String[8]
     TelefonePrestador=String[20]
     EmailPrestador=String[80]
     EnderecoTomador=/RPS/EnderecoTomador/Logradouro
     TelefoneTomador=String[20]
     OutrasInformacoesRPS=String[255]

4- Salve o arquivo MappingImpressao.txt

5- Edite o arquivo RTM de impressão utilizando o método "ProxyNFSe.ComponenteNFSe.Impressao.EditarDocumento", repare que o campo "OutrasInformacoesRPS" estará disponível no campo direito "Campos para DadosImpressao"
6- Agora teremos que adicionar o mesmo para que saia junto ao campo "OutrasInformacoes" que consta no layout, siga os procedimentos abaixo:
    6.1 - Clique em Cálculo, canto superior esquerdo-> Clique com botão direito sobre o primeiro frame, canto superior esquerdo, escolha módulo -> Manipuladores de Evento -> No frame superior direito procure pela "procedure OutrasInformacoesOnCalc(var Value: Variant);" e selecione-a -> Antes do último "end;" adicione a seguinte linha Value := IncluirCampoOutrasInformacoes(Value, DadosImpressao['OutrasInformacoesRPS'], 'Outras Informações RPS: '); -> Clique com o botão direito Compilar
    6.2 - Canto superior esquerdo, Arquivo-> Salvar
    6.3 - Após executar o procedimento 6.2 feche o report builder

7- Para adicionar informações ao campo criado "OutrasInformacoesRPS", teremos que popular o DataSet de Impressão conforme procedure de exemplo abaixo:

procedure TfrmExemplo.ConfigurarImpressao(const aXML: string);
begin
//OBS: printRPS ou printNFSeUses spdCustomNFSe
  ProxyNFSe.ComponenteNFSe.Impressao.CriarDatasets(aXML);
  if ProxyNFSe.ComponenteNFSe.ConfiguracoesImpressao.ModoImpressao = printRPS then
  begin
    with ProxyNFSe.ComponenteNFSe.Impressao do
    begin
      First;
      while not Eof do
      begin
        Editar;
        if Campo('OutrasInformacoesRPS').AsString = '' then
          Campo('OutrasInformacoesRPS').AsString := 'Informações para campo outrasinformações teste etc.......';
        Salvar;
        Next;
      end;
    end;
  end;
end;


Pronto, a rotina para adicionar informações ao campo outras informações do RPS está criada, basta sempre alimentar o DataSet de Impressão para que saia impresso no RPS, o mesmo procedimento serve para impressão da NFS-e basta adicionar o campo no DataSet de impressão para NFSe conforme procedimento 2 ";Definições dos Campos: Impressão de NFSe (Impressão Nova)" -> ";Dados customizados da NFSe"




Registrado

Att,

Henrique Cesar Beraldo
jorgepinheiro
Novato
*

Avalie minha resposta | Meus pontos -> +0/-0
Mensagens: 18


Ver Perfil
« Responder #2 : Março 05, 2012, 11:37:32 »

Fiz tudo esta apresentando o erro:

Não foi possível compilar o programa: GlobalOnCreate

Voce tem idéia o que seja....

E aproveitando quando segui o script q vc me passou notei alguns campos e gostaria de saber pra que e como utilizá-los:

;Outras informações
StatusNFe=/Nfse/NFe/StatusNFe
DataHoraCancelamento=/Nfse/NFe/DataCancelamento
TributacaoNFe=/Nfse/NFe/TributacaoNFe
OpcaoSimples=/Nfse/NFe/OpcaoSimples
NumeroGuia=/Nfse/NFe/NumeroGuia
DataQuitacaoGuia=/Nfse/NFe/DataQuitacaoGuia

Att,

Jorge Pinheiro
Registrado
Henrique - TecnoSpeed
Suporte Técnico
Membro Jr
*****

Avalie minha resposta | Meus pontos -> +1/-0
Mensagens: 41



Ver Perfil
« Responder #3 : Março 05, 2012, 15:35:09 »

1- Edite o arquivo RTM de impressão utilizando o método "ProxyNFSe.ComponenteNFSe.Impressao.EditarDocumento"
2- Clique em Cálculo, canto superior esquerdo-> Clique com botão direito sobre o primeiro frame, canto superior esquerdo, escolha módulo -> Evento -> No frame superior direito procure pelo evento "OnCreate" e selecione-o
3- Verifique se o código da procedure GlobalOnCreate está conforme código abaixo

Procedure GlobalOnCreate;
const
  arqLista = '\ListaServicos.txt';  
var
  _arquivo: string;
begin
  ListaServicos := TStringList.Create;
  ListaMunicipios := TStringList.Create;
  
  ModoImpressao := StrToIntDef(Trim(Config['ModoImpressao']), -1);
  _DiretorioTemplates := Trim(Config['DiretorioTemplates']);
  _BrasaoMunicipio := Trim(Config['BrasaoMunicipio']);
  _LogotipoEmitente := Trim(Config['LogotipoEmitente']);
  _ArquivoMunicipios := Trim(Config['ArquivoMunicipios']);
    
  if _DiretorioTemplates <> '' then
  begin
    _arquivo := _DiretorioTemplates + arqLista;  
    if FileExists(_arquivo) then
      ListaServicos.LoadFromFile(_arquivo);
  end;

  if FileExists(_ArquivoMunicipios) then
    ListaMunicipios.LoadFromFile(_ArquivoMunicipios);
  
  if _BrasaoMunicipio <> '' then
  begin
    ImageBrasaoNFSe.Picture.LoadFromFile(_BrasaoMunicipio);
    ImageBrasaoRPS.Picture.LoadFromFile(_BrasaoMunicipio);
  end;

  if _LogotipoEmitente <> '' then
    ImageLogotipoEmitente.Picture.LoadFromFile(_LogotipoEmitente);
end;  


4- Caso esteja diferente altere conforme código acima a clique com o botão direito compilar : Resulta : Compilação Completa : 0 Errors
5- Canto superior esquerdo, Arquivo-> Salvar
6- Após executar o procedimento 5 feche o report builder e teste a impressão.


//////////////////////////////////////////////////////////////
;Outras informações
StatusNFe=/Nfse/NFe/StatusNFe
Status da NF-e:
N – Normal;
C – Cancelada;
E – Extraviada.

DataHoraCancelamento=/Nfse/NFe/DataCancelamento
Data do cancelamento

TributacaoNFe=/Nfse/NFe/TributacaoNFe
Tipo de Tributação:
T - Tributação no município de São Paulo;
F - Tributação fora do município de São Paulo;
I – Isento;
J - ISS Suspenso por Decisão Judicial.

OpcaoSimples=/Nfse/NFe/OpcaoSimples
Opção pelo Simples:
0 - Não-optante pelo Simples Federal nem Municipal;
1 - Optante pelo Simples Federal (Alíquota de 1,0%);
2 - Optante pelo Simples Federal (Alíquota de 0,5%);
3 - Optante pelo Simples Municipal.
4 - Optante pelo Simples Nacional.

NumeroGuia=/Nfse/NFe/NumeroGuia
Número da guia vinculada a NFS-e.

DataQuitacaoGuia=/Nfse/NFe/DataQuitacaoGuia
Data de quitação da guia vinculada a NFS-e.
« Última modificação: Março 05, 2012, 15:51:54 por Henrique - TecnoSpeed » Registrado

Att,

Henrique Cesar Beraldo
jorgepinheiro
Novato
*

Avalie minha resposta | Meus pontos -> +0/-0
Mensagens: 18


Ver Perfil
« Responder #4 : Março 08, 2012, 09:23:06 »

Só restou uma duvida....Muito obrigado pelo excelente suporte.

A observação do RPS se eu informação é automaticamente convertida em observacao da Nota Fiscal?

Aguardo retorno,

Jorge
Registrado
Henrique - TecnoSpeed
Suporte Técnico
Membro Jr
*****

Avalie minha resposta | Meus pontos -> +1/-0
Mensagens: 41



Ver Perfil
« Responder #5 : Março 08, 2012, 18:06:04 »

Boa tarde Jorge,
Para que saia as mesma informações na impressão da NFS-e você também deverá popular o DataSet de impressão para o campo "OutrasInformacoes".
Grato!
Registrado

Att,

Henrique Cesar Beraldo
Páginas: [1]
  Imprimir  
 
Ir para:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines XHTML 1.0 Válido! CSS Válido!