Kolejna zagwozdka. Klient zażyczył sobie automatu do dodawania kont imiennych do planu kont w Optima.
Kombinuję, a termin jest na wczoraj.
To mój testowy kod, próbuję coś takiego:
Kod: Zaznacz cały
public void DodajKontoDoPlanuKont()
{
var knf = (CDNKONFIGLib.IKonfiguracja)Sesja.Login.CreateObject("CDNKonfig.Konfiguracja");
string val = knf.get_Value("BiezOkresObr");
int OObID = (val.Length == 0) ? 0 : Convert.ToInt32(val);
var Kontrahenci = (CDNBase.ICollection)(Sesja.CreateObject("CDN.Kontrahenci", null));
var kontrahent = (CDNHeal.IKontrahent)Kontrahenci["Knt_Kod='ASTEST'"];
var konta = (ICollection)Sesja.CreateObject("CDN.Konta", null);
var testKonto = (CDNKH.IKonto)konta["Acc_Numer = '202-300-AUS0008' AND Acc_OObID=" + OObID];
//var rodzicKonto = (CDNKH.IKonto)konta["Acc_Numer = '202-300' AND Acc_OObID=" + OObID];
var rodzicKonto = (CDNKH.IKonto)konta["Acc_Numer = '202-300'"];
var czlon1konto = rodzicKonto.NumerIdx.Split('.')[0];
var czlon2konto = rodzicKonto.NumerIdx.Split('.')[1];
var konto = (CDNKH.IKonto)konta.AddNew(null);
konto.Poziom = 3;
konto.Analityka = 1;
konto.SlownikId = kontrahent.GIDNumer;
konto.ParId = rodzicKonto.ID;
konto.OkresId = rodzicKonto.OkresId;
konto.Numer = string.Format("{0}-{1}", rodzicKonto.Numer, kontrahent.Akronim);
konto.NumerIdx = string.Format("{0}.{1}.{2}", czlon1konto, czlon2konto, kontrahent.Akronim);
konto.Nazwa = string.Format("{0}-{1}", rodzicKonto.Numer, kontrahent.Akronim);
konto.Nazwa2 = kontrahent.Nazwa1;
Sesja.Save();
}