Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3917 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Olá amigos, alguém teria algum exemplo de fastreport para a impressão da carta de correção?

 

estou sem ideia para fazer a tela para o usuário fazer o preenchimento dos dados da carta, como vcs estão colocando as informações de GrupoAlterado, CampoAlterado e Valor alterado??

Editado por rrodrigoffernandes
Postado (editado)

Rodrigo,

Boa tarde

Quanto a impressão, eu fiz aqui para o fast a impressão de eventos. Porém meu componente de impressão é totalmente modificado devido a particularidades de clientes, do contrario eu postaria minhas units para serem atualizadas.

 

Já o preenchimento, eu fiz da seguinte forma.

Tenho uma aba com uma Grid contendo os "principais" campos passíveis de alteração, como Nome de rua, Bairro, etc. Nesta grid mostro o nome do grupo alterado, campo alterado e sequencia. Em frente coloco os descritivos dos campos de forma mais clara para o usuário e o valor que consta no XML.

Ex.: 

Grupo Alterado | Campo Alterado | Sequencia | Nome do Campo                       | Valor Original

enderReme       | xCpl                   | 0                | Remetente Complemento End. | CX.POSTAL 63

 

Assim o usuário pode selecionar esses registros e alterar.

 

Para não correr o risco de precisar alterar algo que não está nessa Grid, tenho uma segunda aba com uma TreeView com toda a estrutura do XML, para que o usuário visualize.

Caso precise alterar algo que não consta na a primeira Grid, ele pode visualizar a informação nessa segunda aba, ver o nome das Tags e incluir manualmente esta correção.

Editado por Nellien
  • Curtir 1

Jeanny Paiva Lopes

Analista de Sistemas / Desenvolvedora 

[email protected]

[email protected]
Tel.: +55 (32) 3539-5700

 

 

Postado

Rodrigo,

Boa tarde

Quanto a impressão, eu fiz aqui para o fast a impressão de eventos. Porém meu componente de impressão é totalmente modificado devido a particularidades de clientes, do contrario eu postaria minhas units para serem atualizadas.

 

Já o preenchimento, eu fiz da seguinte forma.

Tenho uma aba com uma Grid contendo os "principais" campos passíveis de alteração, como Nome de rua, Bairro, etc. Nesta grid mostro o nome do grupo alterado, campo alterado e sequencia. Em frente coloco os descritivos dos campos de forma mais clara para o usuário e o valor que consta no XML.

Ex.: 

Grupo Alterado | Campo Alterado | Sequencia | Nome do Campo                       | Valor Original

enderReme       | xCpl                   | 0                | Remetente Complemento End. | CX.POSTAL 63

 

Assim o usuário pode selecionar esses registros e alterar.

 

Para não correr o risco de precisar alterar algo que não está nessa Grid, tenho uma segunda aba com uma TreeView com toda a estrutura do XML, para que o usuário visualize.

Caso precise alterar algo que não consta na a primeira Grid, ele pode visualizar a informação nessa segunda aba, ver o nome das Tags e incluir manualmente esta correção.

Olá Jeanny, seria possível vc enviar um print da sua tela para eu ver? estou bem perdido e não estou conseguindo dar continuidade no projeto devido a ter que informar o grupo e campo alterado, estou achando isso muito complicado para o usuário fazer sozinho, tenho certeza que eles não irão conseguir... tem como vc me mandar algum exemplo?

Postado

Sim.. podem ser corrigidos vários campos.

Lembrando que assim como a NFe a ultima correção é a que prevalece, logo se enviou uma carta, e precisou enviar outra para outro campo, o que foi enviado na primeira deve repetido na segunda.

 

Eu percorro o dataset que tem as correções para adicionar:

CDSDetalheCorrecao.First;
while not CDSDetalheCorrecao.Eof do
begin
  with InfEvento.detEvento.infCorrecao.Add do
  begin
    grupoAlterado := CDSDetalheCorrecao.FieldByName('GRUPO_ALTERADO_EVEDET').AsString;
    campoAlterado := CDSDetalheCorrecao.FieldByName('CAMPO_ALTERADO_EVEDET').AsString;
    valorAlterado := CDSDetalheCorrecao.FieldByName('VALOR_ALTERADO_EVEDET').AsString;
    nroItemAlterado := CDSDetalheCorrecao.FieldByName('SEQUENCIA_ITEM_EVEDET').AsInteger;
  end;
  CDSDetalheCorrecao.Next;
end;

Jeanny Paiva Lopes

Analista de Sistemas / Desenvolvedora 

[email protected]

[email protected]
Tel.: +55 (32) 3539-5700

 

 

Postado

Obrigado Nellien, deu certinho. Só uma dúvida:

Por exemplo o campo forPag, não é um campo descritivo, é um campo nas tags que já tem as opções a serem preenchidas, no caso

fpPago, fpAPagar, fpOutros. Se na carta precisar mudar esse campo, ele precisa informar "fpPago", certo? Você está mascarando no código

isso 1 por 1?

Postado

De acordo com o manual o preenchimento é :

Preencher com: 
0 - Pago; 
1 - A pagar; 
2 - Outros 

 

 

fpPago, fpAPagar, fpOutros são identificadores usados pelo componente. Para a carta de correção você deve enviar o valor do conteúdo de acordo com o manual.

Jeanny Paiva Lopes

Analista de Sistemas / Desenvolvedora 

[email protected]

[email protected]
Tel.: +55 (32) 3539-5700

 

 

  • Este tópico foi criado há 3917 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.