| ♥ 0 | Saudações pessoal. Quando crio uma factura via motores elas aparecem na janela Movimentos Diferidos.Como faço para exportar para Bancos via motores? Marcado como spam |
Comentários @aquiles Tens de ser tu a fazer isso por integração através da API. Vais buscar o documento e depois gravas o movimento. |
1 respostas
| Resposta privada Boa tarde.
Depois de guardar o documento de venda, guarde-o e invoque esta função que criei para não ficar o documento "pendente" nos movimentos diferidos.
''' <summary>
''' Grava um documento de tesouraria "ligado" a um documento de venda
''' </summary>
''' <param name="ObjTabVenda"></param>
''' <param name="objDocVenda"></param>
''' <returns></returns>
Private Shared Function GravaDocumentoTesourariaVnd(ByRef ObjTabVenda As VndBE100.VndBETabVenda, ByRef objDocVenda As VndBE100.VndBEDocumentoVenda) As Tuple(Of Boolean, Boolean, String)
Dim objDocTesouraria As TesBE100.TesBEDocumentoTesouraria
Dim strErrosAvisos As String = ""
Dim temLigTesouraria As Boolean = False
Dim fezDocTesouraria As Boolean = False
Dim res As Tuple(Of Boolean, Boolean, String) = New Tuple(Of Boolean, Boolean, String)(temLigTesouraria, fezDocTesouraria, strErrosAvisos)
Try
' se o documento tem ligação à tesouraria
If ObjTabVenda.LigacaoTesouraria Then
temLigTesouraria = True
objDocTesouraria = New TesBE100.TesBEDocumentoTesouraria
With objDocTesouraria
.Tipodoc = ObjTabVenda.DocumentoTesouraria
.Serie = GSV_Motor.Base.Series.DaSerieDefeito(ConstantesPrimavera100.Modulos.Bancos, ObjTabVenda.DocumentoTesouraria, objDocVenda.DataDoc)
.TipoEntidade = objDocVenda.TipoEntidade
.Entidade = objDocVenda.Entidade
.Data = objDocVenda.DataDoc
.DataIntroducao = objDocVenda.DataDoc
.EmModoEdicao = False
.Filial = objDocVenda.Filial
.ModuloOrigem = ConstantesPrimavera100.Modulos.Vendas
.IdDocOrigem = objDocVenda.ID
.Cambio = objDocVenda.Cambio
.CambioMAlt = objDocVenda.CambioMAlt
.CambioMBase = objDocVenda.CambioMBase
.TipoLancamento = objDocVenda.TipoLancamento
.Observacoes = String.Format("Documento de venda {0} {1}{2}", objDocVenda.Tipodoc, objDocVenda.NumDoc, objDocVenda.Serie)
End With
GSV_Motor.Tesouraria.Documentos.AdicionaLinha(objDocTesouraria, objDocVenda.ModoPag, GSV_Motor.Tesouraria.Params.ContaRecebimento, MoedaBase, objDocVenda.TotalDocumento)
If Not GSV_Motor.Tesouraria.Documentos.ValidaActualizacao(objDocTesouraria, strErrosAvisos) Then
'ignorance is a bliss...
Else
GSV_Motor.Tesouraria.Documentos.Actualiza(objDocTesouraria, strErrosAvisos)
fezDocTesouraria = True
End If
Else
temLigTesouraria = False
End If
res = New Tuple(Of Boolean, Boolean, String)(temLigTesouraria, fezDocTesouraria, strErrosAvisos)
Catch ex As Exception
'ocorreu um erro
'MessageBox.Show(ex.Message, "Erro em GravaDocumentoTesourariaVnd: ", MessageBoxButtons.OK, MessageBoxIcon.Error)
res = New Tuple(Of Boolean, Boolean, String)(temLigTesouraria, fezDocTesouraria, ex.Message)
Err.Clear()
Finally
objDocTesouraria = Nothing
End Try
Return res
End FunctionEspero que ajude. Marcado como spam |