Tworzenie oferty - spięcie Calc z Writer
Tworzenie oferty - spięcie Calc z Writer
Cześć, potrzebuję jak najbardziej zautomatyzować proces tworzenia ofert. Tworzę ich około 1000 rocznie i sam proces niepotrzebnych rzeczy długo trwa.
Aktualnie proces wygląda następująco :
1. uzupełnienie formatki w calc ( standardowo mam przygotowaną ofertę na 30 pozycji )
2. kopiowanie danych do notatnika, usunięcie niepotrzebnych pozycji. [próbowałem wstawiać z łącza DDE ale wtedy nie mogę zmienić ilości pozycji w tabeli we writerze "Nie można zmienić struktury połączonej tabeli " ]
3. Otworzenia dokumentu już z danymi klienta dla którego już przygotowana była kiedyś oferta lub stworzenie nowego pliku dla nowego klienta jako formatka.
4. wstawienie do writera i utworzenie z nich tabeli jednym kliknięciem, a następnie nadanie estetyki tabeli poprzez dogranie szerokości.
5. Dodanie szczegółów do oferty jak termin realizacji, termin płatności itp. często między 2-10 ppdkt.
6. Generowanie pdf
Założenia arkusza oraz pytania:
AD1. głównym założeniem arkusza jest prostota korzystania z niego, wypełnianie nazwy ofertowanej rzeczy oraz wypełnienie cen, marż itp.
reszta powinna się odbywać automatycznie tylko z zaznaczeniem tak/nie lub ptaszka. Automatyczne generowanie pliku do writera oraz do pdf'a.
Docelowo arkusz miałby być użytkowany przez większą ilość osób stąd konieczna prostota całego arkusza.
Ad 1 i 2 . wybranie poprzez zaznaczene zakresu lub "ptaszkiem" ilości pozycji zawartych w ofercie - np. tylko pozycje 1-5
AD2 i 4. Jeżeli jest możliwość pominięcia notatnika (kompletnie niepotrzebny element ) oraz writera do wygenerowania estetycznego pdf'a jak najbardziej dopuszczam taką możliwość
AD3. Na etapie calca chciałbym też wybierać klienta dla którego dedykowana jest oferta oraz osoby kontaktowej - korzystać z listy rozwijalnej czy bazy danych czy jest jeszcze jakaś inna opcja ?
AD4. Czy można wstawić automatycznie do writera tabelę o danych parametrach tak aby nie trzeba było poprawiać jej szerokości oraz dodawać autowyrównania do środka itp. ?
Ad5, Chciałbym w calcu mieć wypisanych przykładowych 20 pozycji i tylko poprzez zaznaczenie ptaszka lub prawda/fałsz 0/1 dodawałoby do dokumentu te dane które potrzebuję, przykładowo:
- termin realizacji 10 dni roboczych
- termin realizacji 30 dni roboczych ( wybór tej opcji )
- termin realizacji 60 dni roboczych
Ad1-6. Jak najbardziej dopuszczam utworzenia sprzężonej formatki składającej się z pliku calc oraz writer który będzie trzeba kopiować dla każdej oferty.
Ad 1-6. Jeżeli da się utworzyć to wszystko w calcu byłoby idealnie, ale dopuszczam użycie makra, vba, baz danych, formularzy czy łącz dde do writera
AD4 . czy da się wygenerować automatycznie taki dokument z poziomu calc tak aby miał także nazwę jak plik z calca lub inną nazwę wpisaną w którąś z komórek w tym dokumencie ?
Proszę o pomoc lub nakierowaniu w którym kierunku podążać. Z góry dzięki za poświęcony czas
Aktualnie proces wygląda następująco :
1. uzupełnienie formatki w calc ( standardowo mam przygotowaną ofertę na 30 pozycji )
2. kopiowanie danych do notatnika, usunięcie niepotrzebnych pozycji. [próbowałem wstawiać z łącza DDE ale wtedy nie mogę zmienić ilości pozycji w tabeli we writerze "Nie można zmienić struktury połączonej tabeli " ]
3. Otworzenia dokumentu już z danymi klienta dla którego już przygotowana była kiedyś oferta lub stworzenie nowego pliku dla nowego klienta jako formatka.
4. wstawienie do writera i utworzenie z nich tabeli jednym kliknięciem, a następnie nadanie estetyki tabeli poprzez dogranie szerokości.
5. Dodanie szczegółów do oferty jak termin realizacji, termin płatności itp. często między 2-10 ppdkt.
6. Generowanie pdf
Założenia arkusza oraz pytania:
AD1. głównym założeniem arkusza jest prostota korzystania z niego, wypełnianie nazwy ofertowanej rzeczy oraz wypełnienie cen, marż itp.
reszta powinna się odbywać automatycznie tylko z zaznaczeniem tak/nie lub ptaszka. Automatyczne generowanie pliku do writera oraz do pdf'a.
Docelowo arkusz miałby być użytkowany przez większą ilość osób stąd konieczna prostota całego arkusza.
Ad 1 i 2 . wybranie poprzez zaznaczene zakresu lub "ptaszkiem" ilości pozycji zawartych w ofercie - np. tylko pozycje 1-5
AD2 i 4. Jeżeli jest możliwość pominięcia notatnika (kompletnie niepotrzebny element ) oraz writera do wygenerowania estetycznego pdf'a jak najbardziej dopuszczam taką możliwość
AD3. Na etapie calca chciałbym też wybierać klienta dla którego dedykowana jest oferta oraz osoby kontaktowej - korzystać z listy rozwijalnej czy bazy danych czy jest jeszcze jakaś inna opcja ?
AD4. Czy można wstawić automatycznie do writera tabelę o danych parametrach tak aby nie trzeba było poprawiać jej szerokości oraz dodawać autowyrównania do środka itp. ?
Ad5, Chciałbym w calcu mieć wypisanych przykładowych 20 pozycji i tylko poprzez zaznaczenie ptaszka lub prawda/fałsz 0/1 dodawałoby do dokumentu te dane które potrzebuję, przykładowo:
- termin realizacji 10 dni roboczych
- termin realizacji 30 dni roboczych ( wybór tej opcji )
- termin realizacji 60 dni roboczych
Ad1-6. Jak najbardziej dopuszczam utworzenia sprzężonej formatki składającej się z pliku calc oraz writer który będzie trzeba kopiować dla każdej oferty.
Ad 1-6. Jeżeli da się utworzyć to wszystko w calcu byłoby idealnie, ale dopuszczam użycie makra, vba, baz danych, formularzy czy łącz dde do writera
AD4 . czy da się wygenerować automatycznie taki dokument z poziomu calc tak aby miał także nazwę jak plik z calca lub inną nazwę wpisaną w którąś z komórek w tym dokumencie ?
Proszę o pomoc lub nakierowaniu w którym kierunku podążać. Z góry dzięki za poświęcony czas
OpenOffice 4.1.11 ; Windows 11 Home
Re: Tworzenie oferty - spięcie Calc z Writer
Można by stworzyć taki pik całkowicie w Calcu.
W jednym arkuszu zrobić listę wszystkiego czegoś tam, natomiast w arkuszu 2 stworzyć formularz, który będzie wyświetlał wybrane pozycje z arkusza1. To rozwiązanie możesz zobaczyć tutaj
Calc (tak samo jak Writer) może zapisywać plik w formacie PDF.
W jednym arkuszu zrobić listę wszystkiego czegoś tam, natomiast w arkuszu 2 stworzyć formularz, który będzie wyświetlał wybrane pozycje z arkusza1. To rozwiązanie możesz zobaczyć tutaj
Calc (tak samo jak Writer) może zapisywać plik w formacie PDF.
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: Tworzenie oferty - spięcie Calc z Writer
Dzięki, bardzo pomocny link.
Na ten moment mam problem z utworzeniem "tabeli" / komórek zależnych od ilości wycenianych pozycji.
Załóżmy że standardowo mamy plik z 30 pozycjami ale chciałbym żeby dało się wybrać ilość ich wyświetlania np. tylko 5 pozycji a zaraz pod nimi pojawiła się suma wszystkich ( w tym wypadku 5 elementów ) elementów.
Na ten moment mam problem z utworzeniem "tabeli" / komórek zależnych od ilości wycenianych pozycji.
Załóżmy że standardowo mamy plik z 30 pozycjami ale chciałbym żeby dało się wybrać ilość ich wyświetlania np. tylko 5 pozycji a zaraz pod nimi pojawiła się suma wszystkich ( w tym wypadku 5 elementów ) elementów.
OpenOffice 4.1.11 ; Windows 11 Home
Re: Tworzenie oferty - spięcie Calc z Writer
Cześć, proszę o nakierowaniu mojego toku myślenia na dobre tory - niestety według mojej metody nie wychodzi wynik "Błąd:504"
Na arkuszu Baza danych mamy kilka danych w wierszach.
Na arkuszu Lista wyboru mamy dwie listy wyboru:
- jedna lista ograniczająca bazę tylko do Firmy ( w poprawności danych zaznaczony cała kolumna "Firma" )
- drugą listę ograniczająca bazę po drugim parametrze "Imię nazwisko"
w arkuszu "wynik automatycznego uzupełnienia powinno na tej podstawie pobrać informację z bazy danych i wkleić je w dobre pola:
Firma
Imię nazwisko:
Tel:
Na arkuszu Baza danych mamy kilka danych w wierszach.
Na arkuszu Lista wyboru mamy dwie listy wyboru:
- jedna lista ograniczająca bazę tylko do Firmy ( w poprawności danych zaznaczony cała kolumna "Firma" )
Kod: Zaznacz cały
$Baza_danych.$A$2:$A$100
Kod: Zaznacz cały
JEŻELI(Baza_danych.A$2:A$100=A2;Baza_danych.B$2:B$100;"")
Firma
Imię nazwisko:
Tel:
Kod: Zaznacz cały
=BD.POLE(Baza_danych.A1:C6;"Firma";Lista_wyboru.A2)
- Załączniki
-
- Listawyboru_baza_wynik.ods
- (9.06 KiB) Pobrany 46 razy
OpenOffice 4.1.11 ; Windows 11 Home
Re: Tworzenie oferty - spięcie Calc z Writer
Troszkę źle rozumiesz parametry funkcji BD.POLE():
Przekazuje również poprawiony plik
Kod: Zaznacz cały
BD.POLE(baza_danych; pole_bazy_danych; kryteria_wyszukiwania)
- baza_danych - zakres danych źródłowych, czyli twoja baza danych: Baza_danych.$A$1:$C$6 to masz dobrze ;
- pole_bazy_danych - z którego pola ma zostać zwrócona jakaś wartość:"tel";
niepotrzebnie chcesz poznać nazwę firmy dla wybranej firmy, zamiast formuływstaw tylko odwołanie do danej komórki:Kod: Zaznacz cały
=BD.POLE(Baza_danych.A1:C6;"Firma";Lista_wyboru.A2)
Podobnie zrób z imieniem i nazwiskiemKod: Zaznacz cały
=Lista_wyboru.A2
- kryteria_wyszukiwania - tu niestety źle rozumujesz. W pomocy tej funkcji można wyczytać:
Kryteria wyszukiwania określa zakres komórek zawierających kryteria wyszukiwania. Podobnie jak Baza danych, jej pierwszy wiersz to także nazwy pól, a kolejne wiersze to warunki dla powiązanych pól.
Przekazuje również poprawiony plik
- Załączniki
-
- Listawyboru_baza_wynik.ods
- (10.05 KiB) Pobrany 44 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: Tworzenie oferty - spięcie Calc z Writer
Kolega @Rafkus odpowiedział ci to, co sam chciałem napisać.
Chcę także przedstawić ci inne, alternatywne rozwiązanie tego problemu, bez korzystania z funkcji bazodanowych.
Obszar twoich danych, nazwałem "wykaz" i traktuje go jak tablicę, z której będę pobierał dane.
Dlatego w arkuszu Lista_wyboru umieściłem formułę, która na podstawie firmy i nazwiska odnajduje pozycję (nr wiersza w obszarze "wykaz"), na której znajduje się osoba. Jest to formuła macierzowa zatwierdzana skrótem klawiaturowym CTRL+SHIFT+ENTER.
Wyjaśnienie, dlaczego wstawiłem znak "#" do ciągu znakowego. Chodziło o wyraźne rozgraniczenie nazwy firmy i nazwiska. Mogłoby bowiem zdarzyć się tak, że w firmie JAN pracuje pan Kobuszewski Stefan, a w firmie JANKO pan Buszewski Stefan. Bezpośrednie połączenie tych słów prowadziłoby najpewniej do niewłaściwego działania. Dodałem także formatowanie warunkowe sygnalizujące sytuację, gdy w polu imię i Nazwisko znajduje się ktoś, kto nie pracuje w wybranej firmie. Tak się może zdarzyć, gdy zmieniona zostanie wybrana firma. Nie powoduje to zmiany nazwiska znajdującego się już w komórce z nazwiskiem, więc użytkownik wie, że coś jest nie tak.
Funkcja INDEKS() pobiera nazwisko z tego wiersza i kolumny 2, a telefon z kolumny 3.
Chcę także przedstawić ci inne, alternatywne rozwiązanie tego problemu, bez korzystania z funkcji bazodanowych.
Obszar twoich danych, nazwałem "wykaz" i traktuje go jak tablicę, z której będę pobierał dane.
Dlatego w arkuszu Lista_wyboru umieściłem formułę, która na podstawie firmy i nazwiska odnajduje pozycję (nr wiersza w obszarze "wykaz"), na której znajduje się osoba. Jest to formuła macierzowa zatwierdzana skrótem klawiaturowym CTRL+SHIFT+ENTER.
Wyjaśnienie, dlaczego wstawiłem znak "#" do ciągu znakowego. Chodziło o wyraźne rozgraniczenie nazwy firmy i nazwiska. Mogłoby bowiem zdarzyć się tak, że w firmie JAN pracuje pan Kobuszewski Stefan, a w firmie JANKO pan Buszewski Stefan. Bezpośrednie połączenie tych słów prowadziłoby najpewniej do niewłaściwego działania. Dodałem także formatowanie warunkowe sygnalizujące sytuację, gdy w polu imię i Nazwisko znajduje się ktoś, kto nie pracuje w wybranej firmie. Tak się może zdarzyć, gdy zmieniona zostanie wybrana firma. Nie powoduje to zmiany nazwiska znajdującego się już w komórce z nazwiskiem, więc użytkownik wie, że coś jest nie tak.
Funkcja INDEKS() pobiera nazwisko z tego wiersza i kolumny 2, a telefon z kolumny 3.
- Załączniki
-
- AjsztajN_1.ods
- (10.14 KiB) Pobrany 40 razy
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.