Skocz do zawartości

Własny Skrypt SQL w słowniku własnym

Polecane posty

To tutaj raczej bym oczekiwał od insert jakieś reakcji, aby dodali takie pole - padało ono już kiedyś w sugestiach. Obsługa tego na słowniku własnym była by masakryczna, gdyż musiałby Pan dododawać każda datę wjazdu i wyjazdu. Ewentualnie jest pewna alternatywa - rozbić pola na dwa osobne - data i godzina. Wtedy pod godzinę, zrobić tablice w sql i wypełnić ją czasami np. Co 10 minut i tak wybierać. Można użyć też słownika własnego i uzupełnić go w NEXO.

Link to postu
  • 3 tygodnie później...

Do umów w aplikacji gestor mam przypisane 4 pola własne 

Czy mogę prosić o podpowiedź przykładowy skrypt ,chcę uzyskać skrypt który będzie zawierał pola:

Sygnatura_PelnaSygnatura z tablicy ModelDanychContainer.UmowyKlienckie,  wartosc z tablicy PozycjeSlownikowWlasnych po jakich polach mam połaczyć

tablice ?

     ModelDanychContainer.UmowyKlienckie_PolaWlasneUmowaKliencka_Adv2 , 
     ModelDanychContainer.PozycjeSlownikowWlasnych,
     ModelDanychContainer.UmowyKlienckie

 

Edytowane przez Artur Rut
Link to postu

Polecam ściągnąć Sobie SDK, tam jest spis tablic i powiązań między nimi, będzie łatwiej coś znaleźć. Dodatkowo, programy typu manager, często podpowiadają kolumny itp.

Po kolei. Pola własne, zaawansowane zawsze podpinamy po Id:

SELECT * 
FROM ModelDanychContainer.UmowyKlienckie AS uk
INNER JOIN ModelDanychContainer.UmowyKlienckie_PolaWlasneUmowaKliencka_Adv2 AS ukpw ON ukpw.Id=uk.Id

Jak już mamy podpięte pola własne zaawansowane, to trzeba by znaleźć jakie pole w nich odpowiada słownikowi, najlepiej z zapytania w tym wątku:

Wskaże ono nam pole słownikowe oraz ID słownika. Musimy wtedy dodać coś takiego - tutaj dostosować do Swojego:

SELECT uk.Sygnatura_PelnaSygnatura,psw.Wartosc 
FROM ModelDanychContainer.UmowyKlienckie AS uk
INNER JOIN ModelDanychContainer.UmowyKlienckie_PolaWlasneUmowaKliencka_Adv2 AS ukpw ON ukpw.Id=uk.Id
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS psw ON psw.Id=ukpw.I0 AND psw.SlownikWlasnyId=100000

Jeśli ma Pan więcej pól słownikowych, to trzeba będzie powielić ostatni wiersz i odpowiednio zmienić alias.

Link to postu

Nie widzę przeszkód - na dole ma Pan zawsze podgląd zapytania SQL. Trzeba doprowadzić, przez uzupełnianie pól na górze, uzyskanie dobrego efektu na dole i będzie GIT :D Tak naprawdę NEXO potrzebuje zwrócenia na koniec dwóch danych w postaci Key i Value, więc w klauzuli FROM można szaleć, wystarczy dodać zapytanie w zapytaniu ;)

obraz.png.be562f507656c2788eec64a19ab1cd3f.png

Link to postu

oki , powieliłem ostatnia pozycje w skrypcie ale powiela mi wiersze dla umowy UM/1/07/2020 mam tylko pięć odpowiedzi pół własnych a

skrypt mi powielił 17 razy z różnymi wariantami

SELECT distinct uk.Sygnatura_PelnaSygnatura,
                psw.Wartosc, 
                pswa.Wartosc, 
                pswb.Wartosc, 
                pswc.Wartosc,
                pswd.Wartosc

FROM ModelDanychContainer.UmowyKlienckie AS uk

INNER JOIN ModelDanychContainer.UmowyKlienckie_PolaWlasneUmowaKliencka_Adv2 AS ukpw ON ukpw.Id=uk.Id
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS psw  ON psw.Id=ukpw.I0 AND psw.SlownikWlasnyId=100000
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS pswa ON psw.Id=ukpw.I1 AND pswa.SlownikWlasnyId=100000
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS pswb ON psw.Id=ukpw.I2 AND pswb.SlownikWlasnyId=100000
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS pswc ON psw.Id=ukpw.I3 AND pswc.SlownikWlasnyId=100000
INNER JOIN ModelDanychContainer.PozycjeSlownikowWlasnych AS pswd ON psw.Id=ukpw.I4 AND pswd.SlownikWlasnyId=100000

 

Edytowane przez Artur Rut
Link to postu
  • 3 tygodnie później...

Chciałbym się dowiedzieć czy jest możliwość odczytania danych z bazy SQL np: jak wybiorę dostawcę na dokumencie PZ przed zapisaniem dokumentu ?

chciałbym uzyskać efekt że po wyborze np: dostawcy w polu własnym będzie można wybrać nr umowy przypisany do klienta, ale muszę odczytać id klienta które użytkownik wybierze z listy przed zapisaniem dokumentu

wybor_klienta.jpg

Link to postu

Jako osoba z 4 letnim doświadczeniem z bazami NEXO, czy Sferą, jestem na 99% pewien, że nie ma żadnych mechanizmów przechowywania danych tymczasowych przed zapisaniem jakiegoś obiektu.

Aczkolwiek, to o czym Pan mówi, wydaje mi się, że jest czymś podobny do wątku, który kiedyś poruszałem:

 

Link to postu

dodałem trigger do tablicy gdzie mam zapisane pola włane: Trigger działa prawidłowo ale jest jeden problem jak zapiszę dokument PZ wyskakuje mi okienko drukuj  to na wydruku jeszcze nie widać zmodyfikowanych danych dopiero je widać na wydruku  jak zamknę okienko drukuj i wejdę jeszcze raz wybierajac wzorzec....

czy można coś z tym zrobić ?

ALTER TRIGGER [ModelDanychContainer].[Dokumenty_PolaWlasneDokumentPZ_Adv2_tri] ON [ModelDanychContainer].[Dokumenty_PolaWlasneDokumentPZ_Adv2]
WITH EXECUTE AS CALLER
FOR INSERT,UPDATE
AS
BEGIN
  update ModelDanychContainer.Dokumenty_PolaWlasneDokumentPZ_Adv2 set I4=I2-I3

END

 

 

Edytowane przez Artur Rut
Link to postu
×
×
  • Dodaj nową pozycję...