Autor Wątek: KhPracownik - dodanie adresów, telefonów  (Przeczytany 1879 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline butik_slubice

  • Nowy użytkownik
  • *
  • Wiadomości: 15
  • Reputacja +0/-0
  • Wersja programu: 1.60
KhPracownik - dodanie adresów, telefonów
« dnia: Luty 19, 2021, 12:28:25 »
Dzień dobry,

Próbuję dodać pracownika do istniejącego już kontrahenta. Niestety sfera nie umożliwia dodanie telefonów w KhPracownik więc dodaje wszelkie innfomację za pomocą sfery a resztę próbuję robić updatami i tak:
                Kontrahent kontrahentTmp = subiekt.KontrahenciManager.WczytajKontrahenta(SymbolKontrahenta);
                KhPracownik pracownikKh = (KhPracownik)kontrahentTmp.Pracownicy.Dodaj("");
                pracownikKh.Imie = Pracownik.Imie;
                pracownikKh.Nazwisko = Pracownik.Nazwisko;
                pracownikKh.Email = Pracownik.EMail;
                pracownikKh.Stanowisko = Pracownik.Stanowisko;
                int pracownikId = pracownikKh.ObiektId;
                kontrahentTmp.Zapisz();

Działa bez problemów następnie wykonuję:

update adr__Ewid SET adr_Telefon = @Telefon where adr_IdObiektu = @PracownikId and adr_TypAdresu = 12
insert into tel__Ewid (tel_Id, tel_IdAdresu, tel_Faks, tel_Rodzaj, tel_Nazwa, tel_Numer, tel_Podstawowy, tel_SMS) values
((select MAX(tel_Id)+1 from tel__Ewid), (select adr_id from adr__Ewid where adr_TypAdresu = 12 and adr_IdObiektu=@PracownikId), 0,1, 'telefon', @telefon, 1,0)
insert into tel__Ewid (tel_Id, tel_IdAdresu, tel_Faks, tel_Rodzaj, tel_Nazwa, tel_Numer, tel_Podstawowy, tel_SMS) values
((select MAX(tel_Id)+1 from tel__Ewid), (select adr_id from adr__Ewid where adr_TypAdresu = 12 and adr_IdObiektu=@PracownikId), 0,1, 'telefon2', @telefon, 0,0)

Wszystko działa, jednakże przy próbie dodania nowego pracownika już bezpośrednio w Subiekt otrzymuję komunikat:

"Błąd zapisu do bazy danych. Zapis danych spowodowałby naruszenie integralności danych"

zapewne powinienem jeszcze wykonać jakieś inserty (adr_Historia?, ins_Slad?) lub dla Id skorzystać z sekwencji(ale nie mogę znaleźć jak). W pomocy nic nie znalazłem, na forum też szukałem.
Czy ktoś z Państwa miał podobny problem?


Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17070
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: KhPracownik - dodanie adresów, telefonów
« Odpowiedź #1 dnia: Luty 19, 2021, 12:33:01 »
Czy ktoś z Państwa miał podobny problem?

Wiele osób, również na tym forum, w tym dziale, odpowiedź była zawsze ta sama - błędnie są nadawane identyfikatory tabel, zobacz jak robi to program i zrób tak samo.
Daniel, Białystok.

Offline yemet

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 1257
  • Reputacja +46/-1
  • Wersja programu: Navireo
Odp: KhPracownik - dodanie adresów, telefonów
« Odpowiedź #2 dnia: Luty 19, 2021, 12:34:16 »
Zajrzyj to tabeli ins_ident - tam się dowiesz co popsułeś :)

Forum Użytkownikow Subiekt GT

Odp: KhPracownik - dodanie adresów, telefonów
« Odpowiedź #2 dnia: Luty 19, 2021, 12:34:16 »