Witam,
chcę zrobić formularz do wprowadzania faktury Vat i mam problem, zatrzymuję się na zmiennej liczbie pozycji w każdej FV tj. do jednej FV mam stałe zmienne jakimi są:
- data wystawienia
- nazwa dostawcy
te dwie wartości wybieram sobie bez problemu z innej tabeli natomiast żeby wprowadzić FV muszę je ponawiać do każdej pozycji z FV a wolałbym raz wprowadzić dwie pierwsze dane i skupić się na pozostałych pozycjach z FV które jak wiadomo są za każdym razem inne.
Czy ktoś ma jakiś pomysł na to ?
Będę bardzo wdzięczny za każdą podpowiedz.
LibreOffice Base i Faktura Vat
LibreOffice Base i Faktura Vat
LibreOffice Wersja: 6.3.4.2 (x64)
Re: LibreOffice Base i Faktura Vat
Pomysły są, ale ciut mało danych podałeś. Spróbuję coś poradzić opierając się na moich domysłach.
Zakładam, że masz tabelę danych o nazwie np. Faktury a w niej są dane:
- IDFaktur (pole klucz, autonumeracja)
- NrFaktury
- data wystawienia
- nazwa dostawcy
- towar
- ilość
- itd...
Zakładam, że formularz stworzyłeś przy użyciu kreatora, czyli wybrałeś wszystkie pola i gotowe. Zamiast takiego rozwiązania proponuję zrobić formularz z podformularzem.
1. Czyli uruchom kreatora, wybierz tabelę Faktury, wybierz pola: IDFaktur, NrFaktury, data wystawienia, nazwa dostawcy kliknij dalej
2. Zaznacz: Dodaj podformularz oraz Podformularz oparty o ręcznie wybrane pola, kliknij dalej
3. I znowu wybierz tabelę Faktury, wybierz tym razem wszystkie pola, kliknij dalej
4. Teraz musisz wybrać sposób połączenie między formularzami, czyli odpowiednio połączyć pola podformularza z formularzem głównym czyli:
w polu podformularza wybierasz NrFaktury oraz polu formularza wybierasz NrFaktury,
w polu podformularza wybierasz data wystawienia oraz polu formularza wybierasz data wystawienia,
w polu podformularza wybierasz nazwa dostawcy oraz polu formularza wybierasz nazwa dostawcy,
UWAGA: NIE łączysz pola IDFaktury,
A potem to już z górki: wybierasz układ, tryb, styl, nazwe formularza.
Wpisane w pola formularza głównego jakieś wartości zostaną automatycznie przeniesione do podformularza, dlatego trybie edycji formularza możesz ukryć (a nawet usunąć) pola podformularza: NrFaktury, data wystawienia, nazwa dostawcy.
Uwaga:
Znacznie lepiej byłoby przykładową tabelę Faktury rozbić na dwie tabele:
Tabela1: Faktury zawierająca dane:
- IDFaktur (pole klucz, autonumeracja lub jakieś inne unikalne oznaczenie)
- data wystawienia
- nazwa dostawcy (a w zasadzie najlepiej odwołać się do pola klucza z tabeli Dostawca)
Tabela2: PodFaktury zawierająca dane:
- IDPodFaktur (pole klucz, autonumeracja)
- IDFaktur
- towar
- ilość
- itd...
Wówczas połączenie połączenie między Formularzem a Podformularzem odbywało by się przez jedno pole: IDFaktur
Zakładam, że masz tabelę danych o nazwie np. Faktury a w niej są dane:
- IDFaktur (pole klucz, autonumeracja)
- NrFaktury
- data wystawienia
- nazwa dostawcy
- towar
- ilość
- itd...
Zakładam, że formularz stworzyłeś przy użyciu kreatora, czyli wybrałeś wszystkie pola i gotowe. Zamiast takiego rozwiązania proponuję zrobić formularz z podformularzem.
1. Czyli uruchom kreatora, wybierz tabelę Faktury, wybierz pola: IDFaktur, NrFaktury, data wystawienia, nazwa dostawcy kliknij dalej
2. Zaznacz: Dodaj podformularz oraz Podformularz oparty o ręcznie wybrane pola, kliknij dalej
3. I znowu wybierz tabelę Faktury, wybierz tym razem wszystkie pola, kliknij dalej
4. Teraz musisz wybrać sposób połączenie między formularzami, czyli odpowiednio połączyć pola podformularza z formularzem głównym czyli:
w polu podformularza wybierasz NrFaktury oraz polu formularza wybierasz NrFaktury,
w polu podformularza wybierasz data wystawienia oraz polu formularza wybierasz data wystawienia,
w polu podformularza wybierasz nazwa dostawcy oraz polu formularza wybierasz nazwa dostawcy,
UWAGA: NIE łączysz pola IDFaktury,
A potem to już z górki: wybierasz układ, tryb, styl, nazwe formularza.
Wpisane w pola formularza głównego jakieś wartości zostaną automatycznie przeniesione do podformularza, dlatego trybie edycji formularza możesz ukryć (a nawet usunąć) pola podformularza: NrFaktury, data wystawienia, nazwa dostawcy.
Uwaga:
Znacznie lepiej byłoby przykładową tabelę Faktury rozbić na dwie tabele:
Tabela1: Faktury zawierająca dane:
- IDFaktur (pole klucz, autonumeracja lub jakieś inne unikalne oznaczenie)
- data wystawienia
- nazwa dostawcy (a w zasadzie najlepiej odwołać się do pola klucza z tabeli Dostawca)
Tabela2: PodFaktury zawierająca dane:
- IDPodFaktur (pole klucz, autonumeracja)
- IDFaktur
- towar
- ilość
- itd...
Wówczas połączenie połączenie między Formularzem a Podformularzem odbywało by się przez jedno pole: IDFaktur
Ostatnio zmieniony czw lut 27, 2020 12:20 am przez Rafkus, łącznie zmieniany 1 raz.
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: LibreOffice Base i Faktura Vat
Dziękuję za zainteresowanie ale średnio mi idzie wykonanie
Może jak dokładnie opiszę istniejącą sytuacje będzie łatwiej.
Mam tabele:
- Asortyment
ID_Asort Integer[INT] auto
Asortyment Tekst [VARCHAR]
- Dostawcy
ID_Dostawcy Integer [INT] auto
Kod_Dostawcy Tekst czyli nazwa skrócona
Asortyment Tekst
Nazwa
Ulica
Miasto
NIP
- Towary
ID_Towar Integer [INT] auto
Kod_Dostawcy Integer[INT]
Asortyment Inteher [INT]
Nazwa
i teraz chcę wprowadzić kolejną tabelę w której będą już poszczególne FV, czyli głównie id dostawcy nawza pobierana z tabeli towary, data, cena, ilość
Trochę po omacku poruszam się w libreoffice ale czy da się zrobić tak aby wybierać z formularza nazwę lub nazwę skróconą dostawcy w innym polu rozwijanym pojawiły się tylko nazwy towarów z nim powiązane ?
Może jak dokładnie opiszę istniejącą sytuacje będzie łatwiej.
Mam tabele:
- Asortyment
ID_Asort Integer[INT] auto
Asortyment Tekst [VARCHAR]
- Dostawcy
ID_Dostawcy Integer [INT] auto
Kod_Dostawcy Tekst czyli nazwa skrócona
Asortyment Tekst
Nazwa
Ulica
Miasto
NIP
- Towary
ID_Towar Integer [INT] auto
Kod_Dostawcy Integer[INT]
Asortyment Inteher [INT]
Nazwa
i teraz chcę wprowadzić kolejną tabelę w której będą już poszczególne FV, czyli głównie id dostawcy nawza pobierana z tabeli towary, data, cena, ilość
Trochę po omacku poruszam się w libreoffice ale czy da się zrobić tak aby wybierać z formularza nazwę lub nazwę skróconą dostawcy w innym polu rozwijanym pojawiły się tylko nazwy towarów z nim powiązane ?
LibreOffice Wersja: 6.3.4.2 (x64)
Re: LibreOffice Base i Faktura Vat
Sorki, że tak późno odpowiadam, ostatnio jestem nieco zajęty. Ograniczenie listy wyboru w zależności od wpisanej gdzieś jakiejś wartości jest dość trudnym a raczej złożonym tematem. Takie listy robi się przy pomocy KWEREND, tam w polach Kryterium trzeba odwoływać się rekordów z aktualnie wprowadzanymi danymi.
Utwórz Kwerendę na podstawie tabeli Towary w której będą wyświetlane dane: Nazwy towarów oraz Kod_Dostawcy (rozumiem, że tutaj ten Kod_Dostawcy odwołuje się do pola ID_Dostawcy w tabeli Dostawcy). Jeżeli wpisałbyś jakąś wartość do pola Kryterium w Kod_Dostawcy to po jej uruchomieniu otrzymałbyś jakie towary należą do wybranego producenta.
Teraz trzeba skłonić Kwerendę do współpracy z danymi formularza tzn. najlepiej byłoby jej powiedzieć aby KWERENDA do Kryterium pobrałaby sobie ten parametr sama, jako wartość z JAKIEGOŚ pola w BIEŻĄCYM rekordzie formularza. Niestety nie ma ma tak prosto. Dlatego trzeba to zrobić poprzez jakieś inne pole z tabeli. Zazwyczaj do tego celu tworzę dodatkową Tabelę np. Filtr a w niej pola: IDFiltr, Pole1. Teraz trzeba zmodyfikować kwerendę, czyli dodać tam tabelę Filtr, a w rubryce Kod_Dostawcy w polu kryterium wpisać [Pole1]. Zmieniając wartości w tabeli Filtr.Pole1. Kwerenda będzie zwracać inne wyniki. Uwaga: ważne jest aby Tabela Filtr zawierała tylko jeden rekord bo do porównania kwerenda bierze CAŁĄ tabelę.
Na podstawie tabel Filtr, ?Faktur? oraz kwerendy trzeba będzie stworzyć formularz. Podczas użytkowania takiego formularza trzeba pamiętać o aktualizacji danych. Aby lista wyboru była aktualna wszelkie zmiany trzeba od razu zapisywać i odświeżać formularz (ewentualnie na polach listy i combi użyć kontroli odświeżania – przycisk w pasku narzędziowym Nawigacja Formularza).
Dołączam plik z moimi dawnymi próbami zrealizowania tego zadania. W nim znajduje się formularz Zamówienia z polami:
- Nr - jest to pole Combi, posiada listę z dostępnymi zamówieniami, można wpisać również jakaś nową wartość.
- IdKryt - jest to pole listy, wybrana wartość w tym polu ograniczy listę Towarów
Powyższe pola pochodzą z tabeli Filtr, stanowią formularz główny.
- Towar - w tabeli jest polem listy, pochodzi z tabeli Zamówienia, która w tym dokumencie jest podformularzem.
Lista wyboru Towaru została zbudowana na podstawie Kwerendy ListaTow, a ona z kolei została zbudowana na podstawie tabeli Towar oraz Filtr, zawiera ona towary (np. ołówek, jabłko...) oraz IDKryterium a właściwie powinno być grupy produktów (papiernicze, owoce itp). Listę ograniczam o kryterium, którym mają być wartości wpisane do pola IdKryt z tabeli Filtr.
Utwórz Kwerendę na podstawie tabeli Towary w której będą wyświetlane dane: Nazwy towarów oraz Kod_Dostawcy (rozumiem, że tutaj ten Kod_Dostawcy odwołuje się do pola ID_Dostawcy w tabeli Dostawcy). Jeżeli wpisałbyś jakąś wartość do pola Kryterium w Kod_Dostawcy to po jej uruchomieniu otrzymałbyś jakie towary należą do wybranego producenta.
Teraz trzeba skłonić Kwerendę do współpracy z danymi formularza tzn. najlepiej byłoby jej powiedzieć aby KWERENDA do Kryterium pobrałaby sobie ten parametr sama, jako wartość z JAKIEGOŚ pola w BIEŻĄCYM rekordzie formularza. Niestety nie ma ma tak prosto. Dlatego trzeba to zrobić poprzez jakieś inne pole z tabeli. Zazwyczaj do tego celu tworzę dodatkową Tabelę np. Filtr a w niej pola: IDFiltr, Pole1. Teraz trzeba zmodyfikować kwerendę, czyli dodać tam tabelę Filtr, a w rubryce Kod_Dostawcy w polu kryterium wpisać [Pole1]. Zmieniając wartości w tabeli Filtr.Pole1. Kwerenda będzie zwracać inne wyniki. Uwaga: ważne jest aby Tabela Filtr zawierała tylko jeden rekord bo do porównania kwerenda bierze CAŁĄ tabelę.
Na podstawie tabel Filtr, ?Faktur? oraz kwerendy trzeba będzie stworzyć formularz. Podczas użytkowania takiego formularza trzeba pamiętać o aktualizacji danych. Aby lista wyboru była aktualna wszelkie zmiany trzeba od razu zapisywać i odświeżać formularz (ewentualnie na polach listy i combi użyć kontroli odświeżania – przycisk w pasku narzędziowym Nawigacja Formularza).
Dołączam plik z moimi dawnymi próbami zrealizowania tego zadania. W nim znajduje się formularz Zamówienia z polami:
- Nr - jest to pole Combi, posiada listę z dostępnymi zamówieniami, można wpisać również jakaś nową wartość.
- IdKryt - jest to pole listy, wybrana wartość w tym polu ograniczy listę Towarów
Powyższe pola pochodzą z tabeli Filtr, stanowią formularz główny.
- Towar - w tabeli jest polem listy, pochodzi z tabeli Zamówienia, która w tym dokumencie jest podformularzem.
Lista wyboru Towaru została zbudowana na podstawie Kwerendy ListaTow, a ona z kolei została zbudowana na podstawie tabeli Towar oraz Filtr, zawiera ona towary (np. ołówek, jabłko...) oraz IDKryterium a właściwie powinno być grupy produktów (papiernicze, owoce itp). Listę ograniczam o kryterium, którym mają być wartości wpisane do pola IdKryt z tabeli Filtr.
- Załączniki
-
- Pomoc.odb
- (46.18 KiB) Pobrany 380 razy
LibreOffice 7.4.6 (preferowany) oraz OpenOffice 4.1.6. Widows 10
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
OpenOffice 4.1.3. oraz Libre 4.2.5.2 Windows XP
Re: LibreOffice Base i Faktura Vat
LOL, dzięki wielkie, dopiero miałem czas wrócić do tematu, już analizuje i pracuje dalej. Jeszcze raz wielkie dzięki.
LibreOffice Wersja: 6.3.4.2 (x64)