Formularze IPS

Z VatoWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Definicje eksportu do formularzy IPS

Współpraca z programem Formularze IPS polega na eksporcie wszystkich wymaganych danych oraz uruchomieniu programu "drukform.exe". Z założenia każdemu formularzowi IPS odpowiada jeden plik, którego nazwa jest zgodna z symbolem formularza.

Ponieważ większość formularzy została już zdefiniowana należy zwrócić uwagę na dwie sprawy. Pierwsza z nich, to możliwość dowolnego modyfikowania definicji w/g własnych potrzeb i ewentualne wykonanie importu domyślnej definicji formularza. Import ten możemy wykonać usuwając starą lub niechcianą definicję, a następnie za pomocą menu głównego lub podręcznego wywołujemy polecenie "import". Wówczas pojawi się lista formularzy do importu. Jeżeli nie usuniemy starej definicji, to podczas importu zostaną zaktualizowane wszystkie pola formularza występujące w definicji domyślnej.

Definicje robocze formularzy znajdują się w plikach \BR\BAZY\DRK_IPS*, a definicje domyślne w \BR\PROGRAMY\HELP\DRK_IPS*. Istnieje zatem możliwość przekopiowania odpowiednich plików z podkatalogu HELP do podkatalogu BAZY (usuwając jednocześnie pliki DRK_IPS.cdx i DRK_IPSP.cdx)

Druga sprawa dotyczy definiowania formuły. Pole formuły powinno zawierać wyrażenie wskazujące na daną do pobrania lub będącą daną dla formularza. W formule można stosować wszystkie podstawowe funkcje języka CLIPPER i VO np.

  • val(<tekst>) - zwraca liczbę
  • str(<liczba>, <długość>, <po kropce>) - zwraca tekst
  • dtoc() - zamienia datę na tekst
  • ctod(<tekstowa_data>) - zamienia datę w formacie tekstowym na datę
  • iif(<warunek>,<prawda>,<fałsz>) - zwraca odpowiednio <prawda> lub <fałsz> w zależności od spełnienia <warunek>
  • int(<liczba>) - zaokrągla do liczby całkowitej poprzez odcięcie liczba(<nieznany_typ>) – zwraca liczbę niezaleznie od parametru
  • round(<liczba>,<dziesiąte>) - zaokrągla matematycznie do <dziesiąte> miejsc po przecinku (kropce)
  • trim(<tekst>) - odcięcie spacji z prawej strony tekstu
  • ltrim(<tekst>) - odcięcie spacji z lewej strony tekstu
  • StrTran(<tekst>, <szukany>, [<zamien_na>], [<nr_znaku_poczatku>], [<nr_znaku_konca>]) - zwraca <tekst> z zamienionymi znakami <szukany> na <zamien_na>, można nie stosować pozostałych parametrów
  • NoteGet(<tabela>,<pole>,<nr>) - odczytanie notatki
  • NotePut(<tabela>,<pole>,<nr>,<tekst>) - zapisanie notatki

- składnia typu: DK->NAZWA to tabela DK - kontrahenci (bardzo dawno temu byli tylko Dostawy-Klienci), a NAZWA, to pole w tabeli i tak:

  • DK->GMINA - odczyta gminę
  • DK->POWIAT
  • DK->KRAJ
  • DK->WOJEWODZ - województwo
  • DK->TEL

wszystkie pola można sprawdzić podglądając konkretną tabelę w menu System -> Zasoby -> Tabele lub plik fld.dbf zawierający wszystkie potrzebne informacje wraz z opisem

Dodatkowo można stosować funkcję wyszukiwania dbseek(), np. iif(DK->(dbseek("0000")),DK->KONTO,"") co należy zinterpretować jako: jeżeli znalazłeś rekord firmy (kod Twojej firmy to właśnie cztery zera), to pobierz numer konta bankowego, a w przeciwnym wypadku zostaw puste.

Program jest odporny na błędy w formułach.

Dla programu Kadrowiec opracowano dodatkowe funkcje do zastosowania w formułach:

  • PobierzSklPlc(<formularz>,<nr_pola_formularza>,<czy_dla_całej_firmy>,<data_początku>, <data_końca>)
  • ZliczSklPlc(<formularz>,<nr_pola_formularza>,<czy_dla_całej_firmy>,<data_początku>, <data_końca>)

Pierwsza zwraca sumę wartości wszystkich składników spełniających warunki, a druga liczbę składników. Przykłady zastosowania znajdują się w bazie firmy testowej BRTEST.

Oto jeden z nich:

Z definicji formularza PIT4 dla pola 20: PobierzSklPlc("PIT4",20,.T.) Funkcja zwróci sumaryczną wartość składnika (lub składników) posiadającego w kolumnie PIT4 zapisane pole 20 dla całej firmy, czyli z wszystkich list w okresie obejmowanym przez formularz. Brzmi to wszystko pokrętnie, ale działa, o czym można się przekonać.