Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit UNFSe;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, StdCtrls,
- bsSkinData, Mask, bsSkinBoxCtrls, bsdbctrls, DateUtils, UTypes, DB, ADODB, UConfig,
- UntPrincipalDLL, UClasses, SnapBaseDataset, SnapVirtualDataset, Grids,
- DBGrids, JvExDBGrids, JvDBGrid, Midas, Buttons, JvgGroupBox, JvComponentBase,
- JvgCaption, JvExButtons, JvBitBtn, JvExStdCtrls, JvExControls,
- JvLabel, JvExMask, URotinas, JvGradient, JvGradientHeaderPanel,
- JvgExportComponents, frxClass, frxDBSet, JvAnimatedImage, JvGIFCtrl, ExtCtrls,
- JvExExtCtrls, JvExtComponent, JvPanel, SnapObjectDataset,StrUtils, JvCombobox,
- JvToolEdit, DBClient, frxExportText, frxExportPDF;
- type
- TfrmNotas = class(TForm)
- dsNFSe: TDataSource;
- grbFiltro: TJvgGroupBox;
- DateInicial: TJvDateEdit;
- JvLabel1: TJvLabel;
- JvLabel2: TJvLabel;
- DateFim: TJvDateEdit;
- JvLabel3: TJvLabel;
- cmbStatus: TJvComboBox;
- btnFiltrar: TJvBitBtn;
- dbgridNFS: TJvDBGrid;
- gpnlBotoes: TJvGradientHeaderPanel;
- btnCancelar: TJvBitBtn;
- btnExportar: TJvBitBtn;
- btnConsultar: TJvBitBtn;
- btnImprimir: TJvBitBtn;
- btnEnviar: TJvBitBtn;
- JvGradient1: TJvGradient;
- JvGradient2: TJvGradient;
- frxrptReciboRPS: TfrxReport;
- frxDBdstRecibo: TfrxDBDataset;
- pnlSleep: TJvPanel;
- gifSleep: TJvGIFAnimator;
- lblMensagem: TLabel;
- svdItensNFs: TSnapVirtualDataset;
- svdItensNFsDescricao: TStringField;
- svdItensNFsQuantidade: TFloatField;
- svdItensNFsVrUnitario: TFloatField;
- svdItensNFsVrTotal: TFloatField;
- frxdbdstItensRecibo: TfrxDBDataset;
- svdNFsSelecteds: TSnapVirtualDataset;
- svdNFsSelectedsDtEmissao: TDateTimeField;
- svdNFsSelectedsTotal: TCurrencyField;
- svdNFsSelectedsId_NotaFiscal: TIntegerField;
- svdNFsSelectedsRPS: TIntegerField;
- svdNFsSelectedsPrestador_RazaoSocial: TStringField;
- svdNFsSelectedsPrestador_Bairro: TStringField;
- svdNFsSelectedsPrestador_Numero: TStringField;
- svdNFsSelectedsPrestador_Complemento: TStringField;
- svdNFsSelectedsPrestador_Rua: TStringField;
- svdNFsSelectedsPrestador_Cidade: TStringField;
- svdNFsSelectedsPrestador_UF: TStringField;
- svdNFsSelectedsPrestador_IM: TStringField;
- svdNFsSelectedsPrestador_CEP: TStringField;
- svdNFsSelectedsTomador_RazaoSocial: TStringField;
- svdNFsSelectedsTomador_CNPJCPF: TStringField;
- svdNFsSelectedsTomador_Bairro: TStringField;
- svdNFsSelectedsTomador_Numero: TStringField;
- svdNFsSelectedsTomador_Complemento: TStringField;
- svdNFsSelectedsTomador_Rua: TStringField;
- svdNFsSelectedsTomador_Cidade: TStringField;
- svdNFsSelectedsTomador_UF: TStringField;
- svdNFsSelectedsTomador_IM: TStringField;
- svdNFsSelectedsTomador_CEP: TStringField;
- svdNFsSelectedsTomador_Email: TStringField;
- svdNFsSelectedsDescricao: TWideStringField;
- svdNFsSelectedsPercPIS: TCurrencyField;
- svdNFsSelectedsValorPIS: TCurrencyField;
- svdNFsSelectedsPercCOFINS: TCurrencyField;
- svdNFsSelectedsValorCOFINS: TCurrencyField;
- svdNFsSelectedsPercIR: TCurrencyField;
- svdNFsSelectedsValorIR: TCurrencyField;
- svdNFsSelectedsPercINSS: TCurrencyField;
- svdNFsSelectedsValorINSS: TCurrencyField;
- svdNFsSelectedsTotalDeducoes: TCurrencyField;
- svdNFsSelectedsValorISS: TCurrencyField;
- svdNFsSelectedsPercCSLL: TCurrencyField;
- svdNFsSelectedsValorCSLL: TCurrencyField;
- svdNFsSelectedsPercISS: TCurrencyField;
- svdNFsSelectedsPrestador_CNPJCPF: TStringField;
- svdNFs: TSnapVirtualDataset;
- svdNFsEscolhido: TBooleanField;
- svdNFsSerie: TStringField;
- svdNFsDtEmissao: TDateTimeField;
- svdNFsStatus: TSmallintField;
- svdNFsTotal: TCurrencyField;
- svdNFsId_NotaFiscal: TIntegerField;
- svdNFsPrestador_CNPJCPF: TStringField;
- svdNFsPrestador_RazaoSocial: TStringField;
- svdNFsTomador_RazaoSocial: TStringField;
- svdNFsTomador_CNPJCPF: TStringField;
- svdNFsDtEnvio: TDateTimeField;
- svdNFsDtProcessada: TDateTimeField;
- svdNFsDtCancelada: TDateTimeField;
- cdsNFSe: TClientDataSet;
- cdsNFSeEscolhido: TBooleanField;
- cdsNFSeSerie: TStringField;
- cdsNFSeDtEmissao: TDateTimeField;
- cdsNFSeStatus: TSmallintField;
- cdsNFSeTotal: TCurrencyField;
- cdsNFSeId_NotaFiscal: TIntegerField;
- cdsNFSePrestador_CNPJCPF: TStringField;
- cdsNFSePrestador_RazaoSocial: TStringField;
- cdsNFSeTomador_RazaoSocial: TStringField;
- cdsNFSeTomador_CNPJCPF: TStringField;
- cdsNFSeDtEnvio: TDateTimeField;
- cdsNFSeDtProcessada: TDateTimeField;
- cdsNFSeDtCancelada: TDateTimeField;
- frxexpPFD: TfrxPDFExport;
- frxexpText: TfrxSimpleTextExport;
- DataSource1: TDataSource;
- DataSource2: TDataSource;
- procedure FormCreate(Sender: TObject);
- procedure dbgridNfsValidaCelula(Sender: TObject; Column: TbsColumn;
- var Valido: Boolean);
- procedure FormDestroy(Sender: TObject);
- procedure btnFiltrarClick(Sender: TObject);
- procedure svdNFsGetDataValue(Sender: TSnapCustomDataset; AField: TField;
- AIndex: Integer; var AValue: Variant);
- procedure svdNFsSetDataValue(Sender: TSnapCustomDataset; AField: TField;
- AIndex: Integer; AValue: Variant);
- procedure svdNFsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- procedure dbgridNFSKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure svdNFsStatusGetText(Sender: TField; var Text: string;
- DisplayText: Boolean);
- procedure btnEnviarClick(Sender: TObject);
- procedure dsNFSeDataChange(Sender: TObject; Field: TField);
- procedure btnConsultarClick(Sender: TObject);
- procedure svdNFsBeforeInsert(DataSet: TDataSet);
- procedure svdNFsBeforeDelete(DataSet: TDataSet);
- procedure gifSleepStart(Sender: TObject);
- procedure svdNFsDtEmissaoGetText(Sender: TField; var Text: string;
- DisplayText: Boolean);
- procedure btnImprimirClick(Sender: TObject);
- procedure svdItensNFsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- procedure svdItensNFsGetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; var AValue: Variant);
- procedure svdNFsSelectedsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- procedure svdNFsSelectedsGetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; var AValue: Variant);
- procedure svdNFsSelectedsAfterScroll(DataSet: TDataSet);
- procedure cdsNFSeAfterPost(DataSet: TDataSet);
- procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
- private
- FNotas :TNFSs;
- FErro: Integer;
- FStatusAtual :TStatusNFSe;
- procedure SetErro(const Value: Integer);
- procedure CarregaClient(DataSet :TClientDataSet);
- procedure GetDataValue(AField :TField; AIndex :Integer);
- procedure SetDataValue(AField :TField; AIndex :Integer);
- public
- procedure ShowSleep(AMensagem :string = '');
- procedure HideSleep;
- procedure ControlaBotoes(AStatus :TStatusNFSe);
- property Erro :Integer read FErro write SetErro;
- end;
- var
- frmNotas: TfrmNotas;
- implementation
- uses UMensagens;
- {$R *.dfm}
- procedure TfrmNotas.btnConsultarClick(Sender: TObject);
- var
- i :Integer;
- Lotes :TLotesNFSe;
- begin
- try
- ShowSleep('Consultando Lotes...');
- Lotes := TLotesNFSe.Create;
- for I := 0 to FNotas.Selected.Count - 1 do
- Lotes.Add(FNotas.Selected.Items[i].NFSe.Lote);
- for I := 0 to Lotes.Count - 1 do
- Lotes.Items[i].Consultar;
- finally
- HideSleep;
- btnFiltrar.Click;
- end;
- end;
- procedure TfrmNotas.btnEnviarClick(Sender: TObject);
- var
- I,E, vUltimoNumeroRPS, vCodCidade: Integer;
- vnfse :TNFSes;
- vEmpresas :TEmpresas;
- vPrestador_CNPJCPF,
- vPrestador_InscrMunicipal :PWideChar;
- vLote :TLoteNFSe;
- begin
- if svdNFs.State in [dsInsert, dsEdit] then
- svdNFs.Post;
- vEmpresas := FNotas.Selected.Empresas;
- try
- ShowSleep('Enviando Notas');
- for E := 0 to vEmpresas.Count - 1 do
- try
- if Assigned(vnfse) then
- vnfse := nil;
- vnfse := TNFSes.Create;
- vnfse.Clear;
- vUltimoNumeroRPS := 0;
- vPrestador_CNPJCPF := pwidechar(vEmpresas.Items[E].CNPJ_CPF.OnlyNumber.Value);
- vPrestador_InscrMunicipal := pwidechar(vEmpresas.Items[E].InscrMunicipal.OnlyNumber.Value);
- vCodCidade := vEmpresas.Items[E].Cidade.SIAFI;
- GetErro(ConsultarSeqRps(vCodCidade,vPrestador_CNPJCPF,vPrestador_InscrMunicipal,vUltimoNumeroRPS));
- for I := 0 to FNotas.Selected.Count - 1 do
- if FNotas.Selected.Items[I].Prestador.Equals(vEmpresas.Items[E]) then
- begin
- Inc(vUltimoNumeroRPS);
- if Assigned(FNotas.Selected.Items[I].NFSe.NFS) then
- begin
- if FNotas.Selected.Items[I].NFSe.NumeroRPS < vUltimoNumeroRPS then
- FNotas.Selected.Items[I].NFSe.NumeroRPS := vUltimoNumeroRPS;
- vnfse.Add(FNotas.Selected.Items[I].NFSe);
- end
- else
- with vnfse.add do
- begin
- NFS := FNotas.Selected.Items[I];
- NumeroRPS := vUltimoNumeroRPS;
- end;
- end;
- try
- vLote := TLoteNFSe.Create;
- vLote.NFSes := vnfse;
- if vLote.Enviar(vEmpresas.Items[E],False) then
- begin
- vLote.Post;
- vLote.NFSes.Post(False);
- end;
- finally
- if Assigned(vnfse) then
- vnfse := nil;
- FreeAndNil(vLote);
- end;
- finally
- if Assigned(vnfse) then
- vnfse := nil;
- end;
- finally
- HideSleep;
- btnFiltrar.Click;
- end;
- end;
- procedure TfrmNotas.btnFiltrarClick(Sender: TObject);
- begin
- try
- FStatusAtual := TStatusNFSe(cmbStatus.ItemIndex);
- // svdNFs.Close;
- ShowSleep;
- FNotas.Filter(DateInicial.Date,DateFim.Date,FStatusAtual);
- // svdNFs.Open;
- CarregaClient(cdsNFSe);
- case FStatusAtual of
- snfseEnviada :begin
- dbgridNFS.Columns[4].Visible := True;
- dbgridNFS.Columns[4].FieldName := cdsNFSeDtEnvio.FieldName;
- end;
- snfseProcessada :begin
- dbgridNFS.Columns[4].Visible := True;
- dbgridNFS.Columns[4].FieldName := cdsNFSeDtProcessada.FieldName;
- end;
- snfseCancelada :begin
- dbgridNFS.Columns[4].Visible := True;
- dbgridNFS.Columns[4].FieldName := cdsNFSeDtCancelada.FieldName;
- end;
- else
- begin
- dbgridNFS.Columns[4].Visible := False;
- dbgridNFS.Columns[4].FieldName := '';
- end;
- end;
- dbgridNFS.SetFocus;
- ControlaBotoes(FStatusAtual);
- finally
- HideSleep;
- end;
- end;
- procedure TfrmNotas.btnImprimirClick(Sender: TObject);
- begin
- try
- svdNFsSelecteds.Close;
- svdNFsSelecteds.Open;
- svdNFsSelecteds.First;
- frxrptReciboRPS.LoadFromFile(IncludeTrailingBackslash(Config.PathReports) + 'rps.fr3');
- frxrptReciboRPS.Script.Variables['Imagem'] := Config.PathLogo;
- frxrptReciboRPS.ShowReport;
- except
- on e:exception do
- GeraErro(e.Message);
- end;
- end;
- procedure TfrmNotas.CarregaClient(DataSet: TClientDataSet);
- var
- I,f: Integer;
- begin
- if Assigned(FNotas) and
- Assigned(DataSet) then
- begin
- DataSet.Close;
- DataSet.CreateDataSet;
- DataSet.DisableControls;
- DataSet.Tag := -1;
- for I := 0 to FNotas.Count - 1 do
- begin
- DataSet.Append;
- for f := 0 to DataSet.FieldCount - 1 do
- GetDataValue(DataSet.Fields[f],I);
- DataSet.Post;
- end;
- DataSet.Tag := 0;
- DataSet.First;
- DataSet.EnableControls;
- ControlaBotoes(FStatusAtual);
- end;
- end;
- procedure TfrmNotas.cdsNFSeAfterPost(DataSet: TDataSet);
- begin
- if DataSet.Tag > -1 then
- SetDataValue(cdsNFSeEscolhido,DataSet.RecNo-1);
- end;
- procedure TfrmNotas.ControlaBotoes(AStatus: TStatusNFSe);
- begin
- btnEnviar.Enabled := Assigned(FNotas) and
- (AStatus in [snfseEmDigitacao,snfseEnviada]) and (FNotas.Selected.Count > 0);
- btnCancelar.Enabled := Assigned(FNotas) and
- (AStatus = snfseProcessada) and (FNotas.Selected.Count > 0);
- btnImprimir.Enabled := Assigned(FNotas) and
- (AStatus <> snfseEmDigitacao) and (FNotas.Selected.Count > 0);
- // btnExportar.Enabled := Assigned(FNotas) and
- // (AStatus <> snfseEmDigitacao) and (FNotas.Selected.Count > 0);
- btnConsultar.Enabled := Assigned(FNotas) and
- (AStatus = snfseEnviada) and (FNotas.Selected.Count > 0);
- end;
- procedure TfrmNotas.dbgridNFSKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- if (Shift = [ssCtrl]) and
- Assigned(FNotas) then
- begin
- case Key of
- Ord('T'): begin
- FNotas.SelectAll;
- // svdNFs.Close;
- // svdNFs.Open;
- CarregaClient(cdsNFSe);
- end;
- Ord('L'): begin
- FNotas.DeselectAll;
- // svdNFs.Close;
- // svdNFs.Open;
- CarregaClient(cdsNFSe);
- end;
- end;
- end;
- end;
- procedure TfrmNotas.dbgridNfsValidaCelula(Sender: TObject; Column: TbsColumn;
- var Valido: Boolean);
- begin
- Valido := UpperCase(Column.FieldName) = 'ESCOLHIDO';
- end;
- procedure TfrmNotas.dsNFSeDataChange(Sender: TObject; Field: TField);
- begin
- ControlaBotoes(FStatusAtual);
- end;
- procedure TfrmNotas.FormCreate(Sender: TObject);
- var
- statusnfse :TStringList;
- begin
- statusnfse := StatusNFsToStrings;
- cmbStatus.Items := statusnfse;
- FreeAndNil(statusnfse);
- cmbStatus.ItemIndex := Ord(snfseEmDigitacao);
- DateInicial.Clear;
- DateFim.Clear;
- DateInicial.Date := StartOfTheMonth(Date);
- DateFim.Date := EndOfTheMonth(Date);
- ControlaBotoes(snfseEmDigitacao);
- HideSleep;
- if not Assigned(FNotas) then
- FNotas := TNFSs.Create;
- end;
- procedure TfrmNotas.FormDestroy(Sender: TObject);
- begin
- if Assigned(FNotas) then
- FreeAndNil(FNotas);
- end;
- procedure TfrmNotas.FormKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- begin
- case Key of
- VK_F2 : if btnFiltrar.Enabled and
- btnFiltrar.Visible then
- btnFiltrar.Click;
- VK_F5 : if btnEnviar.Enabled and
- btnEnviar.Visible then
- btnEnviar.Click;
- VK_F6 : if btnConsultar.Enabled and
- btnConsultar.Visible then
- btnConsultar.Click;
- VK_F7 : if btnCancelar.Enabled and
- btnCancelar.Visible then
- btnCancelar.Click;
- VK_F8 : if btnImprimir.Enabled and
- btnImprimir.Visible then
- btnImprimir.Click;
- end;
- end;
- procedure TfrmNotas.GetDataValue(AField: TField; AIndex :Integer);
- begin
- if (AIndex > -1) and
- Assigned(AField) and
- Assigned(FNotas) and
- Assigned(FNotas.Items[AIndex]) then
- with FNotas.Items[AIndex] do
- begin
- if AField.FieldName = cdsNFSeEscolhido.FieldName then
- AField.AsBoolean := Escolhido;
- if AField.FieldName = cdsNFSeDtEmissao.FieldName then
- AField.AsDateTime := DtEmissaoRPS;
- if AField.FieldName = cdsNFSeId_NotaFiscal.FieldName then
- AField.AsInteger := Id_NotaFiscal;
- if AField.FieldName = cdsNFSeSerie.FieldName then
- AField.AsString := Serie;
- if AField.FieldName = cdsNFSeStatus.FieldName then
- if Assigned(NFSe) then
- AField.AsInteger := Ord(NFSe.Status)
- else
- AField.AsInteger := Ord(snfseEmDigitacao);
- if AField.FieldName = cdsNFSeTotal.FieldName then
- AField.AsCurrency := Total;
- if AField.FieldName = cdsNFSeTomador_RazaoSocial.FieldName then
- if Assigned(Tomador) then
- AField.AsString := Tomador.RazaoSocial
- else
- AField.AsString := '';
- if AField.FieldName = cdsNFSeTomador_CNPJCPF.FieldName then
- if Assigned(Tomador) then
- AField.AsString := Tomador.CNPJ_CPF.Formatted
- else
- AField.AsString := '';
- if AField.FieldName = cdsNFSePrestador_RazaoSocial.FieldName then
- if Assigned(Prestador) then
- AField.AsString := Prestador.RazaoSocial
- else
- AField.AsString := '';
- if AField.FieldName = cdsNFSePrestador_CNPJCPF.FieldName then
- if Assigned(Prestador) then
- AField.AsString := Prestador.CNPJ_CPF.Value
- else
- AField.AsString := '';
- if AField.FieldName = cdsNFSeDtEnvio.FieldName then
- if Assigned(NFSe) then
- AField.AsDateTime := NFSe.DtEnvio
- else
- AField.Value := Null;
- if AField.FieldName = cdsNFSeDtProcessada.FieldName then
- if Assigned(NFSe) then
- AField.AsDateTime := NFSe.DtProcessada
- else
- AField.Value := Null;
- if AField.FieldName = cdsNFSeDtCancelada.FieldName then
- if Assigned(NFSe) then
- AField.AsDateTime := NFSe.DtCancelada
- else
- AField.Value := Null;
- end;
- end;
- procedure TfrmNotas.gifSleepStart(Sender: TObject);
- begin
- Application.ProcessMessages;
- end;
- procedure TfrmNotas.HideSleep;
- begin
- pnlSleep.Visible := False;
- gifSleep.Animate := False;
- end;
- procedure TfrmNotas.SetDataValue(AField: TField; AIndex: Integer);
- begin
- if (AIndex > -1) and
- Assigned(AField) and
- Assigned(FNotas) and
- Assigned(FNotas.Items[AIndex]) then
- with FNotas.Items[AIndex] do
- begin
- if AField.FieldName = cdsNFSeEscolhido.FieldName then
- Escolhido := AField.AsBoolean;
- end;
- end;
- procedure TfrmNotas.SetErro(const Value: Integer);
- begin
- FErro := Value;
- end;
- procedure TfrmNotas.ShowSleep(AMensagem :string);
- begin
- if Trim(AMensagem) = '' then
- lblMensagem.Caption := 'Carregando Dados'
- else
- lblMensagem.Caption := AMensagem;
- gifSleep.Animate := true;
- pnlSleep.Visible := True;
- Application.ProcessMessages;
- end;
- procedure TfrmNotas.svdItensNFsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- begin
- ACount := FNotas.Selected.Items[svdNFsSelecteds.RecNo-1].Itens.Count;
- end;
- procedure TfrmNotas.svdItensNFsGetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; var AValue: Variant);
- begin
- if Assigned(FNotas) and
- (FNotas.Selected <> nil) and
- Assigned(FNotas.Selected.Items[svdNFsSelecteds.RecNo-1].Itens) and
- Assigned(FNotas.Selected.Items[svdNFsSelecteds.RecNo-1].Itens.Items[AIndex]) then
- with FNotas.Items[svdNFsSelecteds.RecNo-1].Itens.Items[AIndex] do
- begin
- if AField.FieldName = svdItensNFsDescricao.FieldName then
- AValue := Descricao.Value;
- if AField.FieldName = svdItensNFsQuantidade.FieldName then
- AValue := Quantidade;
- if AField.FieldName = svdItensNFsVrUnitario.FieldName then
- AValue := Unitario;
- if AField.FieldName = svdItensNFsVrTotal.FieldName then
- AValue := Total;
- end;
- end;
- procedure TfrmNotas.svdNFsBeforeDelete(DataSet: TDataSet);
- begin
- Abort;
- end;
- procedure TfrmNotas.svdNFsBeforeInsert(DataSet: TDataSet);
- begin
- Abort;
- end;
- procedure TfrmNotas.svdNFsDtEmissaoGetText(Sender: TField; var Text: string;
- DisplayText: Boolean);
- begin
- if (Sender.IsNull) or (Sender.AsDateTime = 0) then
- Text := ''
- else
- Text := Sender.AsString;
- end;
- procedure TfrmNotas.svdNFsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- begin
- ACount := FNotas.Count;
- end;
- procedure TfrmNotas.svdNFsGetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; var AValue: Variant);
- begin
- if Assigned(FNotas) and
- Assigned(FNotas.Items[AIndex]) then
- with FNotas.Items[AIndex] do
- Begin
- if AField.FieldName = svdNFsEscolhido.FieldName then
- AValue := Escolhido;
- if AField.FieldName = svdNFsDtEmissao.FieldName then
- AValue := DtEmissaoRPS;
- if AField.FieldName = svdNFsId_NotaFiscal.FieldName then
- AValue := Id_NotaFiscal;
- if AField.FieldName = svdNFsSerie.FieldName then
- AValue := Serie;
- if AField.FieldName = svdNFsStatus.FieldName then
- if Assigned(NFSe) then
- AValue := Ord(NFSe.Status)
- else
- AValue := Ord(snfseEmDigitacao);
- if AField.FieldName = svdNFsTotal.FieldName then
- AValue := Total;
- if AField.FieldName = svdNFsTomador_RazaoSocial.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.RazaoSocial
- else
- AValue := '';
- if AField.FieldName = svdNFsTomador_CNPJCPF.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.CNPJ_CPF.Formatted
- else
- AValue := '';
- if AField.FieldName = svdNFsPrestador_RazaoSocial.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.RazaoSocial
- else
- AValue := '';
- if AField.FieldName = svdNFsPrestador_CNPJCPF.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.CNPJ_CPF.Value
- else
- AValue := '';
- if AField.FieldName = svdNFsDtEnvio.FieldName then
- if Assigned(NFSe) then
- AValue := NFSe.DtEnvio
- else
- AValue := 0;
- if AField.FieldName = svdNFsDtProcessada.FieldName then
- if Assigned(NFSe) then
- AValue := NFSe.DtProcessada
- else
- AValue := 0;
- if AField.FieldName = svdNFsDtCancelada.FieldName then
- if Assigned(NFSe) then
- AValue := NFSe.DtCancelada
- else
- AValue := 0;
- End;
- end;
- procedure TfrmNotas.svdNFsSelectedsAfterScroll(DataSet: TDataSet);
- begin
- svdItensNFs.Close;
- svdItensNFs.Open;
- end;
- procedure TfrmNotas.svdNFsSelectedsGetDataCount(Sender: TSnapCustomDataset;
- var ACount: Integer);
- begin
- ACount := FNotas.Selected.Count;
- end;
- procedure TfrmNotas.svdNFsSelectedsGetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; var AValue: Variant);
- begin
- if Assigned(FNotas) and
- (FNotas.Selected <> nil) and
- Assigned(FNotas.Selected.Items[AIndex]) then
- with FNotas.Selected.Items[AIndex] do
- Begin
- if AField.FieldName = svdNFsSelectedsDtEmissao.FieldName then
- AValue := DtEmissaoRPS;
- if AField.FieldName = svdNFsSelectedsId_NotaFiscal.FieldName then
- AValue := Id_NotaFiscal;
- if AField.FieldName = svdNFsSelectedsTotal.FieldName then
- AValue := Total;
- if AField.FieldName = svdNFsSelectedsTomador_RazaoSocial.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.RazaoSocial
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Bairro.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.Bairro
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_CEP.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.CEP.Formatted('#####-###')
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Cidade.FieldName then
- if Assigned(Tomador) and
- Assigned(Tomador.Cidade) then
- AValue := Tomador.Cidade.Nome
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_CNPJCPF.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.CNPJ_CPF.Formatted
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Complemento.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.Complemento
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Email.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.Email
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_IM.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.InscrMunicipal.Value
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Numero.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.NumeroEnd.Value
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_Rua.FieldName then
- if Assigned(Tomador) then
- AValue := Tomador.Endereco
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsTomador_UF.FieldName then
- if Assigned(Tomador) and
- Assigned(Tomador.Cidade) and
- Assigned(Tomador.Cidade.Estado) then
- AValue := Tomador.Cidade.Estado.Uf
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_RazaoSocial.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.RazaoSocial
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_Bairro.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.Bairro
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_CEP.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.CEP.Formatted('99999-999')
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_Cidade.FieldName then
- if Assigned(Prestador) and
- Assigned(Prestador.Cidade) then
- AValue := Prestador.Cidade.Nome
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_CNPJCPF.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.CNPJ_CPF.Formatted
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_Complemento.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.Complemento
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_IM.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.InscrMunicipal.Value
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_Numero.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.NumeroEnd.Value
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_Rua.FieldName then
- if Assigned(Prestador) then
- AValue := Prestador.Endereco
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsPrestador_UF.FieldName then
- if Assigned(Prestador) and
- Assigned(Prestador.Cidade) and
- Assigned(Prestador.Cidade.Estado) then
- AValue := Prestador.Cidade.Estado.Uf
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsRPS.FieldName then
- if Assigned(NFSe) then
- AValue := NFSe.NumeroRPS
- else
- AValue := '';
- if AField.FieldName = svdNFsSelectedsDescricao.FieldName then
- AValue := Descricao;
- if AField.FieldName = svdNFsSelectedsPercCOFINS.FieldName then
- AValue := AliquotaCOFINS;
- if AField.FieldName = svdNFsSelectedsPercCSLL.FieldName then
- AValue := AliquotaCSLL;
- if AField.FieldName = svdNFsSelectedsPercINSS.FieldName then
- AValue := AliquotaINSS;
- if AField.FieldName = svdNFsSelectedsPercIR.FieldName then
- AValue := AliquotaIR;
- if AField.FieldName = svdNFsSelectedsPercPIS.FieldName then
- AValue := AliquotaPIS;
- if AField.FieldName = svdNFsSelectedsPercISS.FieldName then
- AValue := AliquotaISS;
- if AField.FieldName = svdNFsSelectedsValorCOFINS.FieldName then
- AValue := ValorCOFINS;
- if AField.FieldName = svdNFsSelectedsValorCSLL.FieldName then
- AValue := ValorCSLL;
- if AField.FieldName = svdNFsSelectedsValorINSS.FieldName then
- AValue := ValorINSS;
- if AField.FieldName = svdNFsSelectedsValorIR.FieldName then
- AValue := ValorIR;
- if AField.FieldName = svdNFsSelectedsValorPIS.FieldName then
- AValue := ValorPIS;
- if AField.FieldName = svdNFsSelectedsValorISS.FieldName then
- AValue := ValorISS;
- if AField.FieldName = svdNFsSelectedsTotalDeducoes.FieldName then
- if Assigned(Deducoes) then
- AValue := Deducoes.Total
- else
- AValue := 0;
- End;
- end;
- procedure TfrmNotas.svdNFsSetDataValue(Sender: TSnapCustomDataset;
- AField: TField; AIndex: Integer; AValue: Variant);
- begin
- if Assigned(FNotas) and
- Assigned(FNotas.Items[AIndex]) and
- (AField.FieldName = svdNFsEscolhido.FieldName) then
- FNotas.Items[AIndex].Escolhido := AField.AsBoolean;
- end;
- procedure TfrmNotas.svdNFsStatusGetText(Sender: TField; var Text: string;
- DisplayText: Boolean);
- begin
- Text := StatusNFSeToStr(TStatusNFSe(Sender.AsInteger));
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement