Autor Wątek: Sfera - zmiana statusu nowego dokumentu  (Przeczytany 5484 razy)

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

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Sfera - zmiana statusu nowego dokumentu
« dnia: Marzec 18, 2022, 13:05:45 »
Witam,
 Jak zmienić status dokumentu w nowym RW przed zapisaniem?

Próbuję na kilka sposobów, żaden nie działa.

W dokumentacji jest:
typ dla odłożonego skutku: gtaSubiektDokumentStatusOdlozony.

kod: StatusDokumentu = gtaSubiektDokumentStatusOdlozony nie działa.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #1 dnia: Marzec 18, 2022, 13:21:43 »
A co to niby znaczy "nie działa" ? Czy w UI jest możliwość ustawienia tego statusu ?
Daniel, Białystok.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #2 dnia: Marzec 18, 2022, 13:33:27 »
Gamonie dalej nie naprawili tego wylogowywania przy przejściu do wątku...

Mam wykupionego niebieskiego plusa.

Kod jak poniżej:
    $subiekt->MagazynId = 1;

    $Dpw = $subiekt->SuDokumentyManager->DodajRW(); //dodaje dokument RW
       
    for ($i=0; $i<count($id); $i++){
    $Dtow = $Dpw->Pozycje->Dodaj($id[$i]); //Dodaje nową pozycję na dokumencie
        $Dtow->IloscJM = $ile[$i];
    }

    $Dpw->StatusDokumentu = gtaSubiektDokumentStatusOdlozony; - jeżeli dodaję tą linijkę, to nie tworzy się żadne RW. Jeżeli jej nie dodaje, to tworzy się z domyślnym statusem.

    $Dpw->Zapisz();

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #3 dnia: Marzec 18, 2022, 13:41:49 »
Ogólnie nie spotkałem się nigdy z takim przypadkiem, że program nie zrobił tego co chcę i nie zgłosił komunikatu błędu... Jak wersja programu (później, wieczorem spróbuję powtórzyć problem).
Daniel, Białystok.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #4 dnia: Marzec 18, 2022, 13:58:31 »
Wersja 1.70 HF3

W konsoli dostaję taki błąd przy tej linii kodu:
<b>Fatal error</b>:  Uncaught com_exception: &lt;b&gt;Source:&lt;/b&gt; Unknown&lt;br/&gt;&lt;b&gt;Description:&lt;/b&gt; Unknown in...

Program jest w PHP.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #5 dnia: Marzec 18, 2022, 14:09:17 »
Hmm co ciekawe:

Jeżeli zamiast typów wyliczeniowych Subiekta używam cyfr im odpowiadających, tj. 0, 1, 2, 3... to część z nich działa.

Na przykład:
$Dpw->StatusDokumentu = "0"; - tworzy dokument RW ze statusem C - 'nie wywołuje skutku magazynowego' (takiej opcji przy RW nie można nawet z ręki wprowdzić)
$Dpw->StatusDokumentu = "1"; - tworzy dokument z wywołanym skutkiem (standard),
$Dpw->StatusDokumentu = "2"; - tworzy dokument unieważniony xD (tak, w subiekcie w RW pojawia mi się unieważniony dokument)
$Dpw->StatusDokumentu = "3"; - wywala błąd i nic nie tworzy.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #6 dnia: Marzec 18, 2022, 14:09:43 »
No to jednak jest błąd... Na pewno PHP obsługuje typy wyliczeniowe ? Jeśli tak to na pewno poprawnie z nich korzystasz ? Dla testu wpisz wartość liczbową elementu "gtaSubiektDokumentStatusOdlozony".
Daniel, Białystok.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #7 dnia: Marzec 18, 2022, 14:13:23 »
Hmm co ciekawe:

Jeżeli zamiast typów wyliczeniowych Subiekta używam cyfr im odpowiadających, tj. 0, 1, 2, 3... to część z nich działa.

W takim razie polecam poznać lepiej język/środowisko programistyczne, z którego korzystasz (moje to C# i VS).
Daniel, Białystok.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #8 dnia: Marzec 18, 2022, 14:16:31 »
Ok, tylko dlaczego działa wybiórczo?
Część dodaje część nie. Co ciekawe dodaje takie statusy których normalnie z ręki nie można ustawić. Może się okazać że niektóre rzeczy można robić z pominięciem kupowania dodatku niebieski plus, który teoretycznie je odblokowuje?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #9 dnia: Marzec 18, 2022, 14:24:02 »
Ok, tylko dlaczego działa wybiórczo? Część dodaje część nie.

U mnie wszystko działa zerojedynkowo, PHP nie znam, podaj konkretne przykłady to może ktoś wyjaśni.

Co ciekawe dodaje takie statusy których normalnie z ręki nie można ustawić.

Tak, Sfera pozwala czasami na takie zapisy, dlatego od ponad 10 lat powtarzam, że wcześniej należy się dowiedzieć jak działa program, aby wiedzieć jak korzystać ze Sfery.

Może się okazać że niektóre rzeczy można robić z pominięciem kupowania dodatku niebieski plus, który teoretycznie je odblokowuje?

Nawet nie przypominam sobie takich możliwości, sam nie tracę czasu na takie poszukiwania.
Daniel, Białystok.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #10 dnia: Marzec 18, 2022, 14:30:54 »
Ok, tylko dlaczego działa wybiórczo? Część dodaje część nie.

U mnie wszystko działa zerojedynkowo, PHP nie znam, podaj konkretne przykłady to może ktoś wyjaśni.


Chociażby w tym przykładzie. Dla wartości ->StatusDokumentu = '3' czyli odłożonego skutku wywala wcześniej opisany błąd.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #11 dnia: Marzec 18, 2022, 14:54:37 »
Jest coś dziwnego. Próbowałem obejść ustawianie statusu przed zapisem i chciałem ustawić go tuż po zapisie.
Użyłem do tego metody: $subiekt->SuDokumentyManager->SkutekMagazynowyOdloz(id), gdzie id = $Dpw->Identyfikator
Ponownie wywaliło błąd i statusu nie zmieniło.
Jak natomiast ręcznie zmieniam status RW w subiekcie na "odłożone" i wczytuję metodę:  $subiekt->SuDokumentyManager->SkutekMagazynowyWywolaj(id) to normalnie zmienia status z odłożonego na wywołany.

Czyli wygląda na to, że ustawienie parametru SatusDokumentu oraz metoda zmieniająca status działają dla wszystkich opcji poza "Odłóż". O co może chodzić?

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #12 dnia: Marzec 18, 2022, 14:57:18 »
Ok, tylko dlaczego działa wybiórczo? Część dodaje część nie.

U mnie wszystko działa zerojedynkowo, PHP nie znam, podaj konkretne przykłady to może ktoś wyjaśni.


Chociażby w tym przykładzie. Dla wartości ->StatusDokumentu = '3' czyli odłożonego skutku wywala wcześniej opisany błąd.

Z tego co widzę to nie przekazujesz liczby (jak sugerowałem) tylko string, nie wiem jak to ma znaczenie w PHP... Ten status jest obsługiwany przez dokumenty RW więc nie powinien generować błędu, jak wyżej nie odpowiem do momentu próby powtórzenia problemu, ale podejrzewam, że robisz coś nie tak.
Daniel, Białystok.

Offline dkozlowski

  • Ekspert
  • *****
  • Wiadomości: 17082
  • Reputacja +798/-27
  • Wersja programu: GT/Navireo/nexo
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #13 dnia: Marzec 18, 2022, 15:02:06 »
Jeśli jeszcze raz nie podasz komunikatu błędu, który otrzymujesz, to przestanę odpowiadać... Zacznij też poprawnie przechwytywać i obsługiwać błędy, w tym przypadku błędy COM (w C# COMException, w PHP nie wiem).
Daniel, Białystok.

Offline icebreaker

  • Nowy użytkownik
  • *
  • Wiadomości: 18
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.66
Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #14 dnia: Marzec 18, 2022, 15:03:49 »
Z tego co widzę to nie przekazujesz liczby (jak sugerowałem) tylko string, nie wiem jak to ma znaczenie w PHP...

Zgadza się, przekazuję string. Tylko, że dla pozostałych parametrów, tj. 0, 1, 2 działa. Nie działa tylko dla 3. ¯_(ツ)_/¯

Forum Użytkownikow Subiekt GT

Odp: Sfera - zmiana statusu nowego dokumentu
« Odpowiedź #14 dnia: Marzec 18, 2022, 15:03:49 »