public override void Editar() { Devolucao v = new Devolucao(GUID); //fazer um dump dos itens do objeto DumpElement(v.Itens); v.Save(); v.MotivoDevolucao = "Motivo editado, ele devolveu porque quis."; v.Voucher = new NFManual(v.Voucher.GUID); v.Itens.RemoveAt(0); v.Save(); }
public void GerarDevolucaoNFe() { #region variáveis OpenPOS.Data.Faturamento.Lancamento.Movimento.NFe.NFe nfe = null; Devolucao devolucao = null; IList<ICliente> clientes = new Cliente().Find<ICliente>(new Where() { { "cad_Pessoa.nomefantasia", "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM "} }); if (clientes.Count == 0) throw new Exception(); #endregion #region Emitir a nfe nfe = new OpenPOS.Data.Faturamento.Lancamento.Movimento.NFe.NFe(); nfe.QuantidadeVolume = 3; nfe.DadoPessoa = new DadoPessoa { Cliente = clientes[0] }; nfe.Emitente = IndicadorProducao.Proprio; nfe.Situacao = SituacaoNotaFiscal.Normal; nfe.TabelaPreco = new OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; nfe.StatusNF = Status.LoteEmProcessamento; nfe.Motivo = "Teste"; nfe.Chave = "12345678"; nfe.InfProt = "123456"; nfe.Modelo = "55"; nfe.Serie = new OpenPOS.Data.Faturamento.Cadastro.Serie().Find<Model.Faturamento.Cadastro.ISerie>(new Where() { { "fat_Serie.Modelo = '55'"} })[0]; nfe.InformacoesAdicionais.Add(new InfAdic() { Tipo = Enuns.Faturamento.Lancamento.Movimento.NF.InfCplTipo.Contribuinte, Campo = "Teste de CRUD" }); nfe.InformacoesAdicionais.Add(new InfAdic() { Tipo = Enuns.Faturamento.Lancamento.Movimento.NF.InfCplTipo.ObsContribuinte, Campo = "Teste de CRUD Obs" }); ITabelaPreco tabela = OpenPOS.Settings.TabelaPrecoPadrao; nfe.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.NFe.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste um", ItemMovimentado = tabela.Itens[0].Item, Conferido = true, TabelaPreco = tabela, InformacaoAdicional = "Informações adicionais dos produtos, mercadorias e serviços" }); nfe.SaveTemp(); #endregion #region enviar e autorizar a nfe string fileName = nfe.Chave + "-nfe.xml"; string filePath = Path.Combine(OpenPOS.Settings.NFe.PastaEnvio, fileName); ((NFe.IGenerateNFe)nfe).GenerateXML().Save(filePath); OpenPOS.NFe.NFeResult result = ((OpenPOS.Data.Abstract.Faturamento.Lancamento.Movimento.NF.NFBase)nfe).ProcessaResposta(); if (result.Success) { nfe.StatusNF = result.Status; nfe.Chave = result.Chave; nfe.InfProt = result.Protocolo; nfe.Motivo = result.Motivo; nfe.Save(); MessageBox.Show(result.Motivo); } else nfe.Save(); #endregion #region Emitir a devolução devolucao = new Devolucao(); devolucao.MotivoDevolucao = "Não gostou da cor e com defeito"; devolucao.Voucher = nfe; devolucao.TabelaPreco = new OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco().Find<OpenPOS.Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; foreach (OpenPOS.Model.Faturamento.Lancamento.Movimento.Item.NF.IItem item in nfe.Itens) { Model.Faturamento.Lancamento.Movimento.Item.Devolucao.IDevolucaoItem i = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.Devolucao.Item() { ItemMovimentado = item.ItemMovimentado, Quantidade = item.Quantidade, ValorUnitarioBruto = item.ValorUnitarioBruto, DescricaoNF = item.DescricaoNF, MotivoDevolucao = "Com defeito", QuantidadeDevol = item.Quantidade, EstadoItem = Enuns.Faturamento.Lancamento.Movimento.Devolucao.EstadoItem.Defeito, TabelaPreco = item.TabelaPreco }; devolucao.Itens.Add(i); } GUID = devolucao.SaveTemp(); #endregion #region enviar e autorizar a devolução fileName = devolucao.Chave + "-nfe.xml"; filePath = Path.Combine(OpenPOS.Settings.NFe.PastaEnvio, fileName); ((NFe.IGenerateNFe)devolucao).GenerateXML().Save(filePath); result = ((OpenPOS.Data.Abstract.Faturamento.Lancamento.Movimento.NF.NFBase)devolucao).ProcessaResposta(); if (result.Success) { devolucao.StatusNF = result.Status; devolucao.Chave = result.Chave; devolucao.InfProt = result.Protocolo; devolucao.Motivo = result.Motivo; devolucao.Save(); MessageBox.Show("NF-e Devolução: " + result.Motivo); } #endregion }
public override void Gravar() { Devolucao devolucao = new Devolucao(); NFManualTest nfTest = new NFManualTest(); nfTest.Gravar(); NFManual nf = new NFManual(nfTest.GUID); devolucao.MotivoDevolucao = "Não gostou da cor e com defeito"; devolucao.Voucher = nf; devolucao.TabelaPreco = new OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco().Find<OpenPOS.Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; foreach (OpenPOS.Model.Faturamento.Lancamento.Movimento.Item.NF.IItem item in nf.Itens) { Model.Faturamento.Lancamento.Movimento.Item.Devolucao.IDevolucaoItem i = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.Devolucao.Item() { ItemMovimentado = item.ItemMovimentado, Quantidade = item.Quantidade, ValorUnitarioBruto = item.ValorUnitarioBruto, DescricaoNF = item.DescricaoNF, MotivoDevolucao = "Com defeito", QuantidadeDevol = item.Quantidade, EstadoItem = Enuns.Faturamento.Lancamento.Movimento.Devolucao.EstadoItem.Defeito, TabelaPreco = item.TabelaPreco }; devolucao.Itens.Add(i); } GUID = devolucao.Save(); }