Fórum
Ver pergunta

Ligação de cliente com a Contabilidade   

103 visualizações
Categoria::
0
0

Boa tarde, usando a API como faço a ligação de um cliente, recém criado, com a contabilidade.

Obrigado.

Faça login para poder traduzir
Integração
V10
Marcado como spam
Criado há 5 anos e 5 meses jorgepereira
j
jorgepereira Iniciante
3 respostas
2
Resposta privada

Bom dia podem por exemplo implementar a vossa própria implementação usando o seguinte código como exemplo:

//Cria as Contas no Primavera
try
{
	ArrayList ListaAnosExistentes = Plat.PRIConnector.Consulta("SELECT MIN(ANO) as 'Minimo', MAX(ANO) as 'Máximo' FROM PLANOCONTAS");
	int anoMinimo;
	int anoMaximo;
	if (ListaAnosExistentes.Count > 0)
	{
		object[] anos = (object[])ListaAnosExistentes[0];
		int.TryParse(anos[0].ToString(), out anoMinimo);
		int.TryParse(anos[1].ToString(), out anoMaximo);

		ArrayList ListaPlanos = Plat.PRIConnector.Consulta("SELECT Plano from Planosdepreciacao");
		for (int i = 0; i < ListaPlanos.Count; i++)
		{
			object[] plano = (object[])ListaPlanos[i];

			for (int j = anoMinimo; j <= anoMaximo; j++)
			{
				Plat.PRIConnector.Executa("INSERT INTO CnfTabLigCbl (Id, Tabela, Ano, Plano, Entidade, Coluna, Conta) VALUES('{" + Guid.NewGuid().ToString() + "}', 1, '" + j.ToString() + "', '" + plano[0].ToString() + "', '" + beAluno.Text + "', 1, '" + ContaCompletaFinal.Substring(ContaCompletaFinal.Length >= TamanhoContaFinal ? (ContaCompletaFinal.Length - TamanhoContaFinal) : 0, ContaCompletaFinal.Length >= TamanhoContaFinal ? TamanhoContaFinal : ContaCompletaFinal.Length) + "')");
			}
		}

		ArrayList ContasAutomaticas = new ArrayList();
		for (int j = anoMinimo; j < anoMaximo; j++)
		{
			foreach (FastDataRow row in TabelaAberturaContas.Rows)
			{
				if ((bool)row["Confirmado"])
				{
					ContasAutomaticas.Add(new string[5] { j.ToString(), row["Conta"].ToString(), row["Descricao"].ToString(), "C", beAluno.Text });
				}
			}
		}

		string[,] varData = new string[5 + 1, ContasAutomaticas.Count + 1];
		//varData(1,X) 'Ano 
		//varData(2,X) 'Conta 
		//varData(3,X) 'Descrição Conta 
		//varData(4,X) 'Tipo Terceiro Conta (opcional) 
		//varData(5,X) 'Terceiro da conta (opcional) 

		int k = 0;
		foreach (string[] item in ContasAutomaticas)
		{
			varData[1, k + 1] = item[0];
			varData[2, k + 1] = item[1];
			varData[3, k + 1] = item[2];
			varData[4, k + 1] = item[3];
			varData[5, k + 1] = item[4];

			k++;
		}

		Plat.Primavera.Contabilidade.PlanoContas.CriaContasAutomaticas(varData);
		BeginInvoke(new Action(() => { Close(); }));

	}
}
catch (Exception ex)
{
	Program.ravenClient.Capture(new SentryEvent(ex));

	Plat.TerminaDialogoEspera();
	Application.DoEvents();
	XtraMessageBox.Show(this, "Ocorreu um Erro ao criar as contas de Contabilidade", "Segurança de Dados", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}

 

Faça login para poder traduzir
Marcado como spam
Criado há 5 anos e 5 meses brunobola
b
brunobola Iniciante
    Comentários

    @brunobola BOA.

    5 anos e 5 meses
    sergiosereno

      Bom dia Bruno,

      Tentei utilizar o seu código na minha aplicação que Cria cliente através das API’s, mas na parte da Criação de contas automáticas dá um erro na minha criação da Array.

      Será que me pode ajudar?

      João Diniz

      5 anos e 5 meses
      jcdiniz
        0
        Resposta privada

        Boa tarde @jorgetd

        Não existe um método/função que faça o que pretende de forma direta.

        Faça login para poder traduzir
        Marcado como spam
        Criado há 5 anos e 5 meses flavio-jardim
        f
        flavio-jardim Iniciante
          0
          Resposta privada

          Bom dia Bruno,

          Tentei utilizar o seu código na minha aplicação que Cria cliente através das API’s, mas na parte da Criação de contas automáticas dá um erro na minha criação da Array.

          Será que me pode ajudar?

           

          João Diniz

          Faça login para poder traduzir
          Marcado como spam
          Criado há 5 anos e 5 meses jcdiniz
          j
          jcdiniz Iniciante