Mateusz M.

Mateusz M. Student, Akademia
Górniczo-Hutnicza
im. Stanisława
Staszi...

Temat: Wyciąganie informacji z bazy danych

Witam serdecznie,

mam widok, który wygląda tak:

Obrazek


Problem tkwi w tym, że w kolumnie cos2 (które wyświetla pole tekstowe typu computed) mam wyświetlić nazwy wszystkich produktów, które mają tę samą jednostkę (szt./kg czy coś innego) jak zadany produkt, czyli na przykładzie z obrazka dla wpisu o L.p. 1.1 mam wyświetlić w kolumnie cos2 "fanta, pusto" lub też "fanta, pusto, ryz", bo wpis o nazwie fanta oraz wpis o nazwie pusto mają również w kolumnie ilość jednostkę "szt."

Pojedynczy wpis to dokument, który ma osobno pole ilość z wartością liczbową, a osobno pole typu dialog box z listą jednostek, a kolumna Ilość wyświetla połączenie wartości tych pól.

Czy ktoś jest mi w stanie pomóc? Siedzę nad tym problemem w sumie już 3. dzień i nie mam pomysłu jak to rozwiązać, żadne @DbColumn ani @DbLookup nie dało pożądanego efektu, dodam jeszcze że w tym widoku pierwsza kolumna (Rodzaj) jest posortowana (wymóg dla @DbLookup oraz wymóg narzucony z góry)Mateusz M. edytował(a) ten post dnia 20.10.12 o godzinie 13:41
Mateusz M.

Mateusz M. Student, Akademia
Górniczo-Hutnicza
im. Stanisława
Staszi...

Temat: Wyciąganie informacji z bazy danych

rozwiązałem ten problem, ale imho trochę nieelegancko - pobieram listy z kolumny nazwa, Rodzaj i Ilość i mam dwa fory - w pierwszym jadę po wartościach z Rodzaju, a w drugim jadę po wartościach z Ilości i sprawdzam, czy @Contains(ilosc[i]; jednostka); (jednostka to pole z dokumentu).

Zastanawia mnie tylko czy nie da się tego ładniej zrobić jakimś wysublimowanym zapytaniem?
Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: Wyciąganie informacji z bazy danych

Generalnie nie da się tego zrobić w widoku, musiało by to być zapisane w dokumencie. Nie będzie więc on-line. Po zmianach trzeba by to co jakiś czas przeliczać agentem lub przeliczać dokumenty powiązane przy zapisywaniu dokumentu zmienionego lub nowego.
W dokumencie można to dość łatwo wyciągnąć używając DbLookup. Prawdopodobnie będzie do tego potrzebny osobny widok z odpowiednim sortowaniem.

Tak dla pewności, pisząc o pobieraniu listy z kolumny piszesz o formule w polu obliczanym w dokumencie, bo w kolumnie to AFAIK się tego zrobić nie da?
Mateusz M.

Mateusz M. Student, Akademia
Górniczo-Hutnicza
im. Stanisława
Staszi...

Temat: Wyciąganie informacji z bazy danych

Nie musi być online.

W dokumencie mam pole typu computed i właśnie to pole wyświetlam w tabeli w kolumnie "cos2".
Mógłbyś Tomaszu zatem mi powiedzieć, jak można to zgrabnie Lookupem zrobić?

Owszem, mowa o formule (przy użyciu @DbColumn) :)
Tomasz Frydryk

Tomasz Frydryk Właściciel, Domino
Solutions

Temat: Wyciąganie informacji z bazy danych

Tak mniej więcej:
Musisz zrobić widok, może być ukryty, czyli z nazwą w nawiasach, z pierwszą kolumną sortowaną i zawierającą jednostkę. Drugą kolumną niech będzie nazwa produktu. Jeśli do jednego towaru może być przypisanych kilka jednostek zwróć uwagę czy we właściwościach pierwszej kolumny masz oznaczone Wyświetlaj wiele wartości jako osobne pozycje (Show multiple values as separate entries).
Następne w polu obliczanym w dokumencie dajesz formułę (gdzie Utworzony widok to (WidokRoboczy), a nazwę towaru masz w polu NazwaTowaru):
@DbLookup("":"";"":"";"(WidokRoboczy)"; NazwaTowaru;2)

Dla usunięcia bieżącego towaru można zrobić coś takiego:
lista:=@DbLookup("":"";"":"";"(WidokRoboczy)"; NazwaTowaru;2);
@Trim(@Replace(Lista; NazwaTowaru;""))

Następna dyskusja:

Update bazy danych lotusa p...




Wyślij zaproszenie do