Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: dan258 w Październik 02, 2017, 16:00:12

Tytuł: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dan258 w Październik 02, 2017, 16:00:12
Witam serdecznie,
potrzebuję rozliczyć fakturę sprzedaży znając jej ID z bazy i datę rozliczenia.
Przypuszczam, że muszę użyć Sfery (mam ją na pokładzie).
Pytanie: czy któryś z szanownych Kolegów może mi podrzucić jakiś pomysł/przykład jak się za to zabrać?

pozdrawiam
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: Aldo w Październik 02, 2017, 16:24:33
Witam serdecznie,
potrzebuję rozliczyć fakturę sprzedaży znając jej ID z bazy i datę rozliczenia.
Przypuszczam, że muszę użyć Sfery (mam ją na pokładzie).
Pytanie: czy któryś z szanownych Kolegów może mi podrzucić jakiś pomysł/przykład jak się za to zabrać?

pozdrawiam
A nie można tego normalnie w Rozrachunkach?
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dan258 w Październik 02, 2017, 17:33:52
Tworzę programik, który na podstawie danych wejściowych ma oznaczać faktury (rozliczać) jako rozliczone.
Jakieś pomysły jak zacząć, mam tu na myśli jakie obiekty Sfery wziąć pod lupę.
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dkozlowski w Październik 02, 2017, 19:26:44
Ja zaczynałem od pomocy do Sfery i przykładów.
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dan258 w Październik 03, 2017, 14:15:31
Podaję swój kod:
procedure TFormApp.AddSettlement(ADocId: Integer; APrice: Currency; ADate: TDateTime);
var
  FinNal, FinBp, FinRoz, SuDok: OleVariant;
begin
  SuDok := SubGT.Dokumenty.Wczytaj(ADocId);

  FinNal := SubGT.FinManager.DodajRozrachunek(gtaDokFinTypNal);
  FinNal.Data := ADate;
  FinNal.TerminPlatnosci := ADate;
  FinNal.NumerPelny := 'Wpłata ' + String(SuDok.NumerPelny);
  FinNal.ObiektPowiazanyWstaw(gtaDokFinObiektKontrahent, SuDok.KontrahentId);
  FinNal.WartoscPoczatkowaWaluta := APrice;
  FinNal.Zapisz;
//  FinNal.Wyswietl;

  FinBp := SubGT.FinManager.DodajOperacjeBankowa(gtaDokFinTypBP, 5);
  FinBp.Data := ADate;
  FinBp.WartoscPoczatkowaWaluta := APrice;
  FinBp.ObiektPowiazanyWstaw(gtaDokFinObiektKontrahent, SuDok.KontrahentId);
//  FinBp.WalutaKurs := 3.5917;
//  FinBp.Waluta := 'USD';
//  FinBp.Tytulem := 'Zwrot pożyczki';
//  FinBp.WolnaSplata := False;

  FinRoz := FinBp.Rozliczenia.Rozlicz(FinNal, APrice);
  FinBp.Tytulem := String(SuDok.NumerPelny) + '(' + CurrToStr(APrice) + ')';
  FinBp.Wyswietl;
end;

generalnie w Subiekcie robimy tak:
1. Wskazujemy FS i wybieramy z menu Rozlicz.
2. Jedyne co jest zauważalnie tworzone to Operacja bankowa dla danej FS.

Zatem programowo robię tak:
1.Dodaję należność do bazy.
2. Dodaję operację bankową do bazy.
3. Rozliczam należność.
4. Wyświetlam/zapisuję operację bankową.

Niby się operacja bankowa dla FS tworzy - widać ją, ale w Subiekcie nadal mozna wybrac 'Rozlicz' dla danej FS jakby nie była rozliczona.
Czegoś mi brakuje? Proszę o wskazówkę - przejrzałem pomoc i przykłady....

Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dan258 w Październik 03, 2017, 15:54:51
Po pewnych testach zdaje się, że nie potrzebnie tworzę 'należność' zamiast ją wczytać jak poniżej:
FinNal := SubGT.FinManager.Wczytaj(String(SuDok.NumerPelny));
Wydaje się teraz ok - jeżeli się mylę to proszę mnie poprawić.
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: Aldo w Październik 03, 2017, 16:22:28
Po pewnych testach zdaje się, że nie potrzebnie tworzę 'należność' zamiast ją wczytać jak poniżej:
FinNal := SubGT.FinManager.Wczytaj(String(SuDok.NumerPelny));
Wydaje się teraz ok - jeżeli się mylę to proszę mnie poprawić.
Jest to oczywista opczywistość. Należnośc powstaje z samej faktury.
Tytuł: Odp: Jak oznaczyć daną fakturę jako rozliczoną?
Wiadomość wysłana przez: dkozlowski w Październik 04, 2017, 19:49:43
Przed rozpoczęciem takich prac należy dowiedzieć się jak działa program... Zamiast wczytywać dokument, wystarczy od razu wczytać należność tego dokumentu.