Iniciar uma conversa

Criando uma Nota Fiscal

Neste tutorial vamos aprender a criar uma aplicação de Nota Fiscal utilizando o Report PDF.

Para este exemplo, utilizaremos as informações de duas tabelas. Pedidos e Itens do Pedido

  • Pedidos

CREATE TABLE `adm_pedidos` (
`PedidoID` int(11) NOT NULL default '0',
`ClienteId` varchar(5) default NULL,
`DataPedido` date default NULL,
`DataPrevista` date default NULL,
`DataEnvio` date default NULL,
`EnvioVia` int(11) default NULL,
`ValorFrete` decimal(16,4) default NULL,
`ValorPedido` decimal(16,2) default NULL,
`DestNome` varchar(40) default NULL,
`DestEndereco` varchar(60) default NULL,
`DestCidade` varchar(15) default NULL,
`DestEstado` varchar(15) default NULL,
`DestCaixaPostal` varchar(10) default NULL,
`DestPais` varchar(15) default NULL,
PRIMARY KEY (`PedidoID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;

 

  • Itens do Pedido 

CREATE TABLE `adm_pedido_itens` (
`ID` int(11) NOT NULL auto_increment,
`PedidoID` int(11) NOT NULL default '0',
`ProdutoID` int(11) NOT NULL default '0',
`PrecoUnit` decimal(16,4) NOT NULL default '0.00',
`Quantidade` smallint(6) NOT NULL default '0',
`Desconto` decimal(16,2) NOT NULL default '0.00',
`Total` decimal(16,2) NOT NULL default '0.00',
PRIMARY KEY (`PedidoID`,`ID`),
UNIQUE KEY `ID` (`ID`),
KEY `PedidoID` (`PedidoID`),
KEY `ProdutoID` (`ProdutoID`),
CONSTRAINT `0_1541` FOREIGN KEY (`PedidoID`) REFERENCES `adm_pedidos` (`PedidoID`),
CONSTRAINT `0_1542` FOREIGN KEY (`ProdutoID`) REFERENCES `adm_produtos` (`ProdutoID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED;

 

A nossa aplicação de Report PDF, será baseada na tabela de Pedidos. Após criar a aplicação, editaremos as configurações de visualização da mesma.

OBS: Utilizaremos uma imagem de uma nota fiscal para que esta seja exibida na aplicação como um plano de fundo.

 

1. Faça o Upload da nota fiscal e selecione-a. Informe a largura, altura e posição da imagem da nota fiscal a ser exibida. Você pode habilitar a régua de ajuda, para auxiliar no posicionamento da imagem e campos.

 

2. Agora criaremos dois novos campos: vl_nota e itens_pedido.

  • vl_nota: Será do tipo moeda, ele será utilizado para exibir o valor total do pedido.

  • Itens_pedido: Será do tipo subselect, este tipo de campo é exclusivo do Report PDF, com ele podemos criar um comando select para exibir informações pertencentes a uma tabela diferenda da selecionada na criação da aplicação. Desta forma podemos trabalhar com relacionamento 1:N. Exemplo(Pedidos e Itens do Pedido, categorias e produtos).

 

 

 3. Neste exemplo utilizaremos as seguintes informações no campo subselect:

Incremento: 7 (Indica a distância entre as linhas dos registros). 

Conexão: sc_samples 

Tabela: adm_pedido_itens

Ao selecionar a tabela, o comando SQL com todos os campos da tabela será criado automaticamente.

 

Para que sejam exibidos os itens do pedido conrespondentes ao pedido exibido adicionaremos a seguinte cláusula WHERE no SQL: WHERE PedidoID 

Adicionaremos a seguinte cláusula WHERE no SQL: WHERE PedidoID = '{PedidoID}'

 

4. Para posicionar as informação vindas do campo subselect, você tem que acessar o menu Layout PDF>Interface.

 

5. Removeremos da exibição as células desnecessárias (cell_PedidoID, cell_EmpresaID, cell_EmpregadoID, cell_DataPedido, cell_DataPrevista, cell_DataEnvio, cell_EnvioVia, cell_DestNome, cell_DestPais, cell_itens_pedido_PedidoID, cell_itens_pedido_Desconto). Para isto, você tem que acessar o menu Layout PDF>Interface e clicar no ícone da lixeira().

 

 

Informando o Posicionamento das células exibidas.

CÉLULA

POS X

POS Y

ALINHAMENTO

cell_ClienteId

30

75

Esquerda

cell_ValorFrete

135

196

Direita

cell_ValorPedido

135

190

Direita

cell_DestEndereco

33

81

Esquerda

cell_DestCidade

37

87

Esquerda

cell_DestEstado

107

87

Esquerda

cell_DestCaixaPostal

142

87

Esquerda

cell_vl_nota

135

202

Direita

cell_itens_pedido_ProdutoID

40

121

Esquerda

cell_itens_pedido_PrecoUnit

117

121

Direita

cell_itens_pedido_Quantidade

18

121

Esquerda

cell_itens_pedido_Total

136

121

Direita



Visualização da Aplicação

 

Escolher arquivos ou arraste e solte arquivos
Esse artigo foi útil?
Sim
Não
  1. Amanda Santos (Migrated deleted Agent)

  2. Publicado
  3. Atualizado

Comentários