Jak sprawnie definiować kolumny dla raportów w SQL?
Nowoczesne firmy potrzebują elastyczności w raportowaniu danych. W tym celu systemy często korzystają z tabel, które pozwalają na dynamiczne ustawianie kolumn w zestawieniach. Jedna z takich tabel, to dbo.x_zestawienia_kolumny. Służy ona do dokładnego opisywania każdej kolumny, którą chcesz pokazać w raporcie. Możesz w niej kontrolować wygląd i funkcjonalność.
Tabela ta pozwala na personalizację kolumn, tak aby pasowały do twoich potrzeb. Możesz ustalić nagłówek, szerokość czy typ danych w siatce. Dzięki temu zawsze wiesz, jak wyglądają i działają twoje raporty. Możesz też decydować o tym, czy kolumna ma być widoczna albo czy można ją edytować.
Ustawienia w tej tabeli to podstawa dla każdego, kto chce mieć pełną kontrolę nad danymi. Możesz też dodawać podpowiedzi dla użytkowników, co ułatwia pracę. W ten sposób zapewniasz, że dane są dobrze zorganizowane i łatwe do zrozumienia. To wszystko prowadzi do lepszego działania firmy.
Tabela [dbo].[x_zestawienia_kolumny]
Kolumny
- [AGREGATEFUNCTION] – Nazwa funkcji agregującej wyświetlanej w stopce siatki. Obsługiwane słowa kluczowe: sum, avg, min, max, count. Jeżeli wartość jest pusta, dla kolumny nie wylicza się agregatów. Typ varchar(50), tekst, NULL.
- [AUTOINCREMENT] – Określa, że kolumna jest AUTO INCREMENT/IDENTITY. Przy wartości 1 kontrolki edycyjne i mechanizmy INSERT pomijają tę kolumnę, pozostawiając generację po stronie bazy. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [BACKCOLOR] – Oznaczenie koloru tła komórki Typ varchar(50), tekst, NULL.
- [BACKCOLORCOLUMN] – Oznaczenie tła kolumny Typ varchar(50), tekst, NULL.
- [BOLD] – Oznaczenie czy dane w kolumnie mają być wyświetlane za pomocą czcionki pogrubionej BOLD Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [CAPTION] – Nagłówek wyświetlany w tabeli Typ varchar(50), tekst, NULL.
- [COLAPSED] – Oznaczenie że zgrupowane dane mają być zwinięte czy rozwinięte Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [COLUMNTYPE] – Typ prezentacji danych w siatce. Dopuszczalne wartości (bez wielkości liter):
text, numeric, number, date, datetime, calendar, checkbox, hyperlink, image, picture, textwithtooltip – inne wartości są ignorowane w kodzie. Typ varchar(50), tekst, NULL. - [COLUMNTYPEFLG] – Kod flagi pozwalającej powiązać kolumnę z definicją kolorów/ikon w innych tabelach; jeżeli puste, kolumna nie jest interpretowana jako flaga. Typ varchar(50), tekst, NULL.
- [DATAFORMATINGSTRING] – Łańcuch formatu komórki zgodny z konwencją jqxGrid / .NET (yyyy-MM-dd, d2, n, itp.). Przy kolumnach liczbowych kod automatycznie wylicza liczbę miejsc po przecinku. Typ varchar(50), tekst, NULL.
- [DATAMEMBER] – Definicja nazwy kolumny ze źródła danych Typ varchar(50), tekst, NULL.
- [DEFAULTFILTERTYPE] – Domyślny sposób filtrowania danych, dla wartości tekstowych jest to ZAWIERA Typ varchar(50), tekst, NULL.
- [DEFAULTINSERTVALUE] – Wartość wstawiana automatycznie przy operacji INSERT, gdy kolumna jest niewidoczna (VISIBLED = 0). Rozpoznawane tokeny specjalne:
@REFNO – wygenerowany numer referencyjny,
@DATA – bieżąca data,
@LOGIN / @KTO – nazwa aktualnego użytkownika. Typ varchar(50), tekst, NULL. - [DEFAULTKEY] – Ustalenie że kolumna jest domyślnym kluczem danych tabeli, jeżeli nie jest to standardowy klucz REFNO Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [ENABLED] – Oznaczenie czy dane w kolumnie są dostępne do edycji Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [GROUP] – Oznczaczneie czy dane mają być grupowane wg tej kolumny Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [GROUPSORT] – Warunek sortowania dla pogrupowanych kolumn Typ varchar(20), tekst, NULL.
- [HINT] – Podpowiedź, opis pola. Typ varchar(max), tekst, NULL.
- [HINT_ICON] – Nazwa pliku ikony dla podpowiedzi Typ varchar(150), tekst, NULL.
- [HORIZONTALALIGN] – Wyrównanie danych w komórce: left (domyślnie), center, right. Typ varchar(50), tekst, NULL.
- [ID_X_ZESTAWIENIA_KOLUMNY] – Unikalny identyfikator wiersza tabeli Typ int, typu int, czyli przechowuje wartości całkowite, NOT NULL.
- [INSERTED] – Flaga techniczna ustawiana przez transakcję x_GRID – 1 oznacza, że wiersz został dodany w bieżącej sesji i nie podlegał jeszcze edycji; używana przy walidacji i podświetlaniu nowych rekordów. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [INSTRUKCJA_OPIS] – Instrukcja dotycząca pola Typ varchar(5000), tekst, NULL.
- [KIEDY] – Czas dopisania rekordu w bazie Typ datetime, typ daty i czasu, NULL.
- [KOLEJNOSC] – Określenie kolejności kolumn od lewej strony tabeli Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [KOMENTARZ] – Opis przeznaczenia danej kolumny inny niż domyślny, wykorzystanie kolumny w określonym wdrożeniu Typ varchar(max), tekst, NULL.
- [KONFIGURACJA] – Oznaczenie wiersza czy dotyczy konfiguracji ROOT.Ppodczas synchronizacji z bazą ROOT dane wiersze zostaną przegrane z bazy wzorcowej do instalacji klienta. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [MULTILINE] – Oznaczenie czy dane w kolumnie będą wyświetlane w jednym lub w wielu wierszach – zawijanie długich danych opisowych Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [NAME] – Nazwa kolumny w tabeli Typ varchar(50), tekst, NULL.
- [NULLTEXT] – Tekst zastępczy wyświetlany wyłącznie dla wartości NULL (nie dla pustego łańcucha). Przykłady: 0, BRAK, —. Pojedyncza spacja dezaktywuje mechanizm. Typ varchar(50), tekst, NULL.
- [PADLEFT] – Liczba pikseli, o jaką zawartość komórki (tekst, obraz, hiperlink) ma być odsunięta od lewej krawędzi – przekazywana do rendererów jako margin-left; domyślnie 4 px. Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [PADRIGHT] – Analogicznie do PADLEFT: odsunięcie treści od prawej krawędzi komórki w pikselach, stosowane w funkcjach renderujących kolumny. Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [PARAMETRY] – Łańcuch dodatkowych parametrów używany kontekstowo:
dla hyperlink – szablon HTML, w którym placeholder @REFNO jest zastępowany wartością pola;
dla innych typów – parametry przekazywane do kontrolek edycyjnych lub wywołania funkcji JavaScript. Typ varchar(max), tekst, NULL. - [PREVIEWROW] – Oznacza, że kolumna ma być wyświetlana w postaci wiersza opisu. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [PREVIEWROWEXPAND] – Oznacza, czy kolumna w postaci wiersza opisu ma być domyślnie rozwinięta. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [REFNO] – Numer referencyjny z odwołaniem do definicji zestawienia (x_zestawienia) Typ varchar(50), tekst, NULL.
- [REFNO_POZ] – numer referencyjny pozycji Typ bigint, typu bigint, czyli przechowuje duże wartości całkowite, NULL.
- [REFNOKOLUMN] – Wskazuje, że kolumna przechowuje główny identyfikator rekordu (REFNO). Wartość 1 pozwala generatorom SQL szybko odnaleźć klucz przy operacjach UPDATE/DELETE. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [REQUIRED] – Dotyczy dopisania w trybie tabelarycznym. Oznaczenie, czy zapis infromacji w polu jest wymagany. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [SORT] – Oznaczenie że dane mają być sortowane wg tej kolumny Typ varchar(20), tekst, NULL.
- [SYSTEMOWE] – Oznaczenie że dany wierwsz jest instalowany systemowo i synchronizowany z bazą ROOT Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [UNIQUEID] – Unikalny identyfikator Typ varchar(50), tekst, NOT NULL.
- [VISIBLED] – Oznaczenie czy dana kolumna tabeli ma być widoczna czy ukryta Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [WIDTH] – Oznaczenie szerokości kolumny, domyślnie 120px Typ int, typu int, czyli przechowuje wartości całkowite, NOT NULL.
- [WYMAGANE] – Transakcja x_insert_update oznaczenie czy dany obiekt jest wymagany – posiada wartość – aby zostało wykonane polecenie INSERT lub UPDATE Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NULL.
- [ZAPYTANIE] – Zapytanie wykonywane dla listy rozwijanej obiekt WebCombo Typ varchar(max), tekst, NULL.
Indeksy
- [PK_x_zestawienia_kolumny] PK UNIQUE ON ([ID_X_ZESTAWIENIA_KOLUMNY]).
- [REFNO] ON ([REFNO]).
- [REFNO_KOLEJNOSC] ON ([REFNO], [KOLEJNOSC]).
- [REFNO_POZ] UNIQUE ON ([REFNO_POZ]).
- [UNIQUEID] UNIQUE ON ([UNIQUEID]).
Źródła danych
- KONFIGURACJA WIDOKÓW: Tabela [x_zestawienia_kolumny] zawiera definicje kolumn, które są częścią zestawień (widoków) w systemie. Każda kolumna ma przypisaną specyfikację, która określa jej właściwości, takie jak sposób wyświetlania, formatowanie, agregowanie danych, czy sposób filtrowania. Kolumny te są wykorzystywane do budowy tabel w interfejsie użytkownika, umożliwiając elastyczną prezentację danych.
W tabeli znajdują się kolumny, które kontrolują, czy dana kolumna jest widoczna, edytowalna lub wymagana do zapisania, na przykład [VISIBLE], [ENABLED], [REQUIRED]. Istnieje także możliwość definiowania, czy kolumna jest częścią grupowania lub sortowania danych, jak w przypadku [GROUP], [SORT], oraz czy ma być stosowana funkcja agregacji, np. [AGGREGATEFUNCTION] umożliwiająca sumowanie danych.
Dodatkowo tabela pozwala na szczegółowe konfigurowanie wyglądu kolumn, jak [BACKCOLOR] (kolor tła), [BOLD] (pogrubienie tekstu), [WIDTH] (szerokość kolumny), [HORIZONTALALIGN] (wyrównanie tekstu) czy [MULTILINE] (obsługa zawijania tekstu w komórkach). Istnieje również możliwość określenia domyślnych wartości dla kolumn, jak np. w [DEFAULTINSERTVALUE], a także dostosowania filtrowania i sortowania danych w kolumnie, dzięki kolumnom [DEFAULTFILTERTYPE] i [FILTR_KOLUMNA].
Ponadto, tabela oferuje mechanizmy umożliwiające definiowanie instrukcji związanych z kolumnami, takich jak [INSTRUKCJA_OPIS], które mogą być używane do wyświetlania podpowiedzi, oraz [PARAMETRY] umożliwiające przekazywanie dodatkowych parametrów w transakcjach. Dzięki tej tabeli użytkownicy mogą dynamicznie konfigurować i personalizować wygląd i funkcjonalność tabel w systemie, dopasowując je do swoich potrzeb i roli w organizacji. - MS_Description: numer referencyjny pozycji
Rodzaje środków trwałych w ewidencji majątkowej – jak uniknąć błędów klasyfikacji KŚT
Prawidłowe przyporządkowanie środka trwałego do właściwej grupy KŚT bezpośrednio wpływa na stawki amortyzacji i prawidłowość rozliczeń podatkowych – pomyłka na etapie ewidencji generuje konieczność korekty nawet za kilka lat wstecz. Przegląd kategorii i zasad klasyfikacji zawiera artykuł omawiający rodzaje środków trwałych w ewidencji majątkowej, przydatny przy wdrożeniu modułu środków trwałych w systemie ERP. To punkt wyjścia przed pierwszym wprowadzeniem dokumentu OT w nowym systemie.
Błędy klasyfikacji najczęściej pojawiają się przy środkach trwałych na styku kategorii – urządzeniach IT zintegrowanych z maszynami, instalacjach wbudowanych w budynki czy zestawach narzędziowych ewidencjonowanych jako jeden obiekt. Wczesne ustalenie właściwej grupy KŚT eliminuje ryzyko korekt wstecznych i nieporozumień podczas kontroli skarbowej, a system ERP z modułem środków trwałych automatyzuje naliczanie amortyzacji zgodnie z przyjętą klasyfikacją.
Integrator dla flot transportowych jako inwestycja przynosząca realne oszczędności
Firmy transportowe zarządzające flotą powyżej 20 pojazdów regularnie zmagają się z rozproszeniem danych między tachografem, systemem fakturowania a aplikacją planowania tras – każda luka integracyjna oznacza ręczne przepisywanie danych lub kolejny abonament na narzędzie punktowe. Analiza zwrotu z inwestycji we wdrożenie dedykowanego narzędzia dostępna jest w materiale na temat integratora dla flot transportowych, opartym na danych operacyjnych z wdrożeń u klientów z branży TSL.
Rozproszenie danych między niepołączonymi systemami to jeden z głównych generatorów kosztów ukrytych w transporcie – widocznych dopiero po zsumowaniu czasu pracowników przepisujących dane, błędów na fakturach i kar wynikających z braku bieżącego monitoringu. Jeden integrator zastępujący tę mozaikę narzędzi obniża koszt operacyjny i daje dyspozytorom pełny obraz floty w jednym miejscu, bez przełączania między czterema aplikacjami podczas jednej zmiany.
Oprogramowanie do reklamacji z numeracją RMA – jak działa identyfikacja zgłoszeń
Brak jednolitej numeracji zgłoszeń serwisowych prowadzi do sytuacji, w której klient i serwis mówią o tym samym przypadku innym językiem – co wydłuża czas obsługi i generuje błędy w komunikacji między działami. Mechanizm identyfikacji i obsługi przypadków opisuje artykuł o oprogramowaniu do reklamacji z numeracją RMA, pokazujący jak unikalny numer RMA porządkuje przepływ informacji między klientem, serwisem i magazynem części. Dobrze zaprojektowany schemat numeracji to fundament rozliczalności w każdym procesie posprzedażowym.
System Studio RMA.net nadaje numer RMA automatycznie przy rejestracji zgłoszenia i prowadzi go przez cały cykl obsługi – od przyjęcia reklamacji, przez diagnozę i naprawę, aż po wydanie lub złomowanie. Klient może śledzić status swojego zgłoszenia bez angażowania pracownika serwisu, a kierownik działu widzi w czasie rzeczywistym, ile przypadków czeka na każdym etapie ścieżki reklamacyjnej.
System do obsługi reklamacji w chmurze – kiedy SaaS jest lepszym wyborem niż instalacja lokalna
Firmy, które obsługują reklamacje w wielu lokalizacjach lub korzystają z zewnętrznych serwisantów, napotykają na ograniczenia systemów instalowanych lokalnie – dostęp do danych wymaga VPN, aktualizacje obciążają dział IT, a nowe oddziały wymagają osobnych wdrożeń. Alternatywę opisuje artykuł o systemie do obsługi reklamacji w chmurze, omawiający model SaaS jako rozwiązanie dla rozproszonych struktur serwisowych. Dostęp przez przeglądarkę i wspólna baza danych eliminują problemy z synchronizacją między oddziałami.
Model chmurowy w obsłudze reklamacji sprawdza się szczególnie tam, gdzie liczba zgłoszeń jest sezonowa – w szczycie firma płaci za rzeczywiste wykorzystanie, a nie za licencje na stanowiska, które przez większość roku stoją bezczynnie. Wdrożenie nie wymaga zakupu serwerów ani długiego projektu IT – konfiguracja ścieżki reklamacyjnej i import danych kontrahentów to typowo kwestia dni, nie miesięcy.
Gospodarka paletami w magazynie – elektroniczna ewidencja zamiast arkusza kalkulacyjnego
Nierozliczone palety to jeden z najczęściej pomijanych kosztów w logistyce kontraktowej – pozornie mała kwota za jednostkę mnoży się przez setki obrotów miesięcznie i przekłada się na realne straty w bilansie. Podejście do elektronicznej kontroli przepływu nośników opisuje materiał o gospodarce paletami w magazynie, omawiający ewidencję wydań i zwrotów z dokładnością do kontrahenta i dokumentu dostawy. To podstawa do precyzyjnych rozliczeń z odbiorcami i przewoźnikami.
Studio PWS.net rejestruje każdy ruch palety – przyjęcie od dostawcy, wydanie do klienta, zwrot od przewoźnika – i automatycznie aktualizuje saldo dla każdego kontrahenta. Na koniec okresu rozliczeniowego system generuje zestawienie różnic bez konieczności ręcznego porównywania dokumentów WZ i dowodów przyjęcia, co skraca czas rozliczenia puli paletowej z kilku dni do kilkudziesięciu minut.
System RMA w modelu SaaS – stałe koszty obsługi reklamacji bez inwestycji w infrastrukturę
Małe i średnie firmy produkcyjne rzadko dysponują zasobami IT do utrzymania własnego serwera aplikacyjnego dla systemu reklamacyjnego – a outsourcing tej funkcji do zewnętrznego dostawcy wiąże się z ryzykiem utraty kontroli nad danymi klientów. Środkową drogę opisuje artykuł o systemie RMA w modelu SaaS, pokazując jak subskrypcja zastępuje jednorazową inwestycję licencyjną przy zachowaniu pełnej funkcjonalności platformy. Model abonamentowy ułatwia też planowanie budżetu działu serwisu na kolejne lata.
SaaS w obsłudze reklamacji oznacza, że aktualizacje systemu, kopie bezpieczeństwa i utrzymanie środowiska leżą po stronie dostawcy – dział IT klienta nie angażuje się w infrastrukturę aplikacji. Firma skupia się na obsłudze zgłoszeń, a nie na zarządzaniu serwerem, co jest szczególnie istotne w organizacjach, gdzie jeden administrator IT odpowiada za kilkanaście różnych systemów jednocześnie.
Program do zarządzania transportem TMS – planowanie tras i kontrola kosztów spedycji
Firmy spedycyjne i operatorzy logistyczni zarządzający dziesiątkami zleceń dziennie szybko osiągają granicę tego, co można efektywnie koordynować w arkuszu kalkulacyjnym lub przez telefon. Zakres funkcji dedykowanej platformy transportowej opisuje artykuł o programie do zarządzania transportem TMS, obejmujący planowanie tras, zarządzanie zleceniami i kontrolę kosztów przewozów w jednym miejscu. Linkway jako system TMS odpowiada na potrzeby firm działających zarówno w transporcie drogowym, jak i w spedycji multimodalnej.
Wdrożenie TMS przynosi największe efekty w obszarach, gdzie decyzje operacyjne podejmowane są pod presją czasu – przy przydziale pojazdu do zlecenia, negocjacji stawki z przewoźnikiem spot czy planowaniu powrotów bez pustych przebiegów. System analizuje dostępność floty, historię współpracy z przewoźnikami i rentowność tras, dostarczając dyspozytorom danych potrzebnych do podjęcia optymalnej decyzji w ciągu sekund, nie godzin.
