﻿{"id":16242,"date":"2018-09-20T11:44:46","date_gmt":"2018-09-20T11:44:46","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/?post_type=ht_kb&#038;p=16242"},"modified":"2021-10-29T13:19:15","modified_gmt":"2021-10-29T13:19:15","slug":"opt042-dodatkowe-mozliwosci-filtrowania-list-w-programie","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/dokumentacja\/opt042-dodatkowe-mozliwosci-filtrowania-list-w-programie\/","title":{"rendered":"OPT042 &#8211; Dodatkowe mo\u017cliwo\u015bci filtrowania list w programie"},"content":{"rendered":"<p style=\"text-align: right;\">Data aktualizacji: 20-11-2019<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-caret su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Spis tre\u015bci<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<h3><a href=\"#ksi\">Teoria i przyk\u0142ady praktyczne<\/a><\/h3>\n<ul>\n<li style=\"padding-left: 30px;\"><a href=\"#pfz\">Panel filtra zaawansowanego<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zog\">Zak\u0142adka [Og\u00f3lne]<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zz\">Zak\u0142adka [Zaawansowane]<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zop\">Zak\u0142adka [Opcje]<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zuf\">Zapami\u0119tywanie ustawie\u0144 filtra<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#pzit\">Przyk\u0142ady z instrukcj\u0105 tworzenia<\/a><\/li>\n<\/ul>\n<h3><a href=\"#pz\">Pozosta\u0142e przyk\u0142ady<\/a><\/h3>\n<ul>\n<li style=\"padding-left: 30px;\"><a href=\"#og\">Og\u00f3lne<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#kb\">Kasa\/Bank<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#hif\">Handel i Faktury<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#crm\">CRM<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#od\">Obieg Dokument\u00f3w<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#kist\">Ksi\u0119gowo\u015b\u0107 i \u015arodki Trwa\u0142e<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#pik\">P\u0142ace i Kadry<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n<p><a name=\"ksi\"><\/a><\/p>\n<h2><strong>Teoria i przyk\u0142ady praktyczne<\/strong><\/h2>\n<p><a name=\"pfz\"><\/a><\/p>\n<h3><strong>Panel filtra zaawansowanego<\/strong><\/h3>\n<p>Filtr jest narz\u0119dziem wspomagaj\u0105cym przeszukiwanie list. W wielu miejscach systemu pojawiaj\u0105 si\u0119 r\u00f3\u017cnego rodzaju listy, do kt\u00f3rych mo\u017cna stosowa\u0107 filtry. Filtrowanie listy powoduje zaw\u0119\u017cenie ilo\u015bci element\u00f3w wy\u015bwietlanych na li\u015bcie do takich, kt\u00f3re spe\u0142niaj\u0105 warunki filtra. Panel filtra mo\u017cna stosowa\u0107 na dwa sposoby:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> Proste filtrowanie<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> Filtr zaawansowany<\/li>\n<\/ul>\n<\/div>\nWe wszystkich przypadkach list, kt\u00f3re mog\u0105 by\u0107 filtrowane, panel filtra zaawansowanego znajduje si\u0119 na dole listy. Po prawej stronie wiersza filtra znajduj\u0105 si\u0119 zawsze przyciski do w\u0142\u0105czania i wy\u0142\u0105czania dzia\u0142ania filtra <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13962\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/filtruj.png\" alt=\"\" width=\"33\" height=\"20\" \/> &#8211;<em>Filtruj<\/em>, <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13961\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/wyczysc_filtr.png\" alt=\"\" width=\"33\" height=\"20\" \/> <em>Wyczy\u015b\u0107 filtr<\/em> oraz przycisk do tworzenia warunk\u00f3w filtruj\u0105cych filtra zaawansowanego <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12743\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/konstruktor_filtra-1.png\" alt=\"\" width=\"33\" height=\"20\" \/> <em>Konstruktor filtra<\/em>.<\/p>\n<p>Je\u017celi <strong>pinezka<\/strong> (widoczna obok ikony filtrowania \u2013 lejka) jest:<br \/>\nwy\u0142\u0105czona <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14609\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Pinezka_wylaczona.png\" alt=\"\" width=\"21\" height=\"20\" \/>\u2013 w\u00f3wczas po zmianie filtrowania na ikonie lejka pojawia si\u0119 znak zapytania <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14636\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konstruktor_znak_zapytania.png\" alt=\"\" width=\"33\" height=\"20\" \/> i dopiero po jego klikni\u0119ciu uruchomione zostanie filtrowanie. Ten tryb pracy jest efektywniejszy gdy lista zwiera bardzo du\u017co pozycji. Mo\u017cna wtedy najpierw ustawi\u0107 wszystkie parametry filtrowania, a dopiero na ko\u0144cu uruchomi\u0107 samo przefiltrowanie listy.<br \/>\nw\u0142\u0105czona <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14610\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Pinezka_wlaczona.png\" alt=\"\" width=\"21\" height=\"20\" \/> \u2013 wszystkie zmiany filtrowania wykonywane s\u0105 na bie\u017c\u0105co i od razu widoczne s\u0105 na li\u015bcie.<\/p>\n<p>Filtr zaawansowany pozwala filtrowa\u0107 list\u0119 wed\u0142ug stworzonych przez U\u017cytkownika warunk\u00f3w. Filtry zaawansowane s\u0105 zapami\u0119tywane w systemie. Nazwa filtra zaawansowanego jest poprzedzona znakiem &#8222;#&#8221;. Do tworzenia filtra zaawansowanego s\u0142u\u017cy <em>Konstruktor filtra<\/em> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12743\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/konstruktor_filtra-1.png\" alt=\"\" width=\"33\" height=\"20\" \/>, uruchamiany z dowolnego okna, w kt\u00f3rym istnieje mo\u017cliwo\u015b\u0107 zastosowania filtra.<br \/>\nPraca z konstruktorem filtra wymaga pewnej znajomo\u015bci struktury baz danych oraz umiej\u0119tno\u015bci formu\u0142owania warunk\u00f3w logicznych.<br \/>\n<strong>Nazwa<\/strong> &#8211; nazwa filtra. Po zapisaniu filtra wpisana w tym polu nazwa zostanie poprzedzona znakiem &#8222;#&#8221;. Filtr pod t\u0105 nazw\u0105 b\u0119dzie zapisany w zbiorze dost\u0119pnych filtr\u00f3w dla danej listy. Zbi\u00f3r filtr\u00f3w przyporz\u0105dkowanych do danej listy mo\u017ce by\u0107 dowolnie modyfikowany tzn. mo\u017cna dodawa\u0107, poprawia\u0107 i usuwa\u0107 zdefiniowane filtry.<\/p>\n<p><a name=\"zog\"><\/a><\/p>\n<h3><strong>Zak\u0142adka [Og\u00f3lne]<\/strong><\/h3>\n<p>Zak\u0142adka <strong>[Og\u00f3lne]<\/strong> zawiera mechanizm \u0142atwego konstruowania rozbudowanego wyra\u017cenia logicznego filtruj\u0105cego list\u0119. W rozbudowanej postaci warunek logiczny mo\u017ce sk\u0142ada\u0107 si\u0119 z wielu cz\u0142on\u00f3w po\u0142\u0105czonych operatorami logicznymi &#8222;<strong>oraz<\/strong>&#8221; (AND), &#8222;<strong>lub<\/strong>&#8221; (OR), &#8222;<strong>oraz nie<\/strong>&#8221; (AND Not) i &#8222;<strong>lub nie<\/strong>&#8221; (OR Not). W konstruktorze filtra tworzy si\u0119 proste warunki logiczne, a nast\u0119pnie \u0142\u0105czy si\u0119 je za pomoc\u0105 dost\u0119pnych operator\u00f3w.<\/p>\n<figure id=\"attachment_13683\" aria-describedby=\"caption-attachment-13683\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14621\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-zak\u0142adka-Og\u00f3lne-300x190.png\" alt=\"\" width=\"600\" height=\"380\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-zak\u0142adka-Og\u00f3lne-300x190.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-zak\u0142adka-Og\u00f3lne-50x32.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-zak\u0142adka-Og\u00f3lne-320x202.png 320w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-zak\u0142adka-Og\u00f3lne.png 484w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13683\" class=\"wp-caption-text\">Konstruktor filtra \u2013 zak\u0142adka Og\u00f3lne<\/figcaption><\/figure>\n<p>Tworzenie pojedynczego wyra\u017cenia filtra zaczyna si\u0119 od dodania warunku (po klikni\u0119ciu w domy\u015blny operator <strong>Oraz<\/strong> wybieramy opcj\u0119 <strong>Dodaj warunek<\/strong> lub obok wciskamy przycisk). Nast\u0119pnie w warunku klikni\u0119cie na domy\u015blnie podstawione pierwsze pole z bazy danych rozwija list\u0119 z wyborem dost\u0119pnych p\u00f3l. Nie trzeba zna\u0107 dok\u0142adnie nazw p\u00f3l czy struktury bazy &#8211; po prawej stronie listy znajduje si\u0119 opis (komentarz).<\/p>\n<figure id=\"attachment_13683-2\" aria-describedby=\"caption-attachment-13683-2\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14628\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-lista-dost\u0119pnych-p\u00f3l-z-bazy-danych-300x224.png\" alt=\"\" width=\"600\" height=\"448\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-lista-dost\u0119pnych-p\u00f3l-z-bazy-danych-300x224.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-lista-dost\u0119pnych-p\u00f3l-z-bazy-danych-50x37.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-lista-dost\u0119pnych-p\u00f3l-z-bazy-danych-320x239.png 320w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-lista-dost\u0119pnych-p\u00f3l-z-bazy-danych.png 540w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13683-2\" class=\"wp-caption-text\">Konstruktor filtra \u2013 lista dost\u0119pnych p\u00f3l z bazy danych<\/figcaption><\/figure>\n<p>Dost\u0119p do p\u00f3l zorganizowany jest za po\u015brednictwem list rozwijanych. W zale\u017cno\u015bci od tego, dla jakiej listy tworzony jest filtr (z poziomu kt\u00f3rego okna zosta\u0142 wywo\u0142any konstruktor filtra), lista dost\u0119pnych p\u00f3l jest r\u00f3\u017cna. Przyk\u0142adowo, je\u017celi konstruktor filtra zostanie wywo\u0142any z okna Kontrahenci &#8211; w\u00f3wczas dost\u0119pne b\u0119d\u0105 pola zwi\u0105zane z kartotek\u0105 kontrahenta.<br \/>\nZa ka\u017cdym razem U\u017cytkownik otrzymuje zestaw dost\u0119pnych p\u00f3l odpowiedni do danej listy. Dzi\u0119ki temu, chc\u0105c tworzy\u0107 w\u0142asne filtry, nie musi zna\u0107 ca\u0142ej bazy danych. Mo\u017ce si\u0119 ograniczy\u0107 do znajomo\u015bci struktury kilku tabel, w oparciu o kt\u00f3re b\u0119dzie budowa\u0142 w\u0142asne filtry. Po wyborze pola nale\u017cy wybra\u0107 odpowiedni operator por\u00f3wnania<br \/>\nz listy. Lista pojawi si\u0119 po klikni\u0119ciu na domy\u015blnie wy\u015bwietlany operator.<\/p>\n<figure id=\"attachment_13683-3\" aria-describedby=\"caption-attachment-13683-3\" style=\"width: 304px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14630\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-\u2013-dost\u0119pne-operatory-warunkuj\u0105ce.png\" alt=\"\" width=\"304\" height=\"425\" \/><figcaption id=\"caption-attachment-13683-3\" class=\"wp-caption-text\">Konstruktor filtra \u2013 dost\u0119pne operatory warunkuj\u0105ce<\/figcaption><\/figure>\n<p>Inaczej m\u00f3wi\u0105c, nale\u017cy przyr\u00f3wna\u0107 wybrane pole do ustalonej z g\u00f3ry warto\u015bci sta\u0142ej lub do parametru, kt\u00f3rego warto\u015b\u0107 b\u0119dzie pobierana w momencie uruchamiania filtra. Warto\u015b\u0107 do kt\u00f3rej b\u0119dzie odbywa\u0142o si\u0119 przyr\u00f3wnanie wpisujemy po klikni\u0119ciu w pole . Tworzenie wyra\u017cenia mo\u017ce odbywa\u0107 si\u0119 tak\u017ce w oknie <strong>Edycja wyra\u017cenia filtra<\/strong>, kt\u00f3re uruchamia si\u0119 po klikni\u0119ciu w pole , a nast\u0119pnie przycisku plusa po prawej stronie <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14633\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/wpisz_wartosc.png\" alt=\"\" width=\"100\" height=\"19\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/wpisz_wartosc.png 100w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/wpisz_wartosc-50x10.png 50w\" sizes=\"auto, (max-width: 100px) 100vw, 100px\" \/> .<\/p>\n<p>Po wywo\u0142aniu okna Edycja wyra\u017cenia filtra nale\u017cy poda\u0107 warto\u015b\u0107 szukan\u0105 dla tego pola. Je\u017celi warto\u015b\u0107 szukana ma by\u0107 pobierana w momencie uruchomienia filtra to nale\u017cy zaznaczy\u0107 pole wyboru <strong>Pytaj o warto\u015b\u0107<\/strong>. Nast\u0119pnie w polu <strong>Tytu\u0142<\/strong> nale\u017cy wpisa\u0107 opis pobieranej warto\u015bci. W ten prosty spos\u00f3b tworzy si\u0119 filtry z parametrem. Poni\u017cej przedstawione zosta\u0142o okno z pytaniem o parametry filtra. Okno pojawia si\u0119 automatycznie po uruchomieniu filtra z parametrem.<\/p>\n<figure id=\"attachment_13683-4\" aria-describedby=\"caption-attachment-13683-4\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14639\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Edycja-wyrazenia-filtra-1-300x106.png\" alt=\"\" width=\"600\" height=\"212\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Edycja-wyrazenia-filtra-1-300x106.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Edycja-wyrazenia-filtra-1-50x18.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Edycja-wyrazenia-filtra-1-320x114.png 320w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Edycja-wyrazenia-filtra-1.png 541w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13683-4\" class=\"wp-caption-text\">Edycja wyra\u017cenia filtra<\/figcaption><\/figure>\n<p>Logiczna reprezentacja utworzonego w ten spos\u00f3b wyra\u017cenia filtruj\u0105cego jest wy\u015bwietlana w dolnej cz\u0119\u015bci okna po zaakceptowaniu <em>Edycji wyra\u017cenia filtra<\/em>.<\/p>\n<p><a name=\"zz\"><\/a><\/p>\n<h3><strong>Zak\u0142adka [Zaawansowane]<\/strong><\/h3>\n<p>Zak\u0142adka [Og\u00f3lne] konstruktora filtra pozwala na \u0142atwe budowanie wyra\u017ce\u0144 filtruj\u0105cych, posiada on jednak pewne ograniczenia. Dla bardziej wymagaj\u0105cych U\u017cytkownik\u00f3w zosta\u0142a zaprojektowana zak\u0142adka <strong>[Zaawansowane]<\/strong>. Mo\u017cna tu r\u0119czne tworzy\u0107 warunek filtruj\u0105cy. Zak\u0142adka <strong>[Zaawansowane]<\/strong> posiada pole, do kt\u00f3rego wprowadzany jest filtr w postaci wyra\u017cenia z u\u017cyciem sk\u0142adni j\u0119zyka SQL. Praca z konstruktorem filtra wymaga znajomo\u015bci struktury baz danych oraz umiej\u0119tno\u015bci formu\u0142owania warunk\u00f3w logicznych.<\/p>\n<section class=\"msp-alert-box msp-alert-warning\"><div class=\"msp-alert-icon\"><svg width=\"16\" height=\"16\" class=\"kb-icon kb-icon--warn\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\">\r\n    <g id=\"[AP]-Iconography\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <g id=\"Iconography_sortowanie-po-kategorii\" transform=\"translate(-552.000000, -10695.000000)\" fill=\"currentColor\">\r\n            <g id=\"Group-8\" transform=\"translate(286.000000, 548.000000)\">\r\n                <g id=\"Iconography-Card-\" transform=\"translate(218.000000, 10107.000000)\">\r\n                    <g id=\"0-Icons\/-24-\/-Status-\/-Alert-\/-Outline\" transform=\"translate(48.000000, 40.000000)\">\r\n                        <path d=\"M16.0008333,3.91866667 C16.3568333,3.91866667 16.6875,4.10933333 16.8661667,4.41866667 L29.6608333,26.5813333 C29.8408333,26.8906667 29.8408333,27.272 29.6608333,27.5813333 C29.4821667,27.8906667 29.1528333,28.0813333 28.7955,28.0813333 L3.2035,28.0813333 C2.8475,28.0813333 2.51683333,27.8906667 2.33816667,27.5813333 C2.1595,27.272 2.1595,26.8906667 2.33816667,26.5813333 L15.1328333,4.41866667 C15.3128333,4.10933333 15.6421667,3.91866667 16.0008333,3.91866667 Z M16.0008333,6.91866667 L4.93683333,26.0813333 L27.0635,26.0813333 L16.0008333,6.91866667 Z M15.9993667,21.9445333 C16.7353667,21.9445333 17.3327,22.5418667 17.3327,23.2778667 C17.3327,24.0138667 16.7353667,24.6112 15.9993667,24.6112 C15.2647,24.6112 14.6660333,24.0138667 14.6660333,23.2778667 C14.6660333,22.5418667 15.2647,21.9445333 15.9993667,21.9445333 Z M15.9997667,11.762 C16.7344333,11.762 17.3171,12.3833333 17.2704333,13.118 L16.9464333,19.0366667 C16.9161303,19.4984848 16.566268,19.8666391 16.1212392,19.9297596 L15.9851,19.9393333 C15.4744333,19.9393333 15.0544333,19.542 15.0224333,19.0326667 L14.7291,13.1113333 C14.6851,12.3793333 15.2664333,11.762 15.9997667,11.762 Z\" id=\"Color\"><\/path>\r\n                    <\/g>\r\n                <\/g>\r\n            <\/g>\r\n        <\/g>\r\n    <\/g>\r\n<\/svg><\/div><div class=\"msp-alert-body\"><div class=\"msp-alert-title\">Uwaga<\/div><div class=\"msp-alert-content\">Aby zobaczy\u0107 list\u0119 zdefiniowanych filtr\u00f3w nale\u017cy przycisn\u0105\u0107 klawisz <strong>CTRL<\/strong> razem z <strong>LEWYM KLAWISZEM MYSZY<\/strong> na przycisku <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12743\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/konstruktor_filtra-1.png\" alt=\"\" width=\"33\" height=\"20\" \/> Konstruktor filtra. Lista ta obs\u0142ugiwana jest przez standardowe przyciski i klawisze umo\u017cliwiaj\u0105ce dodawanie, edytowanie i kasowanie filtr\u00f3w.<\/div><\/div><\/section>\n<figure id=\"attachment_13683-5\" aria-describedby=\"caption-attachment-13683-5\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14649\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Zaawansowane-300x190.png\" alt=\"\" width=\"600\" height=\"380\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Zaawansowane-300x190.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Zaawansowane-50x32.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Zaawansowane-320x202.png 320w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Zaawansowane.png 484w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13683-5\" class=\"wp-caption-text\">Konstruktor filtra &#8211; zak\u0142adka Zaawansowane<\/figcaption><\/figure>\n<p>Je\u017celi zachodzi potrzeba utworzenia warunku, aby filtr dzia\u0142a\u0142 jedynie na wybranej bazie firmowej, na pocz\u0105tku tre\u015bci filtra nale\u017cy wpisa\u0107:<\/p>\n<p><code>'DEMO' = {_QGetSQL('select SYS_Wartosc from cdn.SystemCDN where SYS_ID =1')}<\/code><br \/>\npo tym warunku po operatorze \u201eAND&#8221; nale\u017cy wprowadzi\u0107 w\u0142a\u015bciw\u0105 tre\u015b\u0107 filtra. W powy\u017cszym warunku na pocz\u0105tku jako argument (w powy\u017cszym przyk\u0142adzie \u201eDEMO\u201d) nale\u017cy poda\u0107 nazw\u0119 bazy wy\u015bwietlan\u0105 na li\u015bcie firm.<\/p>\n<p><a name=\"zop\"><\/a><\/p>\n<h3><strong>Zak\u0142adka [Opcje]<\/strong><\/h3>\n<p>Zak\u0142adka <strong>[Opcje]<\/strong> zawiera typ filtra. Domy\u015blnym typem jest <strong>filtr Stanowiska<\/strong>. Jego definicja jest zapisywana w rejestrze systemowym i filtr stanowiska b\u0119dzie widoczny dla danego stanowiska.<\/p>\n<p>Definicja <strong>filtra Globalnego<\/strong> jest zapisywana w bazie danych, dzi\u0119ki czemu jest on widoczny i dost\u0119pny do edycji dla wszystkich U\u017cytkownik\u00f3w.<\/p>\n<p>Filtr mo\u017ce by\u0107 dost\u0119pny tylko dla wybranego operatora po zaznaczeniu opcji <strong>Operator<\/strong> i wybraniu odpowiedniego operatora. Po zalogowaniu si\u0119 operator b\u0119dzie mia\u0142 mo\u017cliwo\u015b\u0107 wyboru filtra z listy filtr\u00f3w.<\/p>\n<p>Filtr mo\u017ce by\u0107 <strong>Obowi\u0105zkowy<\/strong> dla danego operatora, co oznacza, \u017ce po zalogowaniu si\u0119 tego operatora filtr b\u0119dzie w\u0142\u0105czony i nie b\u0119dzie widoczny (do wyboru) na li\u015bcie filtr\u00f3w. Dodatkowo nale\u017cy zaznaczy\u0107 w menu Start\/Konfiguracja\/ Program\/ U\u017cytkowe\/ Parametry &#8211; parametr <strong>Stosuj filtry obowi\u0105zkowe<\/strong>.<\/p>\n<p>Parametr <strong>Chroniony<\/strong> \u2013 je\u015bli zaznaczy go operator z uprawnieniami Administratora, w\u00f3wczas inni operatorzy nie b\u0119d\u0105 mieli mo\u017cliwo\u015bci edycji i usuni\u0119cia danego filtra.<\/p>\n<p>Parametr <strong>Domy\u015blny<\/strong> mo\u017cna zaznaczy\u0107 dla danego filtra niezale\u017cnie od jego typu (Stanowiska\/ Operatora\/ Globalny\/ Obowi\u0105zkowy). Zaznaczenie parametru powoduje, \u017ce filtr jest automatycznie stosowany przy wej\u015bciu na dan\u0105 list\u0119. W odr\u00f3\u017cnieniu od filtra obowi\u0105zkowego mo\u017cna go wy\u0142\u0105czy\u0107. Filtr\u00f3w domy\u015blnych dla danej listy mo\u017ce by\u0107 wiele, ale przy otwieraniu listy zostanie wybrany tylko jeden z nich. Kryterium wyboru wyznacza typ filtra oraz kolejno\u015b\u0107 filtra w ramach typu. Najwy\u017cszy priorytet maj\u0105 filtry Stanowiska, a wi\u0119c zwi\u0105zane z danym komputerem. Je\u015bli na jednym lub kilku filtrach typu U\u017cytkownika, pod\u0142\u0105czonych do danej listy, zostanie zaznaczony parametr <strong>Domy\u015blny<\/strong>, ostatni z nich zostanie uznany jako domy\u015blny. W przypadku braku domy\u015blnego filtra Stanowiska przeszukiwane s\u0105 filtry Operatora, a wyb\u00f3r filtra domy\u015blnego nast\u0119puje analogicznie jak poprzednio. Je\u015bli na danej li\u015bcie nie ma zdefiniowanego ani filtra domy\u015blnego Stanowiska ani Operatora &#8211; domy\u015blny filtr jest szukany w filtrach Globalnych.<\/p>\n<figure id=\"attachment_13683-6\" aria-describedby=\"caption-attachment-13683-6\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14654\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Opcje-300x190.png\" alt=\"\" width=\"600\" height=\"380\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Opcje-300x190.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Opcje-50x32.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Opcje-320x202.png 320w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/Konstruktor-filtra-zakladka-Opcje.png 484w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-13683-6\" class=\"wp-caption-text\">Konstruktor filtra &#8211; zak\u0142adka Opcje<\/figcaption><\/figure>\n<p><a name=\"zuf\"><\/a><\/p>\n<h3><strong>Zapami\u0119tywanie ustawie\u0144 filtra<\/strong><\/h3>\n<p>Po zamkni\u0119ciu listy zapami\u0119tywanie ustawie\u0144 filtra jest realizowane wg poni\u017cszych zasad:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> zapami\u0119tywane jest czy panel dodatkowy by\u0142 zwini\u0119ty\/rozwini\u0119ty,<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> zapami\u0119tywane jest czy pinezka by\u0142a w\u0142\u0105czona\/wy\u0142\u0105czona,<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> zapami\u0119tywane s\u0105 ustawienia p\u00f3l z panelu podstawowego i rozwijanego,<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> lista otwiera si\u0119 wyfiltrowana wg zapami\u0119tanych filtr\u00f3w.<\/li>\n<\/ul>\n<\/div>\nPonadto przy pierwszym uruchomieniu listy pinezka jest w\u0142\u0105czona, a dost\u0119pna opcja Wyczy\u015b\u0107 filtr <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13961\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/wyczysc_filtr.png\" alt=\"\" width=\"33\" height=\"20\" \/> na li\u015bcie oraz Reset ustawie\u0144 okien przywraca ustawienia domy\u015blne dla filtr\u00f3w panelu podstawowego i rozwijanego.<\/p>\n<p>Od\u015bwie\u017canie listy odbywa si\u0119 przy ka\u017cdorazowym u\u017cyciu lejka <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13962\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/filtruj.png\" alt=\"\" width=\"33\" height=\"20\" \/> lub <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14636\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konstruktor_znak_zapytania.png\" alt=\"\" width=\"33\" height=\"20\" \/> oraz poprzez wci\u015bni\u0119cie <strong>F5<\/strong> w dowolnym miejscu na li\u015bcie.<\/p>\n<p>Filtry zapisywane s\u0105 do bazy konfiguracyjnej, wi\u0119c odtworzenie bazy konfiguracyjnej powoduje przywr\u00f3cenie wszystkich filtr\u00f3w, kt\u00f3re zosta\u0142y do niej dodane. Inn\u0105 mo\u017cliwo\u015bci\u0105 przeniesienia filtr\u00f3w do innej instalacji jest skopiowanie tre\u015bci filtra z zak\u0142adki <strong>[Zaawansowane]<\/strong> Konstruktora filtra i wklejenie jej w tym samym miejscu w innej instalacji Comarch ERP Optima. Istotne jest, aby Konstruktor filtra by\u0142 uruchomiony z poziomu tej samej listy.<\/p>\n<p><a name=\"pzit\"><\/a><\/p>\n<h3><strong>Przyk\u0142ady z instrukcj\u0105 tworzenia<\/strong><\/h3>\n<h3><strong>Modu\u0142y Handlowo-Magazynowe<\/strong><\/h3>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Og\u00f3lne]<\/strong><\/h4>\n<p>Na li\u015bcie Faktur Sprzeda\u017cy chcemy wy\u015bwietli\u0107 tylko te dokumenty, kt\u00f3rych warto\u015b\u0107 brutto jest pomi\u0119dzy 500 a 1000 PLN. W konstruktorze filtra, zak\u0142adka <strong>[Og\u00f3lne]<\/strong> w pole <strong>Nazwa<\/strong> wpisujemy wybran\u0105 nazw\u0119 filtra, nast\u0119pnie w celu dodania warunk\u00f3w klikamy ikon\u0119 plusa <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-14661\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/plus_filtry.png\" alt=\"\" width=\"16\" height=\"16\" \/> i wskazujemy pole <strong>TrN_RazemBrutto<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14667\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konstruktor-filtra-1.png\" alt=\"\" width=\"540\" height=\"404\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstruktor-filtra-1.png 540w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstruktor-filtra-1-300x224.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstruktor-filtra-1-50x37.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstruktor-filtra-1-320x239.png 320w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/p>\n<p>Okre\u015blamy dla niego warunek \u201eJest wi\u0119ksze ni\u017c\u201d oraz kwot\u0119 500<br \/>\nNast\u0119pnie analogicznie dodajemy kolejny warunek, w kt\u00f3rym okre\u015blamy TrN_RazemBrutto \u201eJest mniejsze ni\u017c\u201d 1000. Zapisujemy filtr ikon\u0105 <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12723\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/zatwierdz.png\" alt=\"\" width=\"36\" height=\"37\" \/> .<br \/>\nPo zapisie jest on widoczny na li\u015bcie filtr\u00f3w dost\u0119pnych z poziomu listy Faktur Sprzeda\u017cy.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14674\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/filtr1000.png\" alt=\"\" width=\"760\" height=\"80\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtr1000.png 760w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtr1000-300x32.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtr1000-50x5.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtr1000-600x63.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtr1000-320x34.png 320w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/p>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Zaawansowane]<\/strong><\/h4>\n<p>Z poziomu listy Faktur Sprzeda\u017cy do bazy danych wysy\u0142ane jest automatycznie zapytanie:<\/p>\n<p><code><strong>SELECT [lista kolumn] FROM A.TraNag WHERE \u2026<\/strong><\/code><\/p>\n<p>Alias \u201eA\u201d dla tabeli TraNag, kt\u00f3ry jest widoczny w powy\u017cszym przyk\u0142adzie pozwala na tworzenie bardziej skomplikowanych zapyta\u0144 przy u\u017cyciu wielu tabel. Dla r\u00f3\u017cnych list aliasy mog\u0105 by\u0107 r\u00f3\u017cne \u2013 mo\u017cna je podejrze\u0107 za pomoc\u0105 zaawansowanych narz\u0119dzi do obs\u0142ugi serwera SQL.<br \/>\nW tre\u015bci filtra zaawansowanego wpisujemy wyra\u017cenie SQL, kt\u00f3re nast\u0119puje po WHERE w zapytaniu.<\/p>\n<p><strong>Prosty filtr zaawansowany<\/strong><br \/>\nDla filtra przedstawionego we wcze\u015bniejszym przyk\u0142adzie dla zak\u0142adki [Og\u00f3lne] mo\u017cna zbudowa\u0107 bezpo\u015brednie zapytanie w zak\u0142adce [Zaawansowane], kt\u00f3re wygl\u0105da\u0142oby tak:<\/p>\n<p><code>(TrN_RazemBrutto &gt; '500.0000' AND TrN_RazemBrutto &lt; '1000.0000')<\/code><\/p>\n<p>Jest to filtr o analogicznym dzia\u0142aniu, pokazuj\u0105cy Faktury Sprzeda\u017cy, kt\u00f3rych warto\u015b\u0107 brutto zawiera si\u0119 mi\u0119dzy 500 a 1000 PLN.<\/p>\n<p><strong>Filtr zaawansowany z parametrem dynamicznym<\/strong><br \/>\nW przyk\u0142adzie poka\u017cemy jak wyfiltrowa\u0107 dokumenty handlowo-magazynowe, kt\u00f3re wystawi\u0142 okre\u015blony operator.<br \/>\nId operatora, kt\u00f3ry wystawi\u0142 dany dokument znajduje si\u0119 w bazie w tabeli TraNag w polu TrN_OpeZalID. W filtrze musimy por\u00f3wna\u0107 warto\u015b\u0107 tego pola z ID operatora wybranego. Potrzebny b\u0119dzie parametr dynamiczny. Stworzymy go klikaj\u0105c prawym przyciskiem myszy w polu<strong> Filtr SQL<\/strong> i wybieraj\u0105c opcj\u0119 <em>Wstaw\/edytuj deklaracj\u0119 parametru dynamicznego<\/em>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14676\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/filtrzaa.png\" alt=\"\" width=\"523\" height=\"346\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrzaa.png 523w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrzaa-300x198.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrzaa-50x33.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrzaa-320x212.png 320w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/p>\n<p>Pojawi si\u0119 kreator, kt\u00f3ry poprowadzi nas przez kolejne kroki, w kt\u00f3rych:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wskazujemy nazw\u0119 parametru, kt\u00f3rej u\u017cyjemy potem w zapytaniu (np. OpeID)<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wyb\u00f3r typ\u00f3w parametru:<\/li>\n<\/ul>\n<\/div>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14678\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/typyparam.png\" alt=\"\" width=\"666\" height=\"125\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyparam.png 666w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyparam-300x56.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyparam-50x9.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyparam-600x113.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyparam-320x60.png 320w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/p>\n<p><strong>Parametr typu lista wywo\u0142ywana<\/strong><br \/>\n&#8211; je\u015bli wybierzemy typ &#8211; <strong>lista wywo\u0142ywana<\/strong> \u2013 dla tego typu parametr\u00f3w pojawia si\u0119 pewien zakres gotowych procedur, z kt\u00f3rych mo\u017cemy wybra\u0107 np. opcje: lista kontrahent\u00f3w, lista kategorii, lista grup, lista towar\u00f3w itp. Wybieramy z tej listy procedur\u0119 lista operator\u00f3w, kt\u00f3ra wy\u015bwietli list\u0119 akronim\u00f3w operator\u00f3w, a po wyborze konkretnego operatora zwr\u00f3ci jego ID i przeka\u017ce w parametrze OpeID.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14679\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/paramdyn.png\" alt=\"\" width=\"694\" height=\"578\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/paramdyn.png 694w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/paramdyn-300x250.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/paramdyn-50x42.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/paramdyn-600x500.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/paramdyn-320x267.png 320w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/p>\n<p>Po zatwierdzeniu kolejnych okien deklaracja parametru wygl\u0105da w ten spos\u00f3b:<\/p>\n<p><code>@PAR ?@LS20(OP_PROC.DLL|CALLLOOKUPOPELISTA())|OpeID|&amp;OpeID:{}@? PAR@<\/code><\/p>\n<p>Wywo\u0142anie parametru w zapytaniu wstawiamy jak pokazano poni\u017cej:<\/p>\n<p><code>TrN_OpeZalID = ??OpeID<\/code><\/p>\n<p>Umo\u017cliwi to wyb\u00f3r z listy operator\u00f3w wybranego operatora i przefiltrowanie dokument\u00f3w po okre\u015blonym operatorze. Filtr pokazuje dokumenty WYSTAWIONE przez danego operatora. Aby filtr reagowa\u0142 na dokumenty ZMODYFIKOWANE przez operatora nale\u017cy zmieni\u0107 TrN_OpeZalID na TrN_OpeModID<\/p>\n<p><strong>Parametr typu lista rozwijana<\/strong><br \/>\nJe\u015bli chcieliby\u015bmy w parametrze zastosowa\u0107 <strong>list\u0119 rozwijan\u0105<\/strong>, w\u00f3wczas w kolejnym kroku kreatora pojawi si\u0119 szablon zapytania, kt\u00f3re nale\u017cy uzupe\u0142ni\u0107:<\/p>\n<p><code>SELECT ID = 1, Kod = ''<\/code><\/p>\n<p>W tym miejscu powinno znale\u017a\u0107 si\u0119 zapytanie, kt\u00f3re zwr\u00f3ci nam ID oraz KOD. KOD b\u0119dzie wy\u015bwietlany na li\u015bcie rozwijanej, natomiast po dokonaniu wyboru z tej listy \u2013 do parametru b\u0119dzie przekazywane ID wyboru.<\/p>\n<p><code>SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod<\/code><\/p>\n<p>Lista operator\u00f3w znajduje si\u0119 w tabeli CDN.Operatorzy w bazie konfiguracyjnej, dlatego konieczne jest odwo\u0142anie w podany spos\u00f3b:<\/p>\n<p><code>{OPBK()}.CDN.Operatorzy<\/code><\/p>\n<p>Ostatecznie filtr z parametrem z list\u0105 rozwijan\u0105 b\u0119dzie wygl\u0105da\u0142 w ten spos\u00f3b:<\/p>\n<p><code>@PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|OpeID|&amp;OpeID:{}@? PAR@<br \/>\nTrN_OpeZalID = ??OpeID<\/code><\/p>\n<p>Nale\u017cy pami\u0119ta\u0107 o tym, aby w definicji parametru dynamicznego u\u017cy\u0107 kolumny liczbowej (w tym przypadku TrN_OpeZalID).<\/p>\n<p><strong>Funkcje systemowe<\/strong><br \/>\nModyfikacj\u0105 zaprezentowanego filtra mo\u017ce by\u0107 taki filtr, kt\u00f3ry poka\u017ce dokumenty aktualnie zalogowanego operatora. W tym celu mo\u017cna wykorzysta\u0107 funkcje systemowe. Opcja dost\u0119pna pod prawym przyciskiem myszy:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14680\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konstoper.png\" alt=\"\" width=\"507\" height=\"356\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstoper.png 507w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstoper-300x211.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstoper-50x35.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstoper-320x225.png 320w\" sizes=\"auto, (max-width: 507px) 100vw, 507px\" \/><\/p>\n<p>Spo\u015br\u00f3d listy dost\u0119pnych funkcji mo\u017cemy wybra\u0107 funkcj\u0119 OperatorID, kt\u00f3ra zwr\u00f3ci ID zalogowanego operatora:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14682\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/dododwolania.png\" alt=\"\" width=\"396\" height=\"389\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dododwolania.png 396w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dododwolania-300x295.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dododwolania-50x50.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dododwolania-60x60.png 60w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dododwolania-320x314.png 320w\" sizes=\"auto, (max-width: 396px) 100vw, 396px\" \/><\/p>\n<p>Ostatecznie filtr z u\u017cyciem funkcji systemowej b\u0119dzie wygl\u0105da\u0142 tak:<\/p>\n<p><code>TrN_OpeZalID = {OperatorID}<\/code><\/p>\n<h3><strong>Modu\u0142y Ksi\u0119gowe<\/strong><\/h3>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Og\u00f3lne]<\/strong><\/h4>\n<p>Na li\u015bcie zapis\u00f3w kasowych\/bankowych chcemy wy\u015bwietli\u0107 zapisy, na kt\u00f3rych nie zosta\u0142o uzupe\u0142nione konto przeciwstawne.<br \/>\nW konstruktorze filtra, zak\u0142adka <strong>[Og\u00f3lne]<\/strong> w pole <strong>Nazwa<\/strong> wpisujemy wybran\u0105 nazw\u0119 filtra, nast\u0119pnie w celu dodania warunk\u00f3w klikamy ikon\u0119 plusa <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14661\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/plus_filtry.png\" alt=\"\" width=\"16\" height=\"16\" \/> i wskazujemy pole <strong>Bzp_KontoPrzeciwstawne<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14686\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konsprzeciw.png\" alt=\"\" width=\"540\" height=\"404\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konsprzeciw.png 540w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konsprzeciw-300x224.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konsprzeciw-50x37.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konsprzeciw-320x239.png 320w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/p>\n<p>Okre\u015blamy dla niego warunek \u201eJest puste\u201d.<br \/>\nNast\u0119pnie zapisujemy filtr ikon\u0105 <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12723\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/zatwierdz.png\" alt=\"\" width=\"36\" height=\"37\" \/> .<br \/>\nPo zapisie jest on widoczny na li\u015bcie filtr\u00f3w dost\u0119pnych z poziomu listy zapis\u00f3w kasowych\/bankowych.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14687\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/przeciw.png\" alt=\"\" width=\"719\" height=\"50\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/przeciw.png 719w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/przeciw-300x21.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/przeciw-50x3.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/przeciw-600x42.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/przeciw-320x22.png 320w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/p>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Zaawansowane]<\/strong><\/h4>\n<p><strong>Filtr zaawansowany z parametrem dynamicznym<\/strong><br \/>\nW przyk\u0142adzie poka\u017cemy jak wyfiltrowa\u0107 dokumenty w rejestrze VAT, kt\u00f3re posiadaj\u0105 okre\u015blon\u0105 kategori\u0119 w nag\u0142\u00f3wku dokumentu.<br \/>\nId kategorii, kt\u00f3ra zosta\u0142a wybrana na dokumencie w rejestrze VAT znajduje si\u0119 w bazie w tabeli VatNag w polu VaN_KatID.<br \/>\nW filtrze musimy por\u00f3wna\u0107 warto\u015b\u0107 tego pola z ID operatora wybranego. Potrzebny b\u0119dzie parametr dynamiczny. Stworzymy go klikaj\u0105c prawym przyciskiem myszy w polu <strong>Filtr SQL<\/strong> i wybieraj\u0105c opcj\u0119 <strong>Wstaw\/edytuj deklaracj\u0119 parametru dynamicznego<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14688\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/dynkonstksie.png\" alt=\"\" width=\"523\" height=\"346\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie.png 523w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-300x198.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-50x33.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-320x212.png 320w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/p>\n<p>Pojawi si\u0119 kreator, kt\u00f3ry poprowadzi nas przez kolejne kroki, w kt\u00f3rych:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wskazujemy nazw\u0119 parametru, kt\u00f3rej u\u017cyjemy potem w zapytaniu (np. Kategoria)<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wyb\u00f3r typ\u00f3w parametru:<\/li>\n<\/ul>\n<\/div>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14690\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/typyksie.png\" alt=\"\" width=\"670\" height=\"133\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyksie.png 670w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyksie-300x60.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyksie-50x10.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyksie-600x119.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/typyksie-320x64.png 320w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/p>\n<p><strong>Parametr typu lista wywo\u0142ywana<\/strong><br \/>\n&#8211; je\u015bli wybierzemy typ &#8211; <strong>lista wywo\u0142ywana<\/strong> \u2013 dla tego typu parametr\u00f3w pojawia si\u0119 pewien zakres gotowych procedur, z kt\u00f3rych mo\u017cemy wybra\u0107 np. opcje: lista kontrahent\u00f3w, lista kategorii, lista grup, lista towar\u00f3w itp.<br \/>\nWybieramy z tej listy procedur\u0119 lista kategorii, kt\u00f3ra wy\u015bwietli list\u0119 kategorii, a po wyborze konkretnej kategorii zwr\u00f3ci jego ID i przeka\u017ce w parametrze kategoria.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14691\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/krealistakategor.png\" alt=\"\" width=\"694\" height=\"578\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/krealistakategor.png 694w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/krealistakategor-300x250.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/krealistakategor-50x42.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/krealistakategor-600x500.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/krealistakategor-320x267.png 320w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/p>\n<p>Po zatwierdzeniu kolejnych okien deklaracja parametru wygl\u0105da w ten spos\u00f3b:<\/p>\n<p><code>@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:0|@? PAR@<\/code><\/p>\n<p>Wywo\u0142anie parametru w zapytaniu wstawiamy jak poni\u017cej:<\/p>\n<p><code>VaN_KatId = ??Kategoria<\/code><\/p>\n<p>Umo\u017cliwi to wyb\u00f3r z listy kategorii wybranej kategorii i przefiltrowanie dokument\u00f3w po okre\u015blonej kategorii wybranej w nag\u0142\u00f3wku dokumentu w rejestrze VAT. Nale\u017cy pami\u0119ta\u0107 o tym, aby w definicji parametru dynamicznego u\u017cy\u0107 kolumny liczbowej (w tym przypadku VaN_KatId).<\/p>\n<h3><strong>Modu\u0142y P\u0142ace i Kadry<\/strong><\/h3>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Og\u00f3lne]<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w kadrach chcemy wy\u015bwietli\u0107 osoby, dla kt\u00f3rych zosta\u0142a odnotowana informacja na temat wieloetatowo\u015bci, a konkretnie posiadaj\u0105 ustawiony etat podstawowy.<br \/>\nW konstruktorze filtra, zak\u0142adka <strong>[Og\u00f3lne]<\/strong> w pole <strong>Nazwa<\/strong> wpisujemy wybran\u0105 nazw\u0119 filtra, nast\u0119pnie w celu dodania warunk\u00f3w klikamy ikon\u0119 plusa i wskazujemy pole <strong>PRI_Nadrzedny<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14693\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/konstplac.png\" alt=\"\" width=\"540\" height=\"404\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstplac.png 540w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstplac-300x224.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstplac-50x37.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/konstplac-320x239.png 320w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/p>\n<p>Okre\u015blamy dla niego warunek \u201eJest r\u00f3wne\u201d oraz podajemy warto\u015b\u0107 1.<br \/>\nNast\u0119pnie zapisujemy filtr ikon\u0105 <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12723\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/06\/zatwierdz.png\" alt=\"\" width=\"36\" height=\"37\" \/> .<br \/>\nPo zapisie jest on widoczny na li\u015bcie filtr\u00f3w dost\u0119pnych z poziomu listy pracownik\u00f3w.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14694\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/filtrplac.png\" alt=\"\" width=\"721\" height=\"37\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrplac.png 721w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrplac-300x15.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrplac-50x3.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrplac-600x31.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/filtrplac-320x16.png 320w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/p>\n<h4><strong>Filtry tworzone z poziomu zak\u0142adki [Zaawansowane]<\/strong><\/h4>\n<p><strong><br \/>\nFiltr zaawansowany z parametrem dynamicznym<\/strong><br \/>\nW przyk\u0142adzie poka\u017cemy jak odfiltrowa\u0107 pracownik\u00f3w, kt\u00f3rzy posiadaj\u0105 przypisan\u0105 okre\u015blon\u0105 kategori\u0119.<br \/>\nId kategorii, kt\u00f3ra zosta\u0142a przypisana pracownikowi na jego formularzu kadrowym (zak\u0142adka 7 [Dodatkowe]) znajduje si\u0119 w bazie w tabeli PracEtaty w polu PRE_KatId.<br \/>\nW filtrze musimy por\u00f3wna\u0107 warto\u015b\u0107 tego pola z warto\u015bci\u0105 wybran\u0105 z listy s\u0142ownikowej wszystkich kategorii. Potrzebny b\u0119dzie parametr dynamiczny. Stworzymy go klikaj\u0105c prawym przyciskiem myszy w polu <strong>Filtr SQL<\/strong> i wybieraj\u0105c opcj\u0119 <strong>Wstaw\/edytuj deklaracj\u0119 parametru dynamicznego.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14695\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/dynkonstksie-2.png\" alt=\"\" width=\"523\" height=\"346\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-2.png 523w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-2-300x198.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-2-50x33.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/dynkonstksie-2-320x212.png 320w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wskazujemy nazw\u0119 parametru, kt\u00f3rej u\u017cyjemy potem w zapytaniu (np. Kategoria)<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#009de0\"><\/i> wyb\u00f3r typ\u00f3w parametru:<\/li>\n<\/ul>\n<\/div>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14696\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/listarozwij.png\" alt=\"\" width=\"669\" height=\"125\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/listarozwij.png 669w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/listarozwij-300x56.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/listarozwij-50x9.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/listarozwij-600x112.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/listarozwij-320x60.png 320w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/p>\n<p><strong>Parametr typu lista rozwijana<\/strong><br \/>\n&#8211; je\u015bli wybierzemy typ &#8211; lista rozwijana \u2013 dla tego typu parametr\u00f3w nale\u017cy zdefiniowa\u0107 odpowiednie zapytanie SQL podaj\u0105c w zapytaniu dwa pobierane pola z czego pierwsze musi by\u0107 numeryczne (identyfikator) a drugie tekstowe (opis).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14698\" src=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/wp-content\/uploads\/2018\/08\/kreatoplac.png\" alt=\"\" width=\"694\" height=\"578\" srcset=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/kreatoplac.png 694w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/kreatoplac-300x250.png 300w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/kreatoplac-50x42.png 50w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/kreatoplac-600x500.png 600w, https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-content\/uploads\/2018\/08\/kreatoplac-320x267.png 320w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/p>\n<p>Nale\u017cy pami\u0119ta\u0107 o tym, aby w definicji parametru dynamicznego u\u017cy\u0107 kolumny liczbowej (w tym przypadku PRE_KatId).<\/p>\n<p><a name=\"pz\"><\/a><\/p>\n<h2><strong>Pozosta\u0142e przyk\u0142ady<\/strong><\/h2>\n<section class=\"msp-alert-box msp-alert-warning\"><div class=\"msp-alert-icon\"><svg width=\"16\" height=\"16\" class=\"kb-icon kb-icon--warn\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\">\r\n    <g id=\"[AP]-Iconography\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <g id=\"Iconography_sortowanie-po-kategorii\" transform=\"translate(-552.000000, -10695.000000)\" fill=\"currentColor\">\r\n            <g id=\"Group-8\" transform=\"translate(286.000000, 548.000000)\">\r\n                <g id=\"Iconography-Card-\" transform=\"translate(218.000000, 10107.000000)\">\r\n                    <g id=\"0-Icons\/-24-\/-Status-\/-Alert-\/-Outline\" transform=\"translate(48.000000, 40.000000)\">\r\n                        <path d=\"M16.0008333,3.91866667 C16.3568333,3.91866667 16.6875,4.10933333 16.8661667,4.41866667 L29.6608333,26.5813333 C29.8408333,26.8906667 29.8408333,27.272 29.6608333,27.5813333 C29.4821667,27.8906667 29.1528333,28.0813333 28.7955,28.0813333 L3.2035,28.0813333 C2.8475,28.0813333 2.51683333,27.8906667 2.33816667,27.5813333 C2.1595,27.272 2.1595,26.8906667 2.33816667,26.5813333 L15.1328333,4.41866667 C15.3128333,4.10933333 15.6421667,3.91866667 16.0008333,3.91866667 Z M16.0008333,6.91866667 L4.93683333,26.0813333 L27.0635,26.0813333 L16.0008333,6.91866667 Z M15.9993667,21.9445333 C16.7353667,21.9445333 17.3327,22.5418667 17.3327,23.2778667 C17.3327,24.0138667 16.7353667,24.6112 15.9993667,24.6112 C15.2647,24.6112 14.6660333,24.0138667 14.6660333,23.2778667 C14.6660333,22.5418667 15.2647,21.9445333 15.9993667,21.9445333 Z M15.9997667,11.762 C16.7344333,11.762 17.3171,12.3833333 17.2704333,13.118 L16.9464333,19.0366667 C16.9161303,19.4984848 16.566268,19.8666391 16.1212392,19.9297596 L15.9851,19.9393333 C15.4744333,19.9393333 15.0544333,19.542 15.0224333,19.0326667 L14.7291,13.1113333 C14.6851,12.3793333 15.2664333,11.762 15.9997667,11.762 Z\" id=\"Color\"><\/path>\r\n                    <\/g>\r\n                <\/g>\r\n            <\/g>\r\n        <\/g>\r\n    <\/g>\r\n<\/svg><\/div><div class=\"msp-alert-body\"><div class=\"msp-alert-title\">Uwaga<\/div><div class=\"msp-alert-content\">Nowo dodane przyk\u0142ady filtr\u00f3w oznaczone s\u0105 kolorem zielonym na li\u015bcie.<\/div><\/div><\/section>\n<p><a name=\"og\"><\/a><\/p>\n<h3><strong>Og\u00f3lne<\/strong><\/h3>\n<h4><strong>Jak ustawi\u0107 w filtrze dat\u0119 bie\u017c\u0105c\u0105 lub zakres dat, np. od pierwszego do ostatniego dnia miesi\u0105ca?<\/strong><\/h4>\n<p>Aby po zdefiniowaniu filtr\u00f3w, w kt\u00f3rych pada pytanie o dat\u0119 lub zakres dat podpowiada\u0142a si\u0119 data bie\u017c\u0105ca, a nie data z dnia definiowania filtra, nale\u017cy skorzysta\u0107 z parametru dynamicznego. Na zak\u0142adce <strong>[Zaawansowane]<\/strong> w Konstruktorze filtra nale\u017cy zdefiniowa\u0107 odpowiednie parametry dynamiczne (prawy klawisz myszy na polu z filtrem, <strong>Wstaw\/edytuj deklaracj\u0119 parametru dynamicznego<\/strong>, potem, \u017ceby go wykorzysta\u0107: <strong>Wstaw\/edytuj odwo\u0142anie do parametru dynamicznego<\/strong>).<br \/>\nPrzyk\u0142adowy filtr (zakres dat na bie\u017c\u0105cy miesi\u0105c) w polu Filtr SQL powinien mie\u0107 wpisane:<\/p>\n<p><code>@PAR ?@D17|data1|&amp;Data od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data2|&amp;Data do:{DateClwLastDay('m')} @? PAR@ TrN_DataDok &gt;= ??data1 AND TrN_DataDok &lt;= ??data2<\/code><\/p>\n<h4><strong>Jak zaw\u0119zi\u0107 list\u0119 kontrahent\u00f3w do tych, kt\u00f3rych kod rozpoczyna si\u0119 na zadan\u0105 liter\u0119?<\/strong><\/h4>\n<p>Taki filtr mo\u017ce by\u0107 przydatny przy seryjnym generowaniu Not odsetkowych, Ponagle\u0144 Zap\u0142aty czy Potwierdze\u0144 Salda, kt\u00f3re jest dost\u0119pne z menu Og\u00f3lne\/ Kontrahenci, pod ikon\u0105 Generacja na pasku zada\u0144.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>Knt_Kod LIKE ?@S100|Kod zaczyna si\u0119 od:'' + '%'<\/code><\/p>\n<p>Aby odfiltrowa\u0107 dokumenty Ponagle\u0144 zap\u0142aty lub Potwierdze\u0144 salda dla kontrahent\u00f3w, kt\u00f3rych kod rozpoczyna si\u0119 od zadanej litery, nale\u017cy:<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>exists (select * from CDN.Kontrahenci where BDN_PodmiotID=Knt_KntId AND Knt_Kod LIKE ?@S100|Kod zaczyna si\u0119 od:'' + '%')<\/code><\/p>\n<p>Dla listy Not odsetkowych w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>exists (select * from CDN.Kontrahenci where NON_PodmiotID=Knt_KntId AND Knt_Kod LIKE ?@S100|Kod zaczyna si\u0119 od:'' + '%')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 kontrahent\u00f3w, kt\u00f3rzy maj\u0105 wybran\u0105 na karcie konkretn\u0105 kategori\u0119 szczeg\u00f3\u0142ow\u0105 (sprzeda\u017cy b\u0105d\u017a zakupu)?<\/strong><\/h4>\n<p>Aby odnale\u017a\u0107 kontrahent\u00f3w z okre\u015blon\u0105 kategori\u0105 sprzeda\u017cy, na li\u015bcie kontrahent\u00f3w nale\u017cy uruchomi\u0107 konstruktor filtra, a nast\u0119pnie na zak\u0142adce <strong>[Zaawansowane]<\/strong> w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:0|@? PAR@<br \/>\nKnt_KatID= ??Kategoria<\/code><\/p>\n<p>Z kolei, aby odnale\u017a\u0107 kontrahent\u00f3w z okre\u015blon\u0105 kategori\u0105 zakupu nale\u017cy zastosowa\u0107 filtr:<\/p>\n<p><code>@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:0|@? PAR@<br \/>\nKnt_KatZakID= ??Kategoria<\/code><\/p>\n<p>Przed odfiltrowaniem listy program b\u0119dzie pyta\u0142 o kategori\u0119 szczeg\u00f3\u0142ow\u0105.<br \/>\nAby odnale\u017a\u0107 kontrahent\u00f3w z kategori\u0105 zawieraj\u0105c\u0105 okre\u015blon\u0105 fraz\u0119, to stosuj\u0105c poni\u017cszy filtr:<\/p>\n<p><code>Knt_KatID=(select Kat_KatID from cdn.kategorie where Kat_KatID=Knt_KatID and kat_KodSzczegol like ?@S100|Kat szczeg:'')<\/code><\/p>\n<p>podczas wpisywania kategorii, przed b\u0105d\u017a za wpisywan\u0105 fraz\u0105 nale\u017cy wstawi\u0107 znak \u201e%\u201d zast\u0119puj\u0105cy dowolny ci\u0105g znak\u00f3w.<\/p>\n<h4><strong>Jak zbudowa\u0107 filtr, kt\u00f3ry przed odfiltrowaniem listy kontrahent\u00f3w z danego wojew\u00f3dztwa b\u0119dzie wy\u015bwietla\u0142 list\u0119 wojew\u00f3dztw do wyboru?<\/strong><\/h4>\n<p>Na li\u015bcie kontrahent\u00f3w, w Konstruktorze filtra na zak\u0142adce [Zaawansowane] nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT Id = 0, Kod = '' UNION<br \/>\nSELECT Id = 1, Kod = 'dolno\u015bl\u0105skie' UNION<br \/>\nSELECT Id = 2, Kod = 'kujawsko-pomorskie' UNION<br \/>\nSELECT Id = 3, Kod = 'lubelskie' UNION<br \/>\nSELECT Id = 4, Kod = 'lubuskie' UNION<br \/>\nSELECT Id = 5, Kod = '\u0142\u00f3dzkie' UNION<br \/>\nSELECT Id = 6, Kod = 'ma\u0142opolskie' UNION<br \/>\nSELECT Id = 7, Kod = 'mazowieckie' UNION<br \/>\nSELECT Id = 8, Kod = 'opolskie' UNION<br \/>\nSELECT Id = 9, Kod = 'podkarpackie' UNION<br \/>\nSELECT Id = 10, Kod = 'podlaskie' UNION<br \/>\nSELECT Id = 11, Kod = 'pomorskie' UNION<br \/>\nSELECT Id = 12, Kod = '\u015bl\u0105skie' UNION<br \/>\nSELECT Id = 13, Kod = '\u015bwi\u0119tokrzyskie' UNION<br \/>\nSELECT Id = 14, Kod = 'warmi\u0144sko-mazurskie' UNION<br \/>\nSELECT Id = 15, Kod = 'wielkopolskie' UNION<br \/>\nSELECT Id = 16, Kod = 'zachodniopomorskie')|Woj|&amp;Wojew\u00f3dztwo: @? PAR@<br \/>\nKnt_Wojewodztwo = Case ??Woj<br \/>\nWhen 1 Then 'dolno\u015bl\u0105skie'<br \/>\nWhen 2 Then 'kujawsko-pomorskie'<br \/>\nWhen 3 Then 'lubelskie'<br \/>\nWhen 4 Then 'lubuskie'<br \/>\nWhen 5 Then '\u0142\u00f3dzkie'<br \/>\nWhen 6 Then 'ma\u0142opolskie'<br \/>\nWhen 7 Then 'mazowieckie'<br \/>\nWhen 8 Then 'opolskie'<br \/>\nWhen 9 Then 'podkarpackie'<br \/>\nWhen 10 Then 'podlaskie'<br \/>\nWhen 11 Then 'pomorskie'<br \/>\nWhen 12 Then '\u015bl\u0105skie'<br \/>\nWhen 13 Then '\u015bwi\u0119tokrzyskie'<br \/>\nWhen 14 Then 'warmi\u0144sko-mazurskie'<br \/>\nWhen 15 Then 'wielkopolskie'<br \/>\nWhen 16 Then 'zachodniopomorskie'<br \/>\nElse ''<br \/>\nEnd<\/code><\/p>\n<p>Pierwsza cz\u0119\u015b\u0107 (od @PAR do PAR@) jest to deklaracja parametru dynamicznego. Je\u017celi zostanie wybrany parametr dynamiczny typu &#8222;Lista rozwijana&#8221; to zapytanie SQL musi zwr\u00f3ci\u0107 wynik dwukolumnowy &#8211; w pierwszym ma by\u0107 warto\u015b\u0107 numeryczna (kt\u00f3ra zostanie podstawiona do zmiennej), a w drugim tekst (kt\u00f3ry zostanie wy\u015bwietlony na li\u015bcie). Najwygodniej jest najpierw napisa\u0107 sobie takie zapytanie np. w WinSQL-u (\u0142atwo wtedy sprawdzi\u0107, czy nie ma w nim b\u0142\u0119d\u00f3w), a potem przeklei\u0107 do &#8222;wizarda parametru dynamicznego&#8221; w kroku 4 (wizard jest dost\u0119pny na zak\u0142adce [Zaawansowane] w Konstruktorze filtra w menu kontekstowym).<br \/>\nDruga cz\u0119\u015b\u0107, to wykorzystanie tego parametru w zapytaniu SQL, kt\u00f3re zostanie podstawione do filtra. Pod ??Woj program podstawi liczb\u0119 odpowiadaj\u0105c\u0105 wybranemu wojew\u00f3dztwu, a konstrukcja <strong>Case<\/strong> &#8230; <strong>When<\/strong> &#8230; <strong>Then<\/strong> &#8230; pozwoli na &#8222;przet\u0142umaczenie&#8221; z powrotem liczby na tekst.<\/p>\n<h3>Jak wyszuka\u0107 kontrahenta na podstawie numeru rachunku bankowego?<\/h3>\n<p>Na li\u015bcie kontrahent\u00f3w w Konstruktorze filtra, na zak\u0142adce: <strong>[Zaawansowane]<\/strong> w polu <strong>Filtr SQL <\/strong>nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Numer|&amp;Numer rachunku:''@? PAR@<br \/>\nexists (select * from CDN.SchematPlatnosci where SPL_PodmiotTyp=1 and SPL_PodmiotID=Knt_KntID and SPL_RachunekNr0=replace(replace(??Numer,' ',''),'-',''))<\/code><\/p>\n<p><a name=\"kb\"><\/a><\/p>\n<h3><strong>Kasa\/Bank<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty, kt\u00f3re zosta\u0142y rozliczone w styczniu 14 dni po terminie p\u0142atno\u015bci?<\/strong><\/h4>\n<p>Klient wystawia\u0142 noty odsetkowe tylko klientom, kt\u00f3rzy zap\u0142acili 14 dni po up\u0142ywie terminu p\u0142atno\u015bci. Zastosowanie filtra w Preliminarzu pozwoli\u0142o na wyodr\u0119bnienie dokument\u00f3w, kt\u00f3re odpowiada\u0142y ww. zapytaniu. Wynik mo\u017cna wys\u0142a\u0107 do Excela i posortowa\u0107 wg nazwy kontrahenta.<br \/>\nFiltr nale\u017cy zbudowa\u0107 z poziomu Preliminarza P\u0142atno\u015bci. W Konstruktorze filtra, na zak\u0142adce: <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>BZd_DataRoz BETWEEN CONVERT(DATETIME,'2018-01-01',120) AND CONVERT(DATETIME,'2018-01-31',120) And BZd_DataRoz &gt; DateAdd(day, 14, BZd_Termin)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 zdarzenia w Preliminarzu, kt\u00f3re maj\u0105 wybran\u0105 przez operatora form\u0119 p\u0142atno\u015bci?<\/strong><\/h4>\n<p>Na li\u015bcie zdarze\u0144 w Preliminarzu, pod ikonk\u0105 Konstruktor filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> wpisujemy:<\/p>\n<p><code>@PAR ?@R(SELECT FPl_FPlId, FPl_Nazwa FROM CDN.FormyPlatnosci)|fp|&amp;fp: @? PAR@<br \/>\nBZd_FPlId=??fp<\/code><\/p>\n<p>Przed odfiltrowaniem pojawi si\u0119 rozwijana lista z dost\u0119pnymi formami p\u0142atno\u015bci.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 z poziomu listy kontrahent\u00f3w nierozliczone zdarzenia z preliminarza wystawione w zadanym okresie?<\/strong><\/h4>\n<p>Filtr ten sprawdza, czy w Preliminarzu P\u0142atno\u015bci dla danego kontrahenta s\u0105 zapisy przychodowe, zatwierdzone, nierozliczone i wystawione w zadanym okresie czasu.<br \/>\nZ poziomu listy kontrahent\u00f3w w Konstruktorze filtra, na zak\u0142adce: <strong>[Zaawansowane]<\/strong> w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists ( select * From CDN.BnkZdarzenia<br \/>\nwhere BZd_DataDok&gt;= ?@D10-|Data od:<br \/>\nand BZd_DataDok&lt;= ?@D10-|Data do: and Bzd_PodmiotTyp = 1 and Bzd_PodmiotID=Knt_KntID and BZd_Kierunek =1 and BZd_Stan&gt;0<br \/>\nand BZd_KwotaSys&lt;&gt;BZd_KwotaRozSys)<\/code><\/p>\n<h4><strong>Jak przefiltrowa\u0107 na preliminarzu p\u0142atno\u015bci tylko te FA i FKOR, kt\u00f3re nie maj\u0105 powi\u0105zania z dokumentami magazynowymi?<\/strong><\/h4>\n<p>Trzeba wykona\u0107 filtr w Preliminarzu p\u0142atno\u015bci, kt\u00f3ry uwzgl\u0119dni tabel\u0119 TraNag, w kt\u00f3rej jest przechowywana taka informacja. Przyk\u0142adowy filtr SQL b\u0119dzie wygl\u0105da\u0142 tak:<\/p>\n<p><code>exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_Rodzaj=302000 or Trn_Rodzaj=302001 or Trn_Rodzaj=302002 or Trn_Rodzaj=302002)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 zapisy kasowo\/bankowe zawieraj\u0105ce kategori\u0119 szczeg\u00f3\u0142owe nale\u017c\u0105ce do zadanej kategorii og\u00f3lnej?<\/strong><\/h4>\n<p>Na li\u015bcie zapis\u00f3w kasowo\/bankowych, w Konstruktorze filtra, na zak\u0142adce [Zaawansowane] w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select Kat_KodOgolny, Kat_KodSzczegol from cdn.kategorie where BZp_KatID=Kat_KatID AND Kat_KodOgolny=?@S100|Kategoria og\u00f3lna:'')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 kontrahent\u00f3w, dla kt\u00f3rych s\u0105 pary dokument\u00f3w do rozliczenia?<\/strong><\/h4>\n<p>Chodzi o to aby u\u017cytkownik w menu Kasa\/Bank\/Rozliczenia, po wywo\u0142aniu listy kontrahent\u00f3w, m\u00f3g\u0142 j\u0105 zaw\u0119zi\u0107 do tych, kt\u00f3rzy maj\u0105 nierozliczone dokumenty, kt\u00f3re mo\u017cna ze sob\u0105 rozliczy\u0107 czyli np. Faktur\u0119 Sprzeda\u017cy i dokument KP lub Faktur\u0119 zakupu i dokument KW lub Faktur\u0119 Sprzeda\u017cy i Faktur\u0119 Zakupu lub Dokumenty KP i KW.<br \/>\nMo\u017cna za\u0142o\u017cy\u0107 filtr zaawansowany na li\u015bcie kontrahent\u00f3w w menu Og\u00f3lne\/ Kontrahenci, kt\u00f3ry b\u0119dzie korzysta\u0142 z tabeli CDN.DokumentyKBView.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> mo\u017cna wpisa\u0107:<\/p>\n<p><code>Exists (Select * From CDN.DokumentyKBView Where DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId And DKB_Rozliczono = 1 And DKB_Kierunek = Case DKB_TypDokumentuKB When 1 Then 1 Else -1 End)<br \/>\nAnd Exists (Select * From CDN.DokumentyKBView Where DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId And DKB_Rozliczono = 1 And DKB_Kierunek = Case DKB_TypDokumentuKB When 1 Then -1 Else 1 End)<\/code><\/p>\n<p>Podobny filtr mo\u017cna stworzy\u0107 na li\u015bcie pracownik\u00f3w podmieniaj\u0105c:<\/p>\n<p><code>DKB_PodmiotTyp = 1 And DKB_PodmiotId = Knt_KntId<\/code><\/p>\n<p>na<\/p>\n<p><code>DKB_PodmiotTyp = 3 And DKB_PodmiotId = Pra_PraId<\/code><\/p>\n<p>Filtr nie sprawdza waluty dokument\u00f3w.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 w Preliminarzu p\u0142atno\u015bci dokumenty, kt\u00f3rych termin p\u0142atno\u015bci up\u0142yn\u0105\u0142 wi\u0119cej ni\u017c 30 dni temu?<\/strong><\/h4>\n<p>W Preliminarzu p\u0142atno\u015bci, w Konstruktorze filtra, w polu <strong>Filtr SQL<\/strong> nale\u017cy wstawi\u0107:<\/p>\n<p><code>datediff ( d , BZd_Termin , {DateSQL(Today())} ) &gt; 30<\/code><\/p>\n<p>Filtr policzy r\u00f3\u017cnic\u0119 pomi\u0119dzy dat\u0105 bie\u017c\u0105c\u0105 i terminem p\u0142atno\u015bci i wy\u015bwietli te dokumenty, dla kt\u00f3rych r\u00f3\u017cnica jest wi\u0119ksza ni\u017c 30 dni.<\/p>\n<h4><strong>Jak wyszuka\u0107 zduplikowanych kontrahent\u00f3w i zduplikowane zdarzenia w Preliminarzu?<\/strong><\/h4>\n<p>W s\u0142ownikach na li\u015bcie kontrahent\u00f3w mo\u017cna zastosowa\u0107 filtr, kt\u00f3ry sprawdzi czy s\u0105 kontrahenci kt\u00f3rym powtarza si\u0119 numer NIP i dodatkowo pole NIP nie jest puste:<\/p>\n<p><code>Knt_Nip IN<br \/>\n(SELECT Knt_Nip<br \/>\nFROM CDN.Kontrahenci WHERE Knt_Nip &lt;&gt; ''<br \/>\nGROUP BY Knt_Nip<br \/>\nHAVING COUNT ( Knt_Nip ) &gt; 1 )<\/code><\/p>\n<p>W Preliminarzu p\u0142atno\u015bci filtr wy\u015bwietli zdarzenia o takim samym numerze obcym. To pozwoli sprawdzi\u0107 czy w systemie nie wprowadzono dwa razy tego samego dokumentu:<\/p>\n<p><code>BZd_NumerObcy IN<br \/>\n(SELECT BZd_NumerObcy<br \/>\nFROM cdn.bnkzdarzenia<br \/>\nGROUP BY BZd_NumerObcy<br \/>\nHAVING COUNT ( BZd_NumerObcy ) &gt; 1 )<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 w Preliminarzu faktury, kt\u00f3re w rejestrze VAT znajduj\u0105 si\u0119 w konkretnym podrejestrze?<\/strong><\/h4>\n<p>W Preliminarzu nale\u017cy uruchomi\u0107 Konstruktor filtra, a nast\u0119pnie na zak\u0142adce [Zaawansowane] w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>(Bzd_DokumentTyp='2' AND Bzd_DokumentID in (select Van_VanID from CDN.VatNag where Bzd_DokumentID=Van_VanID AND VaN_Rejestr=?@S100|Nazwa rejestru:'')) OR (Bzd_DokumentTyp='1' AND Bzd_DokumentID in (select Van_TrnID from CDN.VatNag where Bzd_DokumentID=Van_TrnID AND VaN_Rejestr=?@S100|Nazwa rejestru:''))<\/code><\/p>\n<p>Przed odfiltrowaniem listy program b\u0119dzie pyta\u0142 o nazw\u0119 rejestru dla kt\u00f3rego ma wy\u015bwietli\u0107 faktury.<br \/>\nInny wariant powy\u017cszego filtra, gdzie nazwa rejestru VAT wybierana jest z rozwijalnej listy:<\/p>\n<p><code>@PAR ?@R(SELECT LP=Gru_GruID, KOD=Gru_Nazwa FROM cdn.Grupy WHERE (Gru_Typ=1 OR Gru_Typ=2))|RejVat|&amp;RejVat:0 |@? PAR@<br \/>\n(Bzd_DokumentTyp='2' AND Bzd_DokumentID in (select Van_VanID from CDN.VatNag where Bzd_DokumentID=Van_VanID AND VaN_Rejestr=??_RES2_RejVat))<br \/>\nOR<br \/>\n(Bzd_DokumentTyp='1' AND Bzd_DokumentID in (select Van_TrnID from CDN.VatNag where Bzd_DokumentID=Van_TrnID AND VaN_Rejestr=??_RES2_RejVat))<\/code><\/p>\n<p>Filtry uwzgl\u0119dniaj\u0105 zar\u00f3wno faktury wprowadzone bezpo\u015brednio do Rejestr\u00f3w VAT jak i faktury wystawione<br \/>\nw module Faktury i przeniesione do Rejestr\u00f3w VAT.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 kontrahent\u00f3w, kt\u00f3rzy nie s\u0105 osob\u0105 fizyczn\u0105 i suma nierozliczonych dokument\u00f3w jest wi\u0119ksza ni\u017c podana przez operatora?<\/strong><\/h4>\n<p>Na li\u015bcie kontrahent\u00f3w w menu Og\u00f3lne\/ Kontrahenci, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select Knt_KntId from CDN.BnkZdarzenia where Knt_KntId=BZd_PodmiotID AND BZd_PodmiotTyp=1<br \/>\nhaving SUM(BZd_Kierunek * (BZd_KwotaSys-BZd_KwotaRozSys)) &gt;?@N-15.4|Kwota:0)<\/code><\/p>\n<p>Wyra\u017cenie:<\/p>\n<p><code>having SUM(BZd_Kierunek * (BZd_KwotaSys-BZd_KwotaRozSys))<\/code><\/p>\n<p>pozwoli wyfiltrowa\u0107 r\u00f3\u017cnic\u0119 nierozliczonych przychod\u00f3w i rozchod\u00f3w.<br \/>\nFiltr uwzgl\u0119dni wszystkie dokumenty z Preliminarza P\u0142atno\u015bci dla danego kontrahenta. Dla zaw\u0119\u017conej listy b\u0119dzie mo\u017cna wygenerowa\u0107 np. Potwierdzenie Salda lub Ponaglenie Zap\u0142aty.<br \/>\nPoni\u017cej filtr, kt\u00f3ry uwzgl\u0119dni r\u00f3wnie\u017c historyczno\u015b\u0107 czyli stan rozlicze\u0144 na konkretny dzie\u0144 podany przez operatora.<br \/>\nNa li\u015bcie kontrahent\u00f3w w menu Og\u00f3lne\/ Kontrahenci, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu: <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|Dzien|&amp;Na dzie\u0144:{Today()} @? PAR@ @PAR ?@N15.2|Kwota|&amp;Kwota powy\u017cej:0 @? @RH(999999) PAR@ @PAR ?@S3|Waluta|&amp;Waluta:PLN @? @U() PAR@ Knt_Finalny = 0 AND EXISTS ( SELECT BZd_PodmiotId FROM (SELECT BZd_PodmiotId, BZd_Kierunek, BZd_Kwota, BZd_KwotaRoz = SUM(IsNull(BRK_Kwota,0)) FROM CDN.BnkZdarzenia LEFT OUTER JOIN (CDN.BnkRozRelacje JOIN CDN.BnkRozKwoty ON BRR_BRKId = BRK_BRKId) ON BZd_BZdId = BRR_ZDokId AND BRR_ZDokTyp = 1 AND (BRK_DataDok &lt;= ??Dzien OR BRK_DataDok Is NULL) WHERE BZd_Stan &gt; 0 AND BZd_PodmiotTyp = 1 AND BZd_PodmiotID = Knt_KntId AND BZd_DataDok &lt;= ??Dzien AND CASE BZd_Waluta WHEN '' THEN 'PLN' ELSE BZd_Waluta END = ??Waluta AND BZd_Rozliczono &lt;&gt; 0 GROUP BY BZd_PodmiotId, BZd_Kierunek, BZd_Kwota, BZd_BZdId ) As TmpTable GROUP BY BZd_PodmiotId HAVING Sum(BZd_Kierunek * (BZd_Kwota-BZd_KwotaRoz)) &gt; ??Kwota )<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zapis\u00f3w kasowo bankowych te, kt\u00f3re maj\u0105 uzupe\u0142nione konto Wn lub konto Ma w kwotach dodatkowych?<\/strong><\/h4>\n<p>Na li\u015bcie zapis\u00f3w kasowo\/bankowych pod ikon\u0105 konstruktora filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> wpisujemy:<\/p>\n<p><code>exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND (Kdd_Segment1&lt;&gt;'' OR Kdd_Segment2&lt;&gt;''))<\/code><\/p>\n<p>Aby wyfiltrowa\u0107 te kt\u00f3re maj\u0105 wpisane okre\u015blone konto po stronie Wn , mo\u017cemy u\u017cy\u0107:<\/p>\n<p><code>exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Segment1=?@S100|KontoWN:'')<\/code><br \/>\nAnalogicznie konto Ma:<\/p>\n<p><code>exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Segment2=?@S100|KontoMA :'')<\/code><\/p>\n<p>lub wyszukuj\u0105c okre\u015blon\u0105 kwot\u0119 w kwotach dodatkowych:<\/p>\n<p><code>exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=Bzp_BzpID AND KDD_DokumentTyp=14 AND Kdd_Kwota=?@S100|Kwota:'')<\/code><\/p>\n<h4><strong>Filtr dla zapis\u00f3w Kasowych\/Bankowych, wy\u015bwietlaj\u0105cy zapisy kontrahent\u00f3w, kt\u00f3rzy s\u0105 przydzieleni do danego pracownika (ustawienie w Karcie Kontrahenta)<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_PRCW.DLL|CALLLOOKUPPRILISTA())|Pracownik|&amp;Pracownik:0|@? PAR@<br \/>\nBZp_PodmiotTyp=1 and exists (select * from cdn.kontrahenci where BZp_PodmiotID=Knt_KntId and Knt_OpiekunId=??Pracownik and Knt_OpiekunTyp=3)<\/code><\/p>\n<h4><strong>Filtr wy\u015bwietlaj\u0105cy zdarzenia w preliminarzu dla dw\u00f3ch (lub wi\u0119cej) kontrahent\u00f3w:<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod1|&amp;kontrahent1:REG= @? PAR@ BZd_PodmiotID = ??kod1<br \/>\nOR<br \/>\n@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod2|&amp;kontrahent2:REG= @? PAR@ BZd_PodmiotID = ??kod2<\/code><\/p>\n<h4><strong>Filtr ograniczaj\u0105cy list\u0119 wy\u015bwietlanych w Preliminarzu p\u0142atno\u015bci dokument\u00f3w do p\u0142atno\u015bci pochodz\u0105cych z Faktur Zakupu z modu\u0142u Handel i zapis\u00f3w z Rejestru zakupu VAT:<\/strong><\/h4>\n<p>Filtr mo\u017ce by\u0107 stosowany wtedy, gdy np. Faktury Zakupu z kt\u00f3rych towary maj\u0105 wej\u015b\u0107 na magazyn wprowadzamy w module Handel, a Faktury Zakupu kosztowe &#8211; od razu w Rejestrach VAT. Po zastosowaniu takiego filtra w Preliminarzu mo\u017cemy widzie\u0107 jednocze\u015bnie oba te rodzaje dokument\u00f3w (i tylko te dokumenty).<br \/>\nW Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_TypDokumentu=301) or exists (select * from CDN.VatNag where VaN_VaNID=Bzd_DokumentID And Bzd_DokumentTyp=2 and VaN_Typ=1)<\/code><\/p>\n<h4><strong>Filtr ograniczaj\u0105cy list\u0119 wy\u015bwietlanych w Preliminarzu p\u0142atno\u015bci dokument\u00f3w do p\u0142atno\u015bci pochodz\u0105cych z Faktur Sprzeda\u017cy z modu\u0142u Handel i z Rejestru sprzeda\u017cy VAT.<\/strong><\/h4>\n<p>Filtr mo\u017ce by\u0107 stosowany wtedy, gdy np. Faktury Sprzeda\u017cy, z kt\u00f3rych towary maj\u0105 wyj\u015b\u0107 z magazynu wprowadzamy w module Handel, a pozosta\u0142e faktury &#8211; od razu w Rejestrach sprzeda\u017cy VAT.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TraNag where Trn_TrNID=Bzd_DokumentID And Bzd_DokumentTyp=1 and TrN_TypDokumentu=302) or exists (select * from CDN.VatNag where VaN_VaNID=Bzd_DokumentID And Bzd_DokumentTyp=2 and VaN_Typ=2)<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b w Preliminarzu odnale\u017a\u0107 p\u0142atno\u015bci maj\u0105ce wybrany rachunek bankowy po nazwie tego rachunku, okre\u015blanego na karcie kontrahenta?<\/strong><\/h4>\n<p>W Preliminarzu p\u0142atno\u015bci w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Rachunek|&amp;Rachunek:''@? PAR@<br \/>\nexists (select * from CDN.SchematPlatnosci where BZd_RachunekNr=SPL_RachunekNr and SPL_PodmiotID=BZd_PodmiotID and SPL_PodmiotTyp=1 and SPL_Opis=??Rachunek)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie dokument\u00f3w rozliczonych odnale\u017a\u0107 te pochodz\u0105ce z konkretnego rejestru VAT?<\/strong><\/h4>\n<p>Na li\u015bcie dokument\u00f3w rozliczonych w Konstruktorze filtra, na zak\u0142adce [Zaawansowane] nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Rejestr|&amp;Rejestr:''@? PAR@<br \/>\n(BRK_LDokTyp=1 and exists (select * from CDN.BnkZdarzenia where BRK_LDokID=BZd_BZdID and BZd_DokumentTyp=2 and exists ( select * from CDN.VatNag where BZd_DokumentID=VaN_VaNID and VaN_Rejestr = ??Rejestr))) OR (BRK_PDokTyp=1 and exists (select * from CDN.BnkZdarzenia where BRK_PDokID=BZd_BZdID and BZd_DokumentTyp=2 and exists ( select * from CDN.VatNag where BZd_DokumentID=VaN_VaNID and VaN_Rejestr = ??Rejestr)))<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b w Preliminarzu odnale\u017a\u0107 p\u0142atno\u015bci z faktur sprzeda\u017cowych maj\u0105cych konkretny atrybut i warto\u015b\u0107 atrybutu?<\/strong><\/h4>\n<p>W Preliminarzu p\u0142atno\u015bci w Konstruktorze filtra, na zak\u0142adce [Zaawansowane] nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 4|GENERICLOOKUP(Atrybuty dokument\u00f3w, 0, 1))|Atrybut|&amp;Atrybut: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\n@PAR ?@S100|Wartosc|&amp;Warto\u015b\u0107: @? @MSG(Warto\u015b\u0107 atrybutu) @TIP(Warto\u015b\u0107 atrybutu) PAR@<br \/>\nEXISTS (SELECT * FROM CDN.TraNag JOIN CDN.DokAtrybuty ON DAt_TrNId = TrN_TrNId WHERE TrN_TrNID = BZd_DokumentID AND BZd_DokumentTyp=1 AND TrN_TypDokumentu=302 AND DAt_DeAId=??Atrybut AND DAt_WartoscTxt=??Wartosc)<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b odnale\u017a\u0107 dokumenty nierozliczone kontrahent\u00f3w ze statusem 'Partner\u2019?<\/strong><\/h4>\n<p>Na li\u015bcie dokument\u00f3w nierozliczonych w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>(DKB_TypDokumentuKB=1 And EXISTS (Select * From CDN.BnkZdarzenia JOIN CDN.Kontrahenci ON BZd_PodmiotID=Knt_KntId AND BZd_PodmiotTyp=1 where DKB_DKBId=BZd_BZdID And Knt_Rodzaj_Partner=1)) OR (DKB_TypDokumentuKB=2 And EXISTS (Select * From CDN.BnkZapisy JOIN CDN.Kontrahenci ON BZp_PodmiotID=Knt_KntId AND BZp_PodmiotTyp=1 where DKB_DKBId=BZp_BZpID And Knt_Rodzaj_Partner=1))<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b odnale\u017a\u0107 r\u00f3\u017cnice kursowe wygenerowane przez zapisy kasowe\/bankowe wprowadzone do konkretnego rejestru?<\/strong><\/h4>\n<p>Na li\u015bcie r\u00f3\u017cnic kursowych w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Rejestr|&amp;Rejestr:''@? PAR@<br \/>\n(BRK_LDokTyp=2 and exists (select * from CDN.BnkZapisy where BRK_LDokID=BZp_BZpID and exists ( select * from CDN.BnkRachunki where BRa_BRaID=BZp_BRaID and BRa_Symbol = ??Rejestr)))<br \/>\nOR<br \/>\n(BRK_PDokTyp=2 and exists (select * from CDN.BnkZapisy where BRK_PDokID=BZp_BZpID and exists ( select * from CDN.BnkRachunki where BRa_BRaID=BZp_BRaID and BRa_Symbol = ??Rejestr)))<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b odnale\u017a\u0107 kontrahent\u00f3w maj\u0105cych wystawione w module Kasa\/Bank potwierdzenia sald w 2018 roku?<\/strong><\/h4>\n<p>Na li\u015bcie kontrahent\u00f3w w Konstruktorze filtra, na zak\u0142adce [Zaawansowane] nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists (Select * From CDN.BnkDokNag Where BDN_PodmiotID=Knt_KntID And BDN_PodmiotTyp=1 And BDN_Typ=223 And BDN_NumerPelny Like '%2018%')<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b odnale\u017a\u0107 dokument kompensaty na kt\u00f3rym wskazano dokument o okre\u015blonym numerze?<\/strong><\/h4>\n<p>Z poziomu Kasa\/Bank\/ Dokumenty kompensat w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S50|Numer_dok|Numer szukanego dokumentu:''@? PAR@<br \/>\nEXISTS (select * from cdn.KompensatyElem left join cdn.BnkRozKwoty on KPE_BRKID = BRK_BRKID where (BRK_LNumer like ??_QNumer_dok + '%' or BRK_PNumer like ??_QNumer_dok + '%') and KPN_KPNID = KPE_KPNID)<\/code><\/p>\n<p><a name=\"hif\"><\/a><\/p>\n<h3><strong>Handel i Faktury<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty FA, kt\u00f3re wystawione s\u0105 na klienta detalicznego ale nie \u2018od netto\u2019?<\/strong><\/h4>\n<p>Trzeba wykona\u0107 zapytanie na li\u015bcie Faktur Sprzeda\u017cy w module Faktury, uwzgl\u0119dniaj\u0105c tabel\u0119 Kontrahenci, gdzie Knt_Finalny = 1. W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists(select * from CDN.Kontrahenci where Trn_PodID=Knt_KntID AND TrN_PodmiotTyp=1 AND TrN_TypNB=2 AND Knt_Finalny=1)<\/code><\/p>\n<h4><strong>Jak z listy faktur sprzeda\u017cy wyfiltrowa\u0107 te faktury, kt\u00f3re s\u0105 nierozliczone lub rozliczone cz\u0119\u015bciowo?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists (select * from CDN.BnkZdarzenia where TrN_TrNID=BZd_DokumentID AND Bzd_DokumentTyp='1' AND (Bzd_Kwota-Bzd_KwotaRoz&lt;&gt;0))<\/code><\/p>\n<p>Filtr mo\u017cna zastosowa\u0107 r\u00f3wnie\u017c na li\u015bcie faktur zakupu.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty handlowo-magazynowe, kt\u00f3re wystawi\u0142 okre\u015blony operator?<\/strong><\/h4>\n<p>Filtr powinien wygl\u0105da\u0107 w ten spos\u00f3b:<br \/>\n<strong>Filtr SQL<\/strong><\/p>\n<p><code>@PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|Operator|&amp;Operator:1 @? PAR@<br \/>\nTrN_OpeZalID = ??Operator<\/code><\/p>\n<p>Umo\u017cliwi to wyb\u00f3r z listy operator\u00f3w wybranego operatora i przefiltrowanie dokument\u00f3w po okre\u015blonym operatorze. Filtr pokazuje dokumenty WYSTAWIONE przez danego operatora. Aby filtr reagowa\u0142 na dokumenty ZMODYFIKOWANE przez operatora nale\u017cy zmieni\u0107 TrN_OpeZalID na TrN_OpeModID<\/p>\n<h4><strong>Jak filtrowa\u0107 kontrahent\u00f3w wg atrybut\u00f3w podpi\u0119tych na karcie kontrahenta?<\/strong><\/h4>\n<p>Filtr SQL dla wyfiltrowania kontrahent\u00f3w z zadanym kodem atrybutu z listy kontrahent\u00f3w. Filtr przed odfiltrowaniem listy b\u0119dzie wy\u015bwietla\u0142 list\u0119 atrybut\u00f3w dla kontrahent\u00f3w.<\/p>\n<p>W celu dodania filtra nale\u017cy w Konstruktorze filtra wywo\u0142anym z poziomu listy kontrahent\u00f3w, na zak\u0142adce [Zaawansowane], w polu Filtr SQL wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=2 ORDER BY DeA_Kod)|KodAtr|&amp;Kod atrybutu:ATR1 @? PAR@ exists(select * from CDN.KntAtrybuty where KnA_PodmiotId=Knt_KntId AND KnA_PodmiotTyp=1 AND KnA_DeAId = ??KodAtr )<\/code><\/p>\n<p>Filtr SQL dla wyfiltrowania kontrahent\u00f3w z okre\u015blon\u0105 warto\u015bci\u0105 atrybutu.<\/p>\n<p>W celu dodania filtra nale\u017cy w Konstruktorze filtra wywo\u0142anym z poziomu listy kontrahent\u00f3w, na zak\u0142adce [Zaawansowane], w polu Filtr SQL wpisa\u0107:<\/p>\n<p><code>Exists (Select * From CDN.KntAtrybuty Where Knt_KntId=KnA_PodmiotId AND KnA_PodmiotTyp=1 AND KnA_WartoscTxt LIKE '%' + ?@S100|Warto\u015b\u0107:'' + '%')<\/code><\/p>\n<h4><strong>Jak filtrowa\u0107 list\u0119 faktur wg atrybut\u00f3w podpi\u0119tych na karcie kontrahenta?<\/strong><\/h4>\n<p>Filtr SQL dla listy faktur pokazuj\u0105cy dokumenty wystawione na kontrahent\u00f3w maj\u0105cych na swoich kartach przypisany okre\u015blony atrybut. Filtr przed odfiltrowaniem listy b\u0119dzie wy\u015bwietla\u0142 list\u0119 atrybut\u00f3w kontrahent\u00f3w.<\/p>\n<p>W celu dodania filtra nale\u017cy w Konstruktorze filtra wywo\u0142anym z poziomu listy faktur, na zak\u0142adce [Zaawansowane], w polu Filtr SQL wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=2 ORDER BY DeA_Kod)|KodAtr|&amp;Kod atrybutu:ATR1 @? PAR@ exists(select * from CDN.KntAtrybuty Where KnA_PodmiotId=TrN_PodId AND KnA_PodmiotTyp=TrN_PodmiotTyp AND KnA_DeAId =??KodAtr)<\/code><\/p>\n<p>Filtr SQL dla listy faktur pokazuj\u0105cy dokumenty wystawione na kontrahent\u00f3w maj\u0105cych na swoich kartach przypisany atrybut z okre\u015blon\u0105 warto\u015bci\u0105.<\/p>\n<p>W celu dodania filtra nale\u017cy w Konstruktorze filtra wywo\u0142anym z poziomu listy faktur, na zak\u0142adce [Zaawansowane], w polu Filtr SQL wpisa\u0107:<\/p>\n<p><code>Exists (Select * From CDN.KntAtrybuty Where KnA_PodmiotId=TrN_PodId AND KnA_PodmiotTyp=TrN_PodmiotTyp AND KnA_WartoscTxt LIKE '%' + ?@S100|Warto\u015b\u0107:'' + '%')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury, kt\u00f3re zosta\u0142y wystawione na kontrahent\u00f3w, kt\u00f3rzy maj\u0105 przyporz\u0105dkowanego opiekuna w formie operatora systemu Comarch ERP Optima?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = Ope_OpeID , Kod = Ope_Kod from {opbk()}.CDN.Operatorzy)|Operator|&amp;Operator: @? PAR@<br \/>\nExists (Select * From CDN.Kontrahenci Where Knt_OpiekunID = ??Operator and TrN_PodId = Knt_KntId And TrN_PodmiotTyp = 1)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 Faktur Sprzeda\u017cy po opiekunie, kt\u00f3ry jest zapisany na karcie kontrahenta i jest to pracownik firmy?<\/strong><\/h4>\n<p>Na li\u015bcie faktur, w konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = Pra_PraID, Kod = Pra_Kod From CDN.PracKod)|Pracownik|&amp;Pracownik: @? PAR@<br \/>\nExists (Select * From CDN.Kontrahenci Where Knt_OpiekunID = ??Pracownik and TrN_PodID = Knt_KntID and TrN_PodmiotTyp = 1)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 faktur je\u015bli na fakturze mam wpisan\u0105 dan\u0105 kategori\u0119 nag\u0142\u00f3wka szczeg\u00f3\u0142ow\u0105?<\/strong><\/h4>\n<p>Na li\u015bcie faktur w module FA, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT Kat_KatID, Kat_KodSzczegol From CDN.Kategorie Where Kat_Poziom<br \/>\n= 2)|Kategoria|&amp;Kategoria:AAA @? PAR@<br \/>\nTrN_KatID = ??Kategoria<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury na li\u015bcie faktur kt\u00f3re s\u0105 rozliczone po terminie?<\/strong><\/h4>\n<p>Nale\u017cy za\u0142o\u017cy\u0107 filtr zaawansowany na li\u015bcie faktur, kt\u00f3ry korzysta\u0142 b\u0119dzie z tabeli CDN.BnkZdarzenia.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.BnkZdarzenia where TrN_TrNID=BZd_DokumentID and<br \/>\nBzd_DokumentTyp='1' and BZD_dataroz &gt; Bzd_datareal)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty RO z listy RO, kt\u00f3re s\u0105 przekszta\u0142cone do WZ a dodatkowo WZ ma wystawion\u0105 Faktur\u0119 Sprzeda\u017cy?<\/strong><\/h4>\n<p>Na li\u015bcie RO, po ikon\u0105 konstruktora filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> wpisujemy:<\/p>\n<p><code>EXISTS(Select * from cdn.tranagrelacje rel1 Where rel1.trr_trnid = trn_trnid and  rel1.trr_fatyp  = 306 and EXISTS(select * from cdn.tranagrelacje rel2 where rel2.trr_trnid = rel1.trr_faid and rel2.trr_fatyp =302))<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty PA z listy PA, kt\u00f3re s\u0105 przekszta\u0142cone do FA a FA skojarzone z tymi PA nie ma dokument\u00f3w WZ?<\/strong><\/h4>\n<p>Na li\u015bcie PA, pod ikon\u0105 konstruktora filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL <\/strong>wpisujemy:<\/p>\n<p><code>EXISTS (SELECT * FROM CDN.TraNag FA WHERE A.TrN_FaID = FA.TrN_TrNID AND<br \/>\nFA.TrN_FaID IS NOT NULL AND FA.TrN_Rodzaj = 302006 )<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 wybrany typ dokumentu z listy FA u\u017cywaj\u0105c funkcji serwerowej?<\/strong><\/h4>\n<p>Zastosowanie z\u0142o\u017conego filtra na li\u015bcie faktur (np. wyszukuj\u0105cych faktury finalne przekszta\u0142cone z Faktury Pro Forma i powi\u0105zane z dokumentem WZ) nie dzia\u0142a przy ksi\u0119gowaniu dokument\u00f3w. Pojawia si\u0119 komunikat \u201eThe multi-part identifier &#8222;A.trn_trnid&#8221; could not be bound.\u201d<\/p>\n<p>W zwi\u0105zku z tym filtr z aliasem o postaci:<\/p>\n<p><code>exists (select * from cdn.tranag A1 left join cdn.tranag A2 on A1.trn_trnid = A2.trn_faid left join cdn.tranag A3 on A1.trn_faid = A3.trn_trnid where A2.trn_rodzaj = 302200 and A.trn_trnid = A3.trn_trnid)<\/code><\/p>\n<p>nale\u017cy zast\u0105pi\u0107 filtrem: (select CDN.fn_PrzykladowaNazwa(Trn_trnID))=1,<br \/>\ngdzie funkcja serwerowa ma posta\u0107:<\/p>\n<p><code>Create Function CDN.fn_PrzykladowaNazwa(@ATrnID int)<br \/>\nRETURNS int<br \/>\nAS<br \/>\nBEGIN<br \/>\nDeclare @Result int<br \/>\nSet @Result = 0<br \/>\nselect @Result = count(*) from cdn.tranag A1<br \/>\njoin cdn.tranag A2 on A1.trn_trnid = A2.trn_faid<br \/>\njoin cdn.tranag A3 on A1.trn_faid = A3.trn_trnid<br \/>\nwhere A2.trn_rodzaj = 302200 and A3.trn_trnid = @ATrnID<br \/>\nRETURN @Result<br \/>\nEND<br \/>\nGO<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 kontrahent\u00f3w, kt\u00f3rzy np. w m-cu styczniu zap\u0142acili po terminie ? Lista mo\u017ce by\u0107 potrzebna do np. do sporz\u0105dzenia masowych not odsetkowych dla kontrahent\u00f3w.<\/strong><\/h4>\n<p>Filtr z poziomu s\u0142ownik\u00f3w kontrahent\u00f3w. W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (<br \/>\nselect * from CDN.BnkZdarzenia where BZd_PodmiotID=Knt_KntID and BZd_PodmiotTyp=1 and BZd_Rozliczono=1 and BZd_DataRoz BETWEEN ?@D17|Data od:75609 AND ?@D17|Data do:75609)<br \/>\nor exists (<br \/>\nselect * from CDN.BnkZdarzenia where BZd_PodmiotID=Knt_KntID and BZd_PodmiotTyp=1 and BZd_Rozliczono=2 and BZd_DataRoz BETWEEN ?@D17|Data od:75609 AND ?@D17|Data do:75609)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 kontrahent\u00f3w aby uzyska\u0107 tylko tych kontrahent\u00f3w z kt\u00f3rymi prowadzili\u015bmy transakcje ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>EXISTS (<br \/>\nSELECT [TrN_TrNID] FROM [CDN].[TraNag] WHERE [TrN_PodmiotTyp] = A.[Knt_PodmiotTyp] AND [TrN_PodID] = A.[Knt_KntId] AND [TrN_TypDokumentu] IN (302)<br \/>\n)<\/code><\/p>\n<p>Typ dokumentu mo\u017ce przyj\u0105\u0107 nast\u0119puj\u0105ce warto\u015bci:<br \/>\n301 &#8211; [FZ] Faktura zakupu<br \/>\n302 &#8211; [FA] Faktura sprzeda\u017cy<br \/>\n303 &#8211; [PW] Przyj\u0119cie wewn\u0119trzne<br \/>\n304 &#8211; [RW] Rozch\u00f3d wewn\u0119trzny<br \/>\n305 &#8211; [PA] Paragon<br \/>\n306 &#8211; [WZ] Wydanie zewn\u0119trzne<br \/>\n307 &#8211; [PZ] Przyj\u0119cie zewn\u0119trzne<br \/>\n308 &#8211; [RO] Rezerwacja odbiorcy<br \/>\n309 &#8211; [ZD] Zam\u00f3wienie dostawcy<br \/>\n310 &#8211; [BOM] Bilans otwarcia magazynu<br \/>\n311 &#8211; [AI] Arkusz Inwentaryzacyjny<br \/>\n312 &#8211; [MM] Przesuni\u0119cie mi\u0119dzymagazynowe<br \/>\n313 &#8211; [PKA] Przyj\u0119cie kaucji<br \/>\n314 &#8211; [WKA] Wydanie kaucji<br \/>\n317 &#8211; [PWP] Przyj\u0119cie wewn\u0119trzne produkcji<br \/>\n318 &#8211; [RWS] Rozch\u00f3d wewn\u0119trzny sk\u0142adnik\u00f3w<br \/>\n320 &#8211; [FPF] Faktura ProForma<br \/>\n345 &#8211; [TF] Dokument TaxFree<br \/>\n350 &#8211; [FRR] Faktura RR<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 kontrahent\u00f3w z kt\u00f3rymi (nie by\u0142o\/lub by\u0142o) transakcji po np. 01.01.2018r.?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\na) Kontrahenci z kt\u00f3rymi nie by\u0142o transakcji<\/p>\n<p><code>not exists (select * from CDN.TraNag Z where A.Knt_KntId = Z.TrN_PodId and TrN_PodmiotTyp = 1 and TrN_DataOpe &gt;='2018-01-01')<\/code><\/p>\n<p>b) Kontrahenci z kt\u00f3rymi by\u0142y transakcje<\/p>\n<p><code>exists (select * from CDN.TraNag Z where A.Knt_KntId = Z.TrN_PodId and TrN_PodmiotTyp = 1 and TrN_DataOpe &gt;='2018-01-01')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 kontrahent\u00f3w, z kt\u00f3rymi (nie by\u0142o\/lub by\u0142o) transakcji tylko FA, FZ po np. 01.01.2018r.?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\na) Kontrahenci z kt\u00f3rymi nie by\u0142o transakcji<\/p>\n<p><code>not exists (select * from CDN.TraElem where TrE_PodID=A.Knt_KntID and TrE_PodmiotTyp=A.Knt_PodmiotTyp and TrE_DataOpe &gt;= '2018-01-01' and TrE_TypDokumentu IN (302,301))<\/code><br \/>\nb) Kontrahenci, z kt\u00f3rymi by\u0142y transakcje<\/p>\n<p><code>exists (select * from CDN.TraElem where TrE_PodID=A.Knt_KntID and TrE_PodmiotTyp=A.Knt_PodmiotTyp and TrE_DataOpe &gt;= '2018-01-01' and TrE_TypDokumentu IN (302,301))<\/code><\/p>\n<p>Typ dokumentu:<br \/>\n301 &#8211; [FZ] Faktura zakupu<br \/>\n302 &#8211; [FA] Faktura sprzeda\u017cy<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zasob\u00f3w lub cenniku towary uwzgl\u0119dnione z grupy g\u0142\u00f3wnej i grup dodatkowych ? <\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|TwrGrupa|&amp;Grupa towarowa:@? PAR@<br \/>\nTwr_GIDNumer IN (SELECT GIDNumer FROM CDN.TwrInTwG(??TwrGrupa))<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zasob\u00f3w lub cenniku towary uwzgl\u0119dnione tylko z grupy g\u0142\u00f3wnej ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|TwrGrupa|&amp;Grupa towarowa:@? PAR@<br \/>\nTwr_TwGGIDNumer = ??TwrGrupa<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zasob\u00f3w lub cenniku towary, kt\u00f3re na karcie maj\u0105 okre\u015blonego Dostawc\u0119 ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|Dostawca|&amp;Dostawca:REG=!NIEOKRE\u015aLONY! @? PAR@ Twr_KntId = ??Dostawca<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zasob\u00f3w lub cennika towary wzgl\u0119dem kodu, warto\u015bci lub nazwy atrybutu przypisanego na karcie tego towaru ? <\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu<strong> Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\na) potrzeba odfiltrowa\u0107 towary posiadaj\u0105ce atrybut o kodzie (bez podawania warto\u015bci tego atrybutu)<\/p>\n<p><code>@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towar\u00f3w, 0, 1))|Atrybut|&amp;Atrybut: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\nEXISTS(SELECT [TwA_TwAId] FROM [CDN].[TwrAtrybuty] WHERE [Twr_TwrId] = [TwA_TwrId] AND [TwA_DeAId]= ??Atrybut)<\/code><\/p>\n<p>b) potrzeba odfiltrowa\u0107 towary posiadaj\u0105ce atrybut z okre\u015blon\u0105 warto\u015bci\u0105<\/p>\n<p><code>@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towar\u00f3w, 0, 1))|Atrybut|&amp;Atrybut: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\n@PAR ?@S100|Wartosc|&amp;Warto\u015b\u0107: @? @MSG(Warto\u015b\u0107 atrybutu) @TIP(Warto\u015b\u0107 atrybutu) PAR@<br \/>\nEXISTS(SELECT [TwA_TwAId] FROM [CDN].[TwrAtrybuty] WHERE [Twr_TwrId] = [TwA_TwrId] AND [TwA_DeAId]= ??Atrybut AND [TwA_WartoscTxt] = ??Wartosc)<\/code><\/p>\n<p>c) potrzeba odfiltrowa\u0107 towary po nazwie atrybutu towaru<\/p>\n<p><code>EXISTS (SELECT * FROM CDN.TwRAtrybuty JOIN CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID WHERE Twr_TwrId = TwA_TwrId AND DeA_Nazwa=?@S100|Nazwa atrybutu:'')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie zasob\u00f3w lub cenniku zasoby po warto\u015bciach atrybut\u00f3w towar\u00f3w typu lista ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT DAE_DAEId, DAE_Wartosc from CDN.DefAtrElem)|wart_atr|&amp;wart_atr:REG= @? PAR@ exists (select * from CDN.DefAtrElem, CDN.TwrAtrybuty where Twr_TwrId = TwA_TwrId and TwA_WartoscTxt in (select DAE_Wartosc from CDN.DefAtrElem where DAE_DAEId=??wart_atr))<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 towary kt\u00f3re maj\u0105 jakikolwiek atrybut?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TwrAtrybuty where TwA_TwrId = Twr_TwrId)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 towary kt\u00f3re nie maja \u017cadnego atrybutu?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>not exists (select * from CDN.TwrAtrybuty where TwA_TwrId = Twr_TwrId)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 towary, kt\u00f3re w danym dniu by\u0142y sprzedawane na dokumentach FA lub PA?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data|&amp;data:REG={Today()} @? PAR@<br \/>\nexists (select * from CDN.TraElem T where A.Twr_TwrId=T.TrE_TwrId and T.TrE_DataDok=??data and (T.TrE_TypDokumentu=302 or T.TrE_TypDokumentu=305))<\/code><\/p>\n<p>Wariant filtra w kt\u00f3rym podajemy zakres dat:<\/p>\n<p><code>@PAR ?@D17|data_od|&amp;data od:REG={Today()} @? PAR@<br \/>\n@PAR ?@D17|data_do|&amp;data do:REG={Today()} @? PAR@<br \/>\nexists (select * from CDN.TraElem T where A.Twr_TwrId=T.TrE_TwrId and T.TrE_DataDok&gt;=??data_od and T.TrE_DataDok&lt;=??data_do and (T.TrE_TypDokumentu=302 or T.TrE_TypDokumentu=305))<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 towary z kt\u00f3rymi nie by\u0142o transakcji po zadanej dacie?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data|&amp;Data:REG={Today()} @? PAR@<br \/>\nnot exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.TrE_TwrId and TrE_DataOpe &gt;= ??data)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 towary, kt\u00f3rych cena zakupu (ID=1) jest r\u00f3wna zero ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TwrCeny C where A.Twr_TwrID=C.TwC_TwrID and C.TwC_TwCNumer=1 and C.TwC_Wartosc=0)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w lub cenniku wyfiltrowa\u0107 poprzez wyb\u00f3r z listy ceny te towary, kt\u00f3re maj\u0105 t\u0105 cen\u0119 wi\u0119ksz\u0105 od zera?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = DfC_Lp, KOD = DfC_Nazwa from CDN.DefCeny)|cena|&amp;cena:REG= @? PAR@<br \/>\nexists(select * from CDN.TwrCeny where TwC_TwCNumer=??cena and TwC_Wartosc&gt;0 and TwC_TwrID=TwR_TwrID)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie zasob\u00f3w wyfiltrowa\u0107 towary po ilo\u015bci, a nie ilo\u015bci dost\u0119pnej przy zaznaczonym parametrze \u201ezerowe\u201d?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Twi_Ilosc&gt;0<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 zasob\u00f3w z kt\u00f3rymi (nie by\u0142o lub by\u0142o) transakcji po np. 01.01.2018?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\na) Towary z kt\u00f3rymi nie by\u0142o transakcji:<\/p>\n<p><code>not exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.Tre_TwrId and Tre_DataOpe &gt;= '2018-01-01')<\/code><\/p>\n<p>b) Towary z kt\u00f3rymi by\u0142y transakcje:<\/p>\n<p><code>exists (select * from CDN.TraElem Z where A.Twr_TwrId = Z.Tre_TwrId and Tre_DataOpe &gt;= '2018-01-01')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 WZ-ki po operatorze, kt\u00f3ry stworzy\u0142 dokument \u017ar\u00f3d\u0142owy (FA lub PA)?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = Ope_OpeId, Kod = Ope_Kod From {OPBK()}.CDN.Operatorzy Order By Ope_Kod)|OperatorId|&amp;Operator:1 @? PAR@ EXISTS (SELECT * FROM CDN.TraNag Z WHERE A.TrN_FaId<br \/>\n= Z.TrN_TrNID AND Z.TrN_OpeZalId= ??OperatorId)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie dokumenty handlowo-magazynowe po danej kategorii dokumentu?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:REG=-brak- @? PAR@<br \/>\nTrN_KatID = ??Kategoria<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty WZ utworzone z FPF, do kt\u00f3rej by\u0142y wygenerowane zaliczki, ale tylko dla FPF, kt\u00f3re nie zosta\u0142y jeszcze przekszta\u0142cone do faktur finalnych?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>A.TrN_Rodzaj=306010 and exists (select * from CDN.Tranag Z where Z.TrN_TypDokumentu=320 and A.TrN_FaID=Z.TrN_TrNID and exists (select * from CDN.Tranag t2 where t2.Trn_Rodzaj=302200 and t2.TrN_FaID=Z.TrN_TrNID))<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty WZ, kt\u00f3re s\u0105 skojarzone z innymi dokumentami ale ich daty wystawienia si\u0119 r\u00f3\u017cni\u0105?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists (select * from CDN.TraNag Z where A.TrN_FaId = Z.TrN_TrNID and Z.TrN_DataWys != A.TrN_DataWys and A.Trn_Rodzaj=306004)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w handlowo-magazynowych aby nie wy\u015bwietla\u0142y si\u0119 dokumenty, kt\u00f3rych warto\u015b\u0107 wynosi zero np. na korektach oraz te kt\u00f3re s\u0105 zaksi\u0119gowane do KH? Wtedy dokumenty, kt\u00f3re nie s\u0105 zaksi\u0119gowane, a ich warto\u015b\u0107 zakupu jest r\u00f3wna zero nie b\u0119d\u0105 widoczne.<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>IsNull(TrN_DekId,0)=0 AND TrN_WartoscZakupu&lt;&gt;0<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty PZ, kt\u00f3re zosta\u0142y skorygowane w ca\u0142o\u015bci?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select Z.TrN_ZwrID from CDN.TraNag Z where Z.TrN_ZwrId = A.TrN_TrNID and Z.TrN_Bufor=0 and (Z.TrN_Rodzaj=307001 or Z.TrN_Rodzaj=307002 or Z.TrN_Rodzaj=307003 or Z.TrN_Rodzaj=307004) group by Z.TrN_ZwrID having SUM(Z.Trn_RazemBrutto)*(-1)= A.Trn_RazemBrutto)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 tych FA, kt\u00f3rych elementy maj\u0105 wskazany przez nas atrybut towaru?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S50|atrybut|&amp;Kod atrybutu:REG=\u2019\u2019 @? PAR@ exists(select * from CDN.TraElem,<br \/>\nCDN.Twratrybuty join CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID where Trn_TrnId = Tre_TrnId<br \/>\nand Tre_TwrId = TwA_TwrId and Dea_Kod=??atrybut)<\/code><\/p>\n<p>Gdy szukamy atrybut towaru o zadanej warto\u015bci:<\/p>\n<p><code>@PAR ?@S50|atrybut|&amp;Warto\u015b\u0107 atrybutu:REG= @? PAR@ exists(select * from CDN.TraElem, CDN.Twratrybuty join CDN.DefAtrybuty on TwA_DeAId = DeA_DeaID where Trn_TrnId = Tre_TrnId and Tre_TwrId = TwA_TwrId and Twa_wartosctxt=??atrybut)<\/code><\/p>\n<p>Mo\u017cna filtrowa\u0107 te\u017c mniej rygorystycznie z zastosowaniem wyra\u017cenia: <code>(LIKE \u2018%\u2019+\u2026+\u2019%\u2019)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie Faktur sprzeda\u017cy list\u0119 faktur zaliczkowych bez faktur finalnych?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL <\/strong>nale\u017cy wpisa\u0107:<\/p>\n<p><code>A.Trn_Rodzaj = 302200 and exists (select * from CDN.TraNag Z where A.Trn_Faid = Z.Trn_TrnId and Z.Trn_TypDokumentu = 320 and Z.Trn_Faid is Null)<\/code><\/p>\n<p>Niestety filtr ten nie b\u0119dzie dzia\u0142a\u0142 na standardowym wydruku listy faktur. Prosz\u0119 w przypadku wydruku tak wyfiltrowanej listy korzysta\u0107 z wydruku GenRap.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie faktur sprzeda\u017cy faktury zaliczkowe do kt\u00f3rych jest wystawiona faktura finalna?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>EXISTS (SELECT * FROM CDN.TraNag Z WHERE A.TrN_FaId = Z.TrN_TrNID AND Z.TrN_FaId is not null AND A.TrN_Rodzaj = 302200)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury sprzeda\u017cy, kt\u00f3re s\u0105 skojarzone z innymi dokumentami, ale ich daty wystawienia si\u0119 r\u00f3\u017cni\u0105?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists (select * from CDN.TraNag Z where Z.TrN_FaId = A.TrN_TrNID and Z.TrN_DataWys != A.TrN_DataWys and A.Trn_Rodzaj=302004)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty handlowe kt\u00f3rych termin p\u0142atno\u015bci mija w zadanym okresie.<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>TrN_Termin BETWEEN ?@D17|&amp;Od:REG={Today()} @? AND ?@D17|&amp;Do:REG={Today()} @?<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w handlowo-magazynowych po wybranym towarze?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPTWRLISTA())|Towar|&amp;Towar:REG= @? PAR@<br \/>\nexists (select * from CDN.TraElem where Trn_TrnId = Tre_TrnId and Tre_TwrId = ??Towar)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury sprzeda\u017cy po fragmencie nazwy umieszczonej na zak\u0142adce -kontrahent odbiorca faktury? (Np. g\u0142\u00f3wnym nabywc\u0105 jest Makro W-dwa a odbiorc\u0105 faktury Makro Olsztyn).<\/strong><\/h4>\n<p>W konstruktorze filtra wybieramy pole &#8222;TRN_OdbNazwa1 (Pierwsza linia nazwy odbiorcy)&#8221;, nast\u0119pnie po wywo\u0142aniu okna Edycja wyra\u017cenia filtra nale\u017cy z rozwijalnej listy w miejscu operator wybra\u0107 zawiera, a nast\u0119pnie zaznaczy\u0107 parametr<strong> Pytaj o warto\u015b\u0107<\/strong> i poda\u0107 tytu\u0142 zapytania np. Podaj nazw\u0119 odbiorcy i zatwierdzi\u0107 wpis. Logiczna reprezentacja utworzonego w ten spos\u00f3b wyra\u017cenia filtruj\u0105cego jest wy\u015bwietlana w dolnej cz\u0119\u015bci okna mo\u017ce wygl\u0105da\u0107 np.<\/p>\n<p><code>TrN_OdbNazwa1 LIKE '%' + ?@S100|Podaj nazw\u0119:'' + '%'.<\/code><\/p>\n<p>W oknie Konstruktor filtra poda\u0107 nazw\u0119 filtra.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty PA, kt\u00f3re zosta\u0142y skorygowane w ca\u0142o\u015bci?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select t.TrN_ZwrID from CDN.TraNag t where t.TrN_ZwrId = A.TrN_TrNID and t.TrN_Bufor=0 and (t.TrN_Rodzaj=305001 or t.TrN_Rodzaj=305005) group by t.TrN_ZwrID having SUM(t.Trn_RazemBrutto)*(-1)= A.Trn_RazemBrutto)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty RO, kt\u00f3re maj\u0105 oraz nie maj\u0105 powi\u0105zania z dokumentami PWP?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\na) maj\u0105 powi\u0105zanie z dokumentami PWP:<\/p>\n<p><code>EXISTS(SELECT TrN_TrNId FROM CDN.TraNag WHERE TrN_RelTrNId = A.TrN_TrNId AND TrN_TypDokumentu = 317)<\/code><br \/>\nb) nie maj\u0105 powi\u0105zania z dokumentami PWP:<\/p>\n<p><code>NOT EXISTS (SELECT TrN_TrNId FROM CDN.TraNag WHERE TrN_RelTrNId = A.TrN_TrNId AND TrN_TypDokumentu = 317)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie RO dokumenty, wg numeru obcego zam\u00f3wienia? <\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>TrN_NumerObcy=?@S100|Nr zam\u00f3wienia:''<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty wg kontrahent\u00f3w dla pola Nabywca?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT KnT_KntID, Knt_kod from CDN.kontrahenci)|kontrah|&amp;kontrah:REG= @? PAR@<br \/>\nTrn_PodID=??kontrah<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty wg kontrahent\u00f3w dla pola Odbiorca?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|kod|&amp;kod:REG=!NIEOKRE\u015aLONY! @? PAR@<br \/>\nTrN_OdbiorcaTyp = 1 AND TrN_OdbId = ??kod<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w zawieraj\u0105cych dany atrybut dokumentu?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|atr|&amp;atr:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where DAt_TrNId = TrN_TrNId and DAt_DeAId = ??atr)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w posiadaj\u0105cych dany atrybut dokumentu, kt\u00f3rego warto\u015b\u0107 zawiera podany przez u\u017cytkownika tekst?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|atr|&amp;atr:REG= @? PAR@<br \/>\n@PAR ?@S50|tekst_atrybutu|&amp;tekst_atrybutu:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where DAt_TrNId = TrN_TrNId and DAt_DeAId = ??atr and DAt_WartoscTxt Like '%'+??tekst_atrybutu+'%')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 transakcje, gdzie na pozycjach u\u017cyto atrybutu (bez podawania warto\u015bci tego atrybutu)?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce [Zaawansowane], w polu Filtr SQL nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towar\u00f3w, 0, 1))|Atrybut|&amp;Atrybut: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\nEXISTS(<br \/>\nSELECT [TrE_TrNId]\nFROM [CDN].[TraElem] JOIN [CDN].[TraElemAtr] ON [TrE_TrEID] = [TrA_TrEId] AND<br \/>\n[TrE_TrNId] = [A].[TrN_TrNID]\nWHERE [TrA_DeAId]=??Atrybut)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 transakcje, gdzie na pozycjach u\u017cyto atrybutu z okre\u015blon\u0105 warto\u015bci\u0105?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(SELECT [DeA_DeAId], [DeA_Kod], [DeA_Nazwa] FROM [CDN].[DefAtrybuty] WHERE [DeA_Typ]= 1|GENERICLOOKUP(Atrybuty towar\u00f3w, 0, 1))|Atrybut|&amp;Atrybut: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\n@PAR ?@S100|Wartosc|&amp;Warto\u015b\u0107: @? @MSG(Warto\u015b\u0107 atrybutu) @TIP(Warto\u015b\u0107 atrybutu) PAR@<br \/>\nEXISTS(<br \/>\nSELECT [TrE_TrNId]\nFROM [CDN].[TraElem] JOIN [CDN].[TraElemAtr] ON [TrE_TrEID] = [TrA_TrEId] AND<br \/>\n[TrE_TrNId] = [A].[TrN_TrNID]\nWHERE [TrA_DeAId]=??Atrybut<br \/>\nAND [TrA_Wartosc]=??Wartosc)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty do kt\u00f3rych nie by\u0142y wykonane korekty?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>not exists (select t.TrN_ZwrID from CDN.TraNag t where t.TrN_ZwrId = A.TrN_TrNID)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty wystawione w dniu dzisiejszym ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>TrN_DataDok = {DateSQL(Today())}<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty po wybranej formie p\u0142atno\u015bci?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = FPl_FPlId, Kod = FPl_Nazwa From CDN.FormyPlatnosci)|formy_platnosci|&amp;formy_platnosci:REG= @? PAR@<br \/>\nTrN_FPlId = ??formy_platnosci<\/code><\/p>\n<p>Je\u017celi chodzi nie tyle o konkretn\u0105 form\u0119 p\u0142atno\u015bci co o typ formy p\u0142atno\u015bci to nale\u017ca\u0142oby odwo\u0142a\u0107 si\u0119 do tabeli CDN.FormyPlatnosci. Wyra\u017cenie:<\/p>\n<p><code>EXISTS(SELECT * FROM CDN.FormyPlatnosci WHERE FPl_FPlId = TrN_FPlId AND FPl_Typ=1)<br \/>\nwpisane w polu <strong>Filtr SQL<\/strong> wyfiltruje dokumenty, kt\u00f3re maj\u0105 form\u0119 p\u0142atno\u015bci o typie \"got\u00f3wka\".<br \/>\nFPl_Typ=2 - typ formy p\u0142atno\u015bci \"przelew\".<br \/>\nFPl_Typ=3 - karta kredytowa<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w po kategorii dokumentu ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:REG=-brak- @? PAR@ TrN_KatID = ??Kategoria<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w po kategorii elementu?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&amp;Kategoria:REG= @?TIP(Wybierz kategori\u0119) PAR@ exists (select * from CDN.TraElem where Trn_TrnId=Tre_TrnId and Tre_KatId = ??kategoria)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w aby wy\u015bwietla\u0142y si\u0119 wszystkie dokumenty opr\u00f3cz tych w buforze, korekt i anulowanych?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>IsNull(TrN_Korekta,0)=0 AND TrN_Bufor=0<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty, na kt\u00f3rych wyst\u0119puj\u0105 towary\/ us\u0142ugi z okre\u015blonej grupy towarowej?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPTWGLISTA())|grupa|&amp;grupa:REG= @? PAR@<br \/>\nexists( SELECT TrE_TrEID FROM CDN.TraElem JOIN CDN.Towary ON TrE_TwrID = Twr_TwrID WHERE TrE_TrNID = A.TrN_TrNID AND Twr_TwGGIDNumer=??grupa )<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty wg. daty wystawienia oraz dowolnego fragmentu numeru pe\u0142nego dokumentu?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|Data|&amp;Data wystawienia:REG=75828 @? PAR@ @PAR ?@S20|wartosc|&amp;Podaj wartosc:REG= @? PAR@<br \/>\nTrN_NumerPelny LIKE '%' + ??wartosc+'%' and TrN_DataWys=??Data<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty, gdzie wyst\u0119puj\u0105 elementy z okre\u015blon\u0105 cech\u0105 i warto\u015bci\u0105?<\/strong><\/h4>\n<p>Dla cech typu data, do pola warto\u015b\u0107 nale\u017cy wpisa\u0107 dat\u0119 wg formatu RRRR-MM-DD. \u017baden inny format nie b\u0119dzie rozpoznany przez filtr.<br \/>\nZapytanie nale\u017cy wpisa\u0107 z poziomu konstruktora filtra, bezpo\u015brednio na zak\u0142adce Zaawansowane, w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTATWR())|CechaID|&amp;Cecha: @? @MSG(Wyb\u00f3r z listy) @TIP(Wyb\u00f3r z listy) PAR@<br \/>\n@PAR ?@S255|CechaWartosc|&amp;Warto\u015b\u0107: @? @MSG(Warto\u015b\u0107 cechy) @TIP(Warto\u015b\u0107 cechy) PAR@<br \/>\nEXISTS( SELECT TrE_TrEID FROM [CDN].[TraElem] JOIN [CDN].[TraSElemDost] ON [TrE_TrEID] = [TsD_TrEID] WHERE TrE_TrNID = A.TrN_TrNID AND (<br \/>\n(ISNULL([TsD_Cecha1_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha1_Format] = 4 AND [TsD_Cecha1_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha1_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha1_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha2_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha2_Format] = 4 AND [TsD_Cecha2_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha2_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha2_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha3_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha3_Format] = 4 AND [TsD_Cecha3_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha3_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha3_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha4_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha4_Format] = 4 AND [TsD_Cecha4_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha4_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha4_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha5_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha5_Format] = 4 AND [TsD_Cecha5_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha5_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha5_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha6_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha6_Format] = 4 AND [TsD_Cecha6_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha6_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha6_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha7_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha7_Format] = 4 AND [TsD_Cecha7_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha7_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha7_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha8_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha8_Format] = 4 AND [TsD_Cecha8_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha8_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha8_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha9_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha9_Format] = 4 AND [TsD_Cecha9_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha9_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha9_Wartosc] END = ??CechaWartosc)<br \/>\nOR (ISNULL([TsD_Cecha10_DeAId], 0) = ??CechaID AND CASE WHEN ([TsD_Cecha10_Format] = 4 AND [TsD_Cecha10_Wartosc] &lt;&gt; '') THEN CONVERT(VARCHAR(10), DATEADD(\"day\", CONVERT(INT, [TsD_Cecha10_Wartosc]), '1800-12-28'), 21) ELSE [TsD_Cecha10_Wartosc] END = ??CechaWartosc)<br \/>\n))<\/code><\/p>\n<p>Filtr mo\u017cna zastosowa\u0107 r\u00f3wnie\u017c na li\u015bcie zasob\u00f3w, w\u00f3wczas nale\u017cy zmodyfikowa\u0107 w wyra\u017ceniu WHERE relacje po polach TrE_TwrId=A.Twr_TwrId<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 zasob\u00f3w\/cennik tylko do tych towar\u00f3w kt\u00f3re s\u0105 powi\u0105zane z dostawc\u0105 (zdefiniowany kontrahent na karcie towaru zak\u0142adka Dodatkowe pole Dostawca)?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKNTLISTA())|KontrahentId|&amp;Kontrahenci:REG=\u2019!NIEOKRE\u015aLONY!\u2019 @? PAR@<br \/>\nTwr_KntId = ??KontrahentId<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie dokument\u00f3w PZ, dokumenty nie powi\u0105zane z FRR?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>not exists (select trr_trrid from cdn.tranagrelacje where trn_trnid = trr_trnid and trr_fatyp = 301) or trn_faid not in (select trn_trnid FROM CDN.TraNag JOIN cdn.TraNagRelacje ON TrN_TrNId = TrR_TrNId  where TrR_TrNId = TrN_TrNID and TrR_FaTyp=350)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie dokument\u00f3w PZ, dokumenty powi\u0105zane z FRR?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select trr_trrid from cdn.tranagrelacje where trn_trnid = trr_trnid and trr_fatyp = 301) and trn_faid in (select trn_trnid FROM CDN.TraNag JOIN cdn.TraNagRelacje ON TrN_TrNId = TrR_TrNId  where TrR_TrNId = TrN_TrNID and TrR_FaTyp=350)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie dokument\u00f3w RO, dokumenty ze statusem w Realizacji do kt\u00f3rych wygenerowano dokument FA bez WZ?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from cdn.tranagrelacje where TrR_FaTyp = 302 and trn_trnid = trr_trnid and trn_zwroconocalailosc = 2)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie faktur sprzeda\u017cy, dokumenty korekt ilo\u015bciowych do dokument\u00f3w pierwotnych, kt\u00f3re nie zosta\u0142y przekszta\u0142cone do dokumentu PW?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>not exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and (TrR_FaTyp=303 or TrR_FaTyp=306) and trn_rodzaj = 302101) and trn_rodzaj = 302101<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 na li\u015bcie faktur, faktury zaliczkowe kt\u00f3re nie maj\u0105 skojarzonych faktur finalnych?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Trn_TrnId not in ( select A.TrR_FaId from cdn.tranagrelacje B left outer join cdn.Tranag T on TrR_TrNID = T.TrN_TrNID left outer join cdn.TraNagRelacje A on B.TrR_FaId = A.TrR_TrNId  where B.TrR_FaTyp = 320 AND TrN_Rodzaj in (302009, 302004)) and trn_rodzaj = 302200<\/code><\/p>\n<h4><strong>Wyszukiwanie dokument\u00f3w z konkretnej dostawy. Filtr dzia\u0142a na li\u015bcie WZ, wy\u015bwietli te dokumenty WZ, kt\u00f3re rozchodowuj\u0105 towar z konkretnego (wskazanego w filtrze) PZ.<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|numer|&amp;numer:REG= @? PAR@<br \/>\nexists (select * from CDN.TraNag TRN2, CDN.TraElem TRE1, CDN.TraElem TRE2, CDN.TraSElem TRS1, CDN.TraSElem TRS2 where A.TrN_TrNID=TRE1.TrE_TrNID and TRS1.TrS_TrEId=TRE1.TrE_TrEID and TRS1.TrS_TrSIdDost=TRS2.TrS_TrSId and TRS2.TrS_TrEId = TRE2.TrE_TrEID and TRE2.TrE_TrNId=TRN2.TrN_TrNID and TRN2.TrN_NumerPelny like '%'+??numer+'%')<\/code><\/p>\n<h4><strong>Wyszukiwanie dokument\u00f3w z konkretnych wyda\u0144. Filtr dla listy dokument\u00f3w PZ, po wskazaniu numeru dokumentu WZ wy\u015bwietli dokumenty PZ kt\u00f3rymi towar z WZ zosta\u0142 przyj\u0119ty.<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|numer|&amp;numer:REG= @? PAR@<br \/>\nexists (select * from CDN.TraNag TRN2, CDN.TraElem TRE1, CDN.TraElem TRE2, CDN.TraSElem TRS1, CDN.TraSElem TRS2 where A.TrN_TrNID=TRE1.TrE_TrNID and TRS1.TrS_TrEId=TRE1.TrE_TrEID and TRS1.TrS_TrSId=TRS2.TrS_TrSIdDost and TRS2.TrS_TrEId = TRE2.TrE_TrEID and TRE2.TrE_TrNId=TRN2.TrN_TrNID and TRN2.TrN_NumerPelny like '%'+??numer+'%')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary z cen\u0105 domy\u015bln\u0105 w walucie np. EUR?<\/strong><\/h4>\n<p>W menu <em>Og\u00f3lne\/ Cennik<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TwrCeny where TwC_TwrID=Twr_TwrId and TwC_TwCNumer=Twr_TwCNumer and TwC_Waluta='EUR')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary z okre\u015blonym kodem CN na li\u015bcie cennikowej?<\/strong><\/h4>\n<p>Nale\u017cy za\u0142o\u017cy\u0107 filtr zaawansowany kt\u00f3ry b\u0119dzie korzysta\u0142 z tabeli CDN.KodyCN. Filtr b\u0119dzie wygl\u0105da\u0142 tak:<\/p>\n<p><code>@PAR ?@R(SELECT KCN_KcNID, KCN_Kod From CDN.KodyCN)|Kody_CN|&amp;Kody CN: @? PAR@<br \/>\nTwr_KCNID = ??Kody_CN<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary, kt\u00f3re nie maj\u0105 ustalonego kodu CN?<\/strong><\/h4>\n<p>W menu <em>Og\u00f3lne\/ Cennik<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Twr_KCNID is null<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary, kt\u00f3re nie maj\u0105 ustalonego kraju pochodzenia?<\/strong><\/h4>\n<p>W menu <em>Og\u00f3lne\/ Cennik<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Twr_KrajPochodzenia = ''<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary, kt\u00f3re nie maj\u0105 wprowadzonej wagi lub waga jest zerowa?<\/strong><\/h4>\n<p>W menu <em>Og\u00f3lne\/ Cennik<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Twr_WagaKG is null or Twr_WagaKG = 0<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 towary z przypisan\u0105 jedn\u0105 grup\u0105?<\/strong><\/h4>\n<p>W menu <em>Og\u00f3lne\/ Cennik<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select count (TwG_Kod) from CDN.TwrGrupy Where TwG_GIDTyp = 16 and TwG_GIDNumer = Twr_TwrId Group by TwG_Kod Having count (TwG_Kod) =1)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 Dokumenty WZ maj\u0105ce powi\u0105zanie (b\u0105d\u017a nie maj\u0105ce powi\u0105zania) z Faktur\u0105 Sprzeda\u017cy?<\/strong><\/h4>\n<p>W menu<em> Handel\/ Wydania zewn\u0119trzne<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\n&#8211; w celu znalezienia dokument\u00f3w WZ maj\u0105cych powi\u0105zanie z faktur\u0105:<\/p>\n<p><code>exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and TrR_FaTyp=302)<\/code><\/p>\n<p>&#8211; w celu znalezienia dokument\u00f3w WZ nie maj\u0105cych powi\u0105zania z faktur\u0105:<\/p>\n<p><code>not exists (select * from CDN.TraNagRelacje where TrR_TrNId = TrN_TrNID and TrR_FaTyp=302)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 Dokumenty WZ powi\u0105zane z Fakturami Sprzeda\u017cy i Paragonami, gdzie daty wystawienia dokument\u00f3w handlowych znajduj\u0105 si\u0119 w podanym przedziale?<\/strong><\/h4>\n<p>W menu<em> Handel\/ Wydania zewn\u0119trzne<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data_od|&amp;data od:REG={Today()} @? PAR@<br \/>\n@PAR ?@D17|data_do|&amp;data do:REG={Today()} @? PAR@<br \/>\nExists (select * from CDN.TraNag Z where A.TrN_FaId = Z.TrN_TrNID and Z.TrN_DataWys&gt;= ??data_od and Z.TrN_DataWys &lt;= ??data_do and A.Trn_TypDokumentu=306 and (Z.TrN_TypDokumentu=302 or Z.TrN_TypDokumentu=305)) Druga wersja filtra z wykorzystaniem tabeli CDN.TraNagRelacje: @PAR ?@D17|data_od|&amp;data od:REG={Today()} @? PAR@ @PAR ?@D17|data_do|&amp;data do:REG={Today()} @? PAR@ exists(select * from CDN.TraNagRelacje join CDN.TraNag Z on Trr_faid = z.trn_trnid where TrR_TrNId = A.TrN_TrNID and TrR_FaTyp in (302,305) and Z.TrN_DataWys&gt;= ??data_od and Z.TrN_DataWys<br \/>\n&lt;= ??data_do)<\/code><\/p>\n<h4><strong>Jak na li\u015bcie dokument\u00f3w WZ ukry\u0107 te maj\u0105ce powi\u0105zania z Faktur\u0105 Sprzeda\u017cy\/Faktur\u0105 koryguj\u0105c\u0105, kt\u00f3re zosta\u0142y ca\u0142kowicie zwr\u00f3cone?<\/strong><\/h4>\n<p>W menu<em> Handel\/ Wydania zewn\u0119trzne<\/em>, w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>TrN_TrNID NOT IN (SELECT TrR_TrNID FROM CDN.TraNagRelacje WHERE TrR_FaTyp IN (302)) AND TrN_TrNID NOT IN ( SELECT Zrd.Tre_TrNID from CDN.TraElem [Kor] LEFT JOIN CDN.TraElem [Zrd] on Kor.TrE_ZwrId = Zrd.TrE_TrEId WHERE Kor.TrE_Aktywny &lt;&gt; 0 AND Zrd.TrE_TypDokumentu = 306 GROUP BY Zrd.TrE_TrNID, Zrd.TrE_Ilosc HAVING Zrd.Tre_Ilosc + SUM(Kor.Tre_Ilosc) &lt;= 0) AND TrN_Korekta = 0 AND TrN_Anulowany = 0<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty po opisie pozycji?<\/strong><\/h4>\n<p>Na li\u015bcie dokument\u00f3w w module <em>Handel\/Faktury<\/em> w Konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@ABC(' ')@? PAR@<br \/>\n@PAR ?@LS20(SELECT Tre_TrnId, TrE_TwrOpis AS [Opis], TrE_TwrKod AS [Kod], TrE_TwrNazwa AS [Nazwa] FROM CDN.TraElem<br \/>\nWHERE REPLACE(REPLACE(REPLACE(REPLACE(TrE_TwrOpis,CHAR(13),''), char(10),''),CHAR(9), ''),' ','') &lt;&gt; '' AND TrE_TypDokumentu = 302<br \/>\nORDER BY TrE_TwrOpis |GENERICLOOKUP(Towary z opisem na dokumencie, 0, 1))|TwrOpis|&amp;Opis Towaru:| 6@? PAR@<br \/>\nTrn_TrnId = ??TwrOpis<\/code><\/p>\n<p><a name=\"crm\"><\/a><\/p>\n<h3><strong>CRM<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 kontakt\u00f3w\/ zada\u0144 aby widoczne by\u0142y CRM-y zmodyfikowane danego dnia?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data|&amp;Data:REG={Today()} @? PAR@<br \/>\nFLOOR(CONVERT(DECIMAL(14,4), CRK_TS_MOD)) = FLOOR(CONVERT(DECIMAL(14,4), CONVERT(DATETIME,??data ,120)))<\/code><\/p>\n<h4><strong>Jak zrobi\u0107 aby w\u0142a\u015bciciel firmy na li\u015bcie kontakt\u00f3w i zada\u0144 widzia\u0142 swoje zadania i zada\u0144 podw\u0142adnych, natomiast podw\u0142adni widz\u0105 tylko i wy\u0142\u0105cznie swoje zadania ?<\/strong><\/h4>\n<p>W Konfiguracji\/ Program\/ U\u017cytkowe\/ Parametry nale\u017cy zaznaczy\u0107 parametr <strong>Stosuj filtry obowi\u0105zkowe<\/strong>.<br \/>\nNa zak\u0142adce Opcje w Typie filtra nale\u017cy zaznaczy\u0107 <strong>Obowi\u0105zkowy<\/strong> oraz z menu wybra\u0107 akronim Operatora.<br \/>\nDo zadania mo\u017ce by\u0107 przypisany pracownik lub operator. W bazie danych ID pracownika jak i operatora mo\u017ce by\u0107 takie samo albo r\u00f3\u017cne, dlatego w filtrze mo\u017cna wykorzysta\u0107 r\u00f3wnie\u017c pole CRK_OpiekunTyp gdzie typ=8 to operator a typ =3 to pracownik.<br \/>\nW polu <strong>Filtr SQL<\/strong> mo\u017cna wpisa\u0107:<\/p>\n<p><code>CRK_OpiekunId= {OperatorID} and CRK_OpiekunTyp =8<\/code><\/p>\n<p>Gdzie {OperatorID} oznacza ID operatora aktualnie zalogowanego.<br \/>\nNa zak\u0142adce <strong>[Opcje]<\/strong> w Typie filtra nale\u017cy zaznaczy\u0107 <strong>Obowi\u0105zkowy<\/strong> oraz z menu wybra\u0107 akronim Operatora.<\/p>\n<p><a name=\"od\"><\/a><\/p>\n<h3><strong>Obieg dokument\u00f3w<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 w bibliotece dokument\u00f3w wszystkie dokumenty kt\u00f3re nie maj\u0105 powi\u0105za\u0144 z transakcjami ?<\/strong><\/h4>\n<p>B\u0119d\u0105 to zar\u00f3wno dokumenty firmowe, jak i wsp\u00f3lne (te z zasady nie s\u0105 kojarzone z innymi transakcjami). Tak wi\u0119c ewentualnie nale\u017cy dodatkowo zaw\u0119zi\u0107 list\u0119 dokument\u00f3w tylko do firmowych (parametr na li\u015bcie).<br \/>\nZapytanie nale\u017cy wpisa\u0107 z poziomu konstruktora filtra, bezpo\u015brednio na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong>.<\/p>\n<p><code>not exists (select * from CDN.DokRelacje Z where A.Dnv_DonId = Z.Dor_ParentId and Z.Dor_ParentTyp = 750)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty z biblioteki dokument\u00f3w, kt\u00f3re s\u0105 na zadanym etapie realizacji (etap bie\u017c\u0105cy) i etap ten jest etapem g\u0142\u00f3wnym?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By<br \/>\nSE_Symbol )|EtapID|&amp;Etap:1 @? PAR@<br \/>\nexists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID and A.DNV_EtapBiezacyLp=DnPr_Lp and DnPr_Poziom=1)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty z biblioteki dokument\u00f3w, kt\u00f3re s\u0105 na zadanym etapie realizacji (etap bie\u017c\u0105cy)?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By<br \/>\nSE_Symbol )|EtapID|&amp;Etap:1 @? PAR@<br \/>\nexists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID and A.DNV_EtapBiezacyLp=DnPr_Lp)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty z biblioteki dokument\u00f3w, kt\u00f3re w schemacie maj\u0105 zadany etap realizacji?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = SE_SEID, Kod = SE_Symbol From {OPBK()}.CDN.SekEtapy Order By<br \/>\nSE_Symbol )|EtapID|&amp;Etap:1 @? PAR@<br \/>\nexists (select * from CDN.DokNagProcesEtapy, CDN.DokNagEtapy where DNV_DoNID=DnPr_DoNID and DnPr_DnPrID=DnE_DnPrID and DnE_EtapID=??EtapID)<\/code><\/p>\n<p><a name=\"kist\"><\/a><\/p>\n<h3><strong>Ksi\u0119gowo\u015b\u0107 i \u015arodki Trwa\u0142e<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 z rejestr\u00f3w VAT faktury, kt\u00f3re maj\u0105 dat\u0119 deklaracji VAT-7 inn\u0105 ni\u017c rejestr VAT?<\/strong><\/h4>\n<p>W Rejestrze (zakupu lub sprzeda\u017cy) VAT, w Konstruktorze filtra, na zak\u0142adce: <strong>[Zaawansowane]<\/strong>nale\u017cy wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>Van_RokMies&lt;&gt;Van_DeklRokMies<\/code><\/p>\n<p>Filtr zastosowany z zak\u0142adki <em>Rejestr VAT<\/em>, zakres dat: od 2018\/01\/01 do 2018\/01\/31 pozwoli wy\u015bwietli\u0107 np. faktur\u0119 wystawion\u0105 5 stycznia 2018, a maj\u0105c\u0105 wej\u015b\u0107 na deklaracj\u0119 w lutym 2018.<\/p>\n<h4><strong>Przegl\u0105dam dokumenty RVAT za pierwszy kwarta\u0142, chcia\u0142bym wyfiltrowa\u0107 te, kt\u00f3re s\u0105 rozliczane w deklaracjach za nast\u0119pne miesi\u0105ce. Jak mog\u0119 to wykona\u0107?<\/strong><\/h4>\n<p>Polem odpowiedzialnym za rozliczenie wpisu w deklaracji za dany miesi\u0105c to pole: VaN_DeklRokMies. Pole to agreguje w postaci liczby ca\u0142kowitej rok oraz miesi\u0105c, np.: dokument przeznaczony do rozliczenia w deklaracji za kwiecie\u0144 2018 b\u0119dzie w tym polu posiada\u0142 wpis : 201804<br \/>\nMo\u017cemy, wi\u0119c wprowadzi\u0107 filtr zaawansowany , kt\u00f3ry b\u0119dzie wykorzystywa\u0142 to pole wpisuj\u0105c w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>@PAR ?@D17|DATA_OD|&amp;Od :{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DATA_DO|&amp;Do :{DateClwFirstDay('m')} @? PAR@<br \/>\nYEAR(??DATA_OD ) * 100 + MONTH(??DATA_OD) &lt;=VaN_DeklRokMies and YEAR(??DATA_DO ) * 100 + MONTH(??DATA_DO) &gt;=VaN_DeklRokMies<\/code><\/p>\n<p>Filtr przed uruchomieniem b\u0119dzie odpytywa\u0142 o daty okre\u015blaj\u0105ce przedzia\u0142 &#8211; Od i Do. \u2013 z wskazanej daty znaczenie b\u0119d\u0105 mia\u0142y jedynie miesi\u0105c oraz rok.<\/p>\n<h4><strong>Czy mo\u017cna utworzy\u0107 filtr dla Rejestru VAT po akronimie pracownika wybranego na formatce faktury na zak\u0142adce Kontrahent?<\/strong><\/h4>\n<p>W polu <strong>Filtr SQL<\/strong> mo\u017cna wpisa\u0107:<\/p>\n<p><code>VaN_PodZalId=(select Pre_PreID from cdn.pracetaty where Pre_kod like ?@S100|Akronim pracownika:'') AND VaN_PodmiotZalTyp=3<\/code><\/p>\n<p>Przed odfiltrowaniem listy program b\u0119dzie pyta\u0142 o akronim pracownika.<br \/>\nMo\u017cna r\u00f3wnie\u017c pos\u0142u\u017cy\u0107 si\u0119 deklaracj\u0105 parametru dynamicznego i przekaza\u0107 do zapytania kod pracownika wy\u015bwietlony na li\u015bcie \u2013 w polu <strong>Filtr SQL<\/strong> wpisujemy:<\/p>\n<p><code>@PAR ?@LS20(OP_PRCW.DLL|CALLLOOKUPPRILISTA())|pracownik|&amp;pracownik:REG= @? PAR@<br \/>\nVaN_PodZalId=??pracownik AND VaN_PodmiotZalTyp=3<\/code><\/p>\n<h4><strong>Jak z listy rejestru VAT odfiltrowa\u0107 te faktury, kt\u00f3re s\u0105 nierozliczone lub rozliczone cz\u0119\u015bciowo i dodatkowo forma p\u0142atno\u015bci jest r\u00f3\u017cna od got\u00f3wki?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID and (Bzd_Kwota&lt;&gt;Bzd_KwotaRoz)) AND VaN_FplID&lt;&gt;1<\/code><\/p>\n<h4><strong>Jak w Rejestrach VAT wyfiltrowa\u0107 faktury z podan\u0105 kategori\u0105 tak aby wyfiltrowan\u0105 list\u0119 mo\u017cna by\u0142o zaznaczy\u0107 i zaksi\u0119gowa\u0107?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&amp;Kategoria: @? PAR@<br \/>\nVaN_KatId = ??Kategoria<\/code><\/p>\n<p>Program b\u0119dzie pyta\u0142 o kategori\u0119 przed filtrowaniem i dodatkowo b\u0119dzie j\u0105 mo\u017cna wybra\u0107 z listy kategorii. Po zaw\u0119\u017ceniu listy zaznaczamy faktury np. kombinacj\u0105 klawiszy <strong>CTRL<\/strong> + <strong>A<\/strong> i ksi\u0119gujemy wybranym schematem.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury w Rejestrach VAT zawieraj\u0105ce kategorie szczeg\u00f3\u0142owe nale\u017c\u0105ce do zadanej kategorii og\u00f3lnej?<\/strong><\/h4>\n<p>a) dla kategorii nag\u0142\u00f3wka dokumentu:<br \/>\nW konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select Kat_KodOgolny, Kat_KodSzczegol from cdn.kategorie where VaN_KatID=Kat_KatID AND Kat_KodOgolny=?@S100|Kategoria og\u00f3lna:'')<\/code><\/p>\n<p>b) dla kategorii wybranych w elementach faktury VAT (kategorie przy poszczeg\u00f3lnych stawkach VAT):<br \/>\nW konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>Exists (select * from cdn.vattab Join cdn.kategorie on vat_katid = kat_katid where vat_vanid = van_vanid and Kat_KodOgolny=?@S100|Kategoria og\u00f3lna:'')<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 w Rejestrach VAT list\u0119 faktur ca\u0142kowicie rozliczonych i zakwalifikowanych do danej deklaracji VAT-7?<\/strong><\/h4>\n<p>Taka lista mo\u017ce by\u0107 potrzebna tym firmom, kt\u00f3re potrzebuj\u0105 ustali\u0107 warto\u015b\u0107 zap\u0142aconych Faktur Zakupu dla potrzeb ustalenia kwoty VAT do zwrotu na rachunek bankowy podatnika.<br \/>\nAby zrobi\u0107 wydruk takich faktur, nale\u017cy:<br \/>\n1. Zbudowa\u0107 filtr: na zak\u0142adce <strong>[Zaawansowane]<\/strong> w Konstruktorze filtra w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>VaN_DeklRokMies=?@N-15.4|Rok i miesi\u0105c VAT-7:0<\/code><\/p>\n<p>2. Na zak\u0142adce <em>Rejestr VAT<\/em> w Rejestrach VAT, zaw\u0119zi\u0107 list\u0119 faktur, za pomoc\u0105 ww. filtra, do tych kt\u00f3re s\u0105 zakwalifikowane tylko do deklaracji np. listopadowej (gdy przed odfiltrowaniem listy program zapyta o rok<br \/>\ni miesi\u0105c deklaracji \u2013 wpisa\u0107: 201811).<br \/>\n3. Wykona\u0107 odpowiedni wydruk dokument\u00f3w rozliczonych z menu wydruk\u00f3w.<br \/>\nList\u0119 faktur mo\u017cna uzyska\u0107 r\u00f3wnie\u017c bezpo\u015brednio na ekranie.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID AND BZd_DokumentTyp=2 AND (BZd_KwotaSys=BZd_KwotaRozSys) AND VaN_DeklRokMies=?@N-15.4|Rok i miesi\u0105c VAT-7:0)<\/code><\/p>\n<p>Przed filtrowaniem program pyta o dat\u0119 deklaracji VAT-7 \u2013 nale\u017cy wpisa\u0107 rok i miesi\u0105c w formacie np. 201611. Tak wyfiltrowanej listy nie da si\u0119 wydrukowa\u0107 ze wzgl\u0119du na sk\u0142adni\u0119 filtra, ale mo\u017cna j\u0105 wys\u0142a\u0107 do arkusza Excel.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 faktur po kolumnie KPiR, do kt\u00f3rej dokumenty maj\u0105 by\u0107 zaksi\u0119gowane?<\/strong><\/h4>\n<p>Na li\u015bcie faktur w rejestrze VAT, w konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT Id = 1, Kod = 'Sprzeda\u017c' UNION SELECT Id = 2, Kod = 'Pozosta\u0142e' UNION SELECT Id = 3, Kod = 'Towary' UNION SELECT Id = 4, Kod = 'Uboczne' UNION SELECT Id = 5, Kod = 'Reklama' UNION SELECT Id = 6, Kod = 'Wynagrodzenia' UNION SELECT Id = 7, Kod = 'Inne' UNION SELECT Id = 8, Kod = 'Zasz\u0142o\u015bci')|Kolumna|&amp;Kolumna: @? PAR@<br \/>\nexists (Select * From CDN.VatTab Where VaT_VaNID = VaN_VaNId And VaT_KolumnaKPR = ??Kolumna )<\/code><\/p>\n<p>Filtr ma tak\u0105 w\u0142a\u015bciwo\u015b\u0107, \u017ce je\u015bli jest jaki\u015b zapis, kt\u00f3ry ma by\u0107 zaksi\u0119gowany w cz\u0119\u015bci do jednej kolumny,<br \/>\na w cz\u0119\u015bci do innej, to na li\u015bcie wida\u0107 go w pe\u0142nej kwocie, a na wydruku w kwocie do zaksi\u0119gowania do wskazanej kolumny.<\/p>\n<h4><strong>Jak uzyska\u0107 list\u0119 transakcji nierozliczonych, pochodz\u0105cych z Rejestru VAT, na danym koncie rozrachunkowym?<\/strong><\/h4>\n<p>W menu Ksi\u0119gowo\u015b\u0107\/Ksi\u0119gowo\u015b\u0107\/ Dzienniki, zak\u0142adka Konto, nale\u017cy wybra\u0107 odpowiednie konto, a w Konstruktorze filtra, na zak\u0142adce Zaawansowane, w polu <strong>Filtr SQL<\/strong> wpisa\u0107:<\/p>\n<p><code>exists(select * from CDN.VatNag join CDN.BnkZdarzenia on VaN_VaNID=BZd_DokumentID where VaN_DekID=DeN_DeNId AND Bzd_DokumentTyp=2 AND (Bzd_Kwota-Bzd_KwotaRoz&lt;&gt;0)) OR exists(select * from CDN.VatNag join CDN.TraNag on TrN_VaNId=VaN_VaNID join CDN.BnkZdarzenia on TrN_TrNID=BZd_DokumentID where VaN_DekID=DeN_DeNId AND Bzd_DokumentTyp=1 AND (Bzd_Kwota-Bzd_KwotaRoz&lt;&gt;0))<\/code><\/p>\n<p>Filtr zaw\u0119zi list\u0119 do tych dekret\u00f3w, kt\u00f3re pochodz\u0105 z Rejestru VAT (zosta\u0142y wprowadzone bezpo\u015brednio do Rejestru VAT lub przes\u0142ane z modu\u0142u FA i zaksi\u0119gowane z Rejestru VAT) i nie s\u0105 rozliczone lub s\u0105 rozliczone cz\u0119\u015bciowo.<\/p>\n<h4><strong>Jak sprawdzi\u0107 czy poprawnie wprowadzono Kwoty dodatkowe na fakturach w Rejestrze VAT?<\/strong><\/h4>\n<p>Je\u017celi jest jaka\u015b regu\u0142a np. zwykle na Fakturach Zakupu rozksi\u0119gowujemy kwot\u0119 netto na r\u00f3\u017cne konta \u201eczw\u00f3rek\u201d czy \u201epi\u0105tek\u201d i suma ksi\u0119gowa\u0144 po stronie Wn ma si\u0119 r\u00f3wna\u0107 kwocie netto dokumentu, to mo\u017cna zbudowa\u0107 filtr, kt\u00f3ry b\u0119dzie wy\u015bwietla\u0142 faktury nie spe\u0142niaj\u0105ce tego warunku.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>not exists (select * from CDN.KwotyDodatkowe where Kdd_DokumentID=VaN_VaNID AND KDD_DokumentTyp=2 AND Kdd_Segment1&lt;&gt;''<br \/>\nhaving SUM(Kdd_Kwota) = VaN_RazemNetto)<\/code><\/p>\n<p>Zostan\u0105 wyfiltrowane wszystkie pozycje r\u00f3\u017cne od tych, na kt\u00f3rych suma kwot dodatkowych WN jest r\u00f3wna kwocie netto faktury.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 \u015brodki trwa\u0142e aktywne, ca\u0142kowicie umorzone?<\/strong><\/h4>\n<p>Poni\u017cej przyk\u0142ad filtra, kt\u00f3ry wy\u015bwietli \u015brodki trwa\u0142e aktywne, kt\u00f3rych warto\u015b\u0107 bie\u017c\u0105ca bilansowa minus odpisy umorzeniowe = 0. Filtr nie uwzgl\u0119dnia historyczno\u015bci i bierze pod uwag\u0119 tylko amortyzacj\u0119 bilansow\u0105.<\/p>\n<p><code>SrT_Stan=0 and SrT_WartoscBilan + ( Select IsNull(Sum( SrH_KwotaBilan - SrH_KwotaUm ), 0) From CDN.TrwaleHist Where SrH_SrTId = SrT_SrTId And SrH_TypDokumentu&lt;&gt;4) = 0<\/code><\/p>\n<h4><strong>Jak w dziennikach ksi\u0119gowych wyfiltrowa\u0107 dekrety, kt\u00f3rych dokumenty \u017ar\u00f3d\u0142owe by\u0142y p\u0142atne got\u00f3wk\u0105?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> mo\u017cna wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.TraNag where<br \/>\nDeN_DeNId = TrN_DekId and TrN_FPlId=1) OR exists(select * from CDN.VatNag where DeN_DeNId=VaN_DekID AND VaN_FplID=1)<br \/>\nTrN_FPlId=1 i VaN_FplID=1 oznacza form\u0119 p\u0142atno\u015bci o ID 1. Standardowo jest to forma p\u0142atno\u015bci o nazwie \u201egot\u00f3wka\u201d.<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 r\u00f3\u017cnice kursowe, kt\u00f3re powsta\u0142y z rozliczenia dokument\u00f3w innych ni\u017c te pochodz\u0105ce z Ewidencji dodatkowej?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>''=''AND(BRK_LDokTyp='1' AND exists(select*from CDN.BnkZdarzenia where BRK_LDokID=Bzd_BzdID and BZd_DokumentTyp&lt;&gt;12))OR(BRK_PDokTyp='1' AND exists(select*from CDN.BnkZdarzenia where BRK_PDokID=Bzd_BzdID and BZd_DokumentTyp&lt;&gt;12))<\/code><\/p>\n<p>Powy\u017cszy filtr wy\u015bwietli r\u00f3\u017cnice kursowe, na kt\u00f3rych co najmniej jeden z dokument\u00f3w nie pochodzi z Ewidencji dodatkowej. Wyfiltrowane r\u00f3\u017cnice kursowe mo\u017cna zaznaczy\u0107 i zaksi\u0119gowa\u0107.<br \/>\nBRK_LDokTyp=&#8217;1&#8242; czyli \u017ce typ lewego dokumentu to dokument pochodz\u0105cy z tabeli BnkZdarzenia.<br \/>\nBZd_DokumentTyp=1 to typ dokumentu w BnkZdarzenia np.<br \/>\n1 \u2013 faktura z modu\u0142u Faktury;<br \/>\n12 \u2013 faktura z Rejestru VAT;<br \/>\n12 \u2013 dokument z Ewidencji dodatkowej;<\/p>\n<h4><strong>Jak sprawdzi\u0107, kt\u00f3ra faktura z rejestru zakup\u00f3w VAT nie zosta\u0142a zaksi\u0119gowana na konto VAT\u2019u lub zosta\u0142a zaksi\u0119gowana, ale kwota VAT z faktury nie zgadza si\u0119 z kwot\u0105 VAT na koncie?<\/strong><\/h4>\n<p>W Rejestrze zakup\u00f3w VAT mo\u017cna stworzy\u0107 filtr, kt\u00f3ry wy\u015bwietli te faktury, kt\u00f3rych suma kwoty VAT nie jest r\u00f3wna kwocie zaksi\u0119gowanej na konto VAT\u2019u. W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> mo\u017cna wpisa\u0107:<\/p>\n<p><code>VaN_DekId Is Not Null And Not Exists (Select DeK_AccId From CDN.DekretyKonta Join CDN.Konta On DeK_AccId = Acc_AccId Where DeK_DeNId = VaN_DekId And Acc_Numer='221-02' And Year(DeK_DataDok)<br \/>\n= Year(VaN_DataZap) And Month(DeK_DataDok) = Month(VaN_DataZap) Group By DeK_AccId Having Sum(DeK_Kwota) = VaN_RazemVat)<\/code><\/p>\n<p>W pole Acc_Numer=&#8217;221-2&#8242; nale\u017cy wpisa\u0107 numer konta VAT. W przypadku faktur \u2013 korekt na kwoty ujemne, filtr zadzia\u0142a prawid\u0142owo wtedy, gdy kwota VAT\u2019u jest ksi\u0119gowana na to samo konto co zwyk\u0142a faktury i po tej samej stronie tylko ze znakiem \u201eminus\u201d.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 w dziennikach ksi\u0119gowa\u0144 PK, kt\u00f3re zawieraj\u0105 pozycje zawieraj\u0105ce zadany opis?<\/strong><\/h4>\n<p>W menu Ksi\u0119gowo\u015b\u0107\/ Dzienniki, zak\u0142adka <strong>[Dzienniki]<\/strong>. W konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Szukaj|&amp;Szukaj: @? PAR@<br \/>\nDeN_Dokument Like '%'+ ??Szukaj +'%' Or DeN_Kategoria Like '%'+ ??Szukaj +'%' Or Exists (Select * From CDN.DekretyElem Where DeE_DeNId = DeN_DeNId And (DeE_Dokument Like '%'+ ??Szukaj +'%' Or DeE_Kategoria Like '%'+ ??Szukaj +'%'))<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w rozliczonych pochodz\u0105cych z Rejestru VAT lub ewidencji dodatkowej?<\/strong><\/h4>\n<p>Na li\u015bcie Dokument\u00f3w Rozliczonych w menu Kasa\/Bank w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from cdn.bnkzdarzenia where<br \/>\n(bzd_dokumenttyp=12 and brk_ldoktyp=1 and brk_ldokid = bzd_bzdid) or<br \/>\n(bzd_dokumenttyp=12 and brk_pdoktyp=1 and brk_pdokid = bzd_bzdid) or<br \/>\n(bzd_dokumenttyp=2 and brk_ldoktyp=1 and brk_ldokid = bzd_bzdid) or<br \/>\n(bzd_dokumenttyp=2 and brk_pdoktyp=1 and brk_pdokid = bzd_bzdid))<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 Rejestr VAT wg numeru NIP Kontrahenta pod warunkiem, \u017ce dokument nie jest zaksi\u0119gowany?<\/strong><\/h4>\n<p>Na li\u015bcie Rejestru VAT w menu Kasa\/Bank w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@HO(RY:1|KP:2|KH:3)|TypKsi|&amp;KSI:{GetSql('Select Fir_Wartosc From CDN.Firma Where Fir_Numer=1204', '')} @? PAR@ {CHOOSE ( ??TypKsi, 'IsNull(VaN_RycId,0)=0', 'IsNull(VaN_KPRId,0)=0', 'IsNull(VaN_DekId,0)=0', '1=1')} and VaN_KntNipE LIKE '%' + ?@S100|numer NIP:'' + '%'<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 konta w Planie kont, kt\u00f3re maj\u0105 inny numer w przysz\u0142ym okresie?<\/strong><\/h4>\n<p>Na Planie kont w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL <\/strong>nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists ( select * from cdn.konta k2 where A.Acc_NextAccId=k2.Acc_AccId<br \/>\nand A.Acc_Numer&lt;&gt;k2.Acc_Numer)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 polecenia ksi\u0119gowania, kt\u00f3re zawieraj\u0105 dekrety na konto 404-1 i 501-01?<\/strong><\/h4>\n<p>Przyk\u0142ad takiego filtra dla zak\u0142adki <strong>[Dzienniki]<\/strong> w menu <em>Ksi\u0119gowo\u015b\u0107\/Ksi\u0119gowo\u015b\u0107\/Dzienniki<\/em>:<\/p>\n<p><code>exists(select * from CDN.DekretyElem K1 join CDN.DekretyElem K2 on (DeN_DeNID = K2.DeE_DeNID) where DeN_DeNID = K1.DeE_DeNID and K1.DeE_KontoWn = '404-1' and K2.DeE_KontoWn = '501-01')<\/code><\/p>\n<h4><strong>Na fakturze w Rejestrze VAT wpisuj\u0119 jako warto\u015b\u0107 atrybutu numer rejestracyjny samochodu i jako kolejny atrybut \u2013 paliwo, jak sprawdzi\u0107 ile paliwa zakupiono dla danego samochodu?<\/strong><\/h4>\n<p>Na jednym dokumencie uzupe\u0142niono atrybuty REJESTRACJA (nr rejestracyjny samochodu) i PALIWO (ilo\u015b\u0107 zakupionego paliwa). Poni\u017csze zapytanie, w Rejestrach VAT, na zak\u0142adce <strong>[Wg atrybut\u00f3w]<\/strong>, zwr\u00f3ci rekordy zawieraj\u0105ce ilo\u015b\u0107 paliwa dla podanego numeru rejestracyjnego samochodu. Przed odfiltrowaniem program zapyta o nr rejestracyjny.<\/p>\n<p><code>exists (select * from CDN.VATAtrybutyView as ATR1 join CDN.VATAtrybutyView as ATR2 on (ATR1.VAV_VaNID=ATR2.VAV_VaNID and ATR2.VAV_DeAKod='REJESTRACJA' AND ATR2.VAV_DAtWartoscTxt =?@S100|Nr rejestracyjny:'') where ATR1.VAV_VaNID=VAN_VaNID and ATR1.VAV_DeAKod = 'PALIWO')<\/code><\/p>\n<p>W polu <strong>Atrybut<\/strong> mo\u017cna wybra\u0107 atrybut PALIWO \u2013 wtedy b\u0119dzie mo\u017cna podsumowa\u0107 wyfiltrowane rekordy (ilo\u015b\u0107 paliwa).<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty w rejestrze VAT wed\u0142ug wskazanych grup kontrahent\u00f3w?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce<strong> [Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT Gru_GruID, Gru_Nazwa FROM cdn.Grupy WHERE Gru_Typ=31)|Grupa_kontrahentow|&amp;Grupa_kontrahentow:REG= @? PAR@<br \/>\nexists (select * from cdn.kontrahenci where knt_kntID=van_podId and van_podmiotTyp=1 and knt_grupa=??_Q_RES2_Grupa_kontrahentow)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 faktury z rejestru VAT zaksi\u0119gowane pomi\u0119dzy podanymi datami, kt\u00f3re zakwalifikowane zosta\u0142y do deklaracji VAT-7 za podany okres?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data_od|&amp;Data_zapisu_od:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|data_do|&amp;Data_zapisu_do:{DateClwLastDay('m')} @? PAR@<br \/>\n@PAR ?@N4|Rok|&amp;Rok_deklaracji:{Year(Today())} @? PAR@<br \/>\n@PAR ?@N4|Miesiac|&amp;Miesi\u0105c_deklaracji:{Month(Today())} @? @RL(1) @RH(12) PAR@<br \/>\nEXISTS (SELECT * FROM CDN.DekretyNag WHERE VaN_DekId = DeN_DeNId AND VaN_DekId IS NOT NULL AND VaN_DeklRokMies={100 * ??Rok + ??Miesiac} AND DeN_DataDok &gt;=??Data_od AND DeN_DataDok &lt;= ??Data_do)<\/code><br \/>\nW przypadku stosowania metody kasowej nale\u017cy u\u017cy\u0107 poni\u017cszego filtra:<br \/>\n<code>@PAR ?@D17|data_od|&amp;Data_zapisu_od:{DateClwFirstDay('m')} @? PAR@ @PAR ?@D17|data_do|&amp;Data_zapisu_do:{DateClwLastDay('m')} @? PAR@ @PAR ?@N4|Rok|&amp;Rok_deklaracji:{Year(Today())} @? PAR@ @PAR ?@N4|Miesiac|&amp;Miesi\u0105c_deklaracji:{Month(Today())} @? @RL(1) @RH(12) PAR@ EXISTS (SELECT * FROM CDN.DekretyNag WHERE VaN_DekId = DeN_DeNId AND VaN_DekId IS NOT NULL AND DeN_DataDok &gt;=??Data_od AND DeN_DataDok &lt;= ??Data_do) AND EXISTS ( SELECT * FROM CDN.VatTab7 WHERE Va7_VaNID=VaN_VaNID AND Va7_RokMiesiac={100 * ??Rok + ??Miesiac} AND VaN_MetodaKasowa=1)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 \u015brodki trwa\u0142e maj\u0105ce okre\u015blony atrybut?<\/strong><\/h4>\n<p>Na li\u015bcie \u015brodk\u00f3w trwa\u0142ych w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<br \/>\n<code><br \/>\n@PAR ?@R(SELECT ID = DeA_DeAId, Kod = DeA_Kod FROM CDN.DefAtrybuty WHERE DeA_Typ=3 ORDER BY DeA_Kod)|KodAtr|&amp;Kod atrybutu:ATR1 @? PAR@<br \/>\nEXISTS (SELECT * FROM CDN.TrwaleAtrybuty JOIN CDN.DefAtrybuty ON SrA_DeAId = DeA_DeAId WHERE SrT_SrTID = SrA_SrTId AND DeA_DeAId =??KodAtr)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty w rejestrze VAT, kt\u00f3re zosta\u0142y wprowadzone lub zmodyfikowane po konkretnej dacie?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data_od|&amp;Data_wprowadzenia_lub_modyfikacji:{DateClwFirstDay('m')} @? PAR@<br \/>\nVaN_TS_Zal &gt;= ??data_od OR VaN_TS_Mod &gt;= ??data_od<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty w Rejestrze VAT posiadaj\u0105ce okre\u015blony atrybut?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_TWR.DLL|CALLLOOKUPATRLISTADOK())|Atrybut|&amp;Atrybut:REG= @? PAR@ exists (select * from CDN.DokAtrybuty where VaN_VaNID = DAt_VaNID and DAt_DeAId = ??Atrybut)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty w Rejestrze VAT posiadaj\u0105ce okre\u015blon\u0105 warto\u015b\u0107 atrybutu?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Wartosc_atrybutu|&amp;Wartosc_atrybutu:''@? PAR@<br \/>\nexists (select * from CDN.DokAtrybuty where VaN_VaNID = DAt_VaNID and DAt_WartoscTxt<br \/>\n= ??Wartosc_atrybutu)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 dokumenty w Rejestrze VAT, kt\u00f3re maj\u0105 nie zaznaczonego parametru Rozlicza\u0107 w deklaracji VAT?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>VaN_RozliczacVat7 = 0<\/code><\/p>\n<h4><strong>Jak znale\u017a\u0107 zapisy w Rejestrze VAT, kt\u00f3re pod list\u0105 zaliczek maj\u0105 wybranego jakiego\u015b pracownika?<\/strong><\/h4>\n<p>W Rejestrze VAT w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>VaN_PodmiotZalTyp='3\u2019<\/code><\/p>\n<h4><strong>Jak odnale\u017a\u0107 zapisy ksi\u0119gowe na koncie z dan\u0105 kategori\u0105 w elemencie zapisu?<\/strong><\/h4>\n<p>W menu <em>Ksi\u0119gowo\u015b\u0107\/Dzienniki<\/em>, zak\u0142adka <strong>[Konto]<\/strong> w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&amp;Kategoria:REG= @?TIP(Wybierz<br \/>\nkategori\u0119) PAR@ DeE_KatId =??kategoria<\/code><\/p>\n<h4><strong>Jak odnale\u017a\u0107 zapisy ksi\u0119gowe na koncie z dan\u0105 kategori\u0105 w nag\u0142\u00f3wku zapisu?<\/strong><\/h4>\n<p>W menu <em>Ksi\u0119gowo\u015b\u0107\/Dzienniki<\/em>, zak\u0142adka <strong>[Konto]<\/strong> w konstruktorze filtra na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@LS20(OP_LIST.DLL|CALLLOOKUPKATLISTA())|Kategoria|&amp;Kategoria:REG=-brak- @? PAR@<br \/>\nDeN_KatId = ??Kategoria<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b wyszuka\u0107 dokumenty \u015brodk\u00f3w trwa\u0142ych w zale\u017cno\u015bci od osoby odpowiedzialnej przypisanej w zadanym okresie? <\/strong><\/h4>\n<p>Na li\u015bcie dokument\u00f3w \u015brodk\u00f3w trwa\u0142ych w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data1|&amp;Data od:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|data2|&amp;Data do:{DateClwLastDay('m')} @? PAR@<br \/>\n@PAR ?@R(SELECT distinct Pri_PraId, PRi_nazwisko+' '+pri_Imie1 FROM cdn.Pracidx where PRI_Typ &lt;&gt;2 order by 2 )|PRACOWNIK|&amp;PRACOWNIK:0|@? PAR@<br \/>\nExists (select * from CDN.TrwaleOsobyOdpowiedzialne where SrH_SrtID=SrOO_SrTID and SrOO_DataOd&lt;=??data1 and (SrOO_DataDo &gt;=??data2 or SrOO_DataDo is null) and SrOO_PrcID =??PRACOWNIK)<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b na li\u015bcie zapis\u00f3w w rejestrze VAT (b\u0105d\u017a na li\u015bcie faktur) wyszuka\u0107 dokumenty zaksi\u0119gowane na konkretne konto?<\/strong><\/h4>\n<p>Na li\u015bcie zapis\u00f3w w rejestrze VAT w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@S30|Konto|&amp;Konto:''@? PAR@<br \/>\nEXISTS (SELECT * FROM CDN.DekretyNag join CDN.DekretyElem on DeN_DeNId=DeE_DeNId WHERE VaN_DekID = DeN_DeNId AND (DeE_KontoWn=??Konto OR DeE_KontoMa=??Konto))<\/code><\/p>\n<p>Filtr do zastosowania na li\u015bcie faktur:<\/p>\n<p><code>@PAR ?@S30|Konto|&amp;Konto:''@? PAR@<br \/>\nEXISTS (SELECT * FROM CDN.DekretyNag join CDN.DekretyElem on DeN_DeNId=DeE_DeNId WHERE TrN_DekId = DeN_DeNId AND (DeE_KontoWn=??Konto OR DeE_KontoMa=??Konto))<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b wyszuka\u0107 zapisy KPiR zaksi\u0119gowane z okre\u015blonych dokument\u00f3w \u017ar\u00f3d\u0142owych?<\/strong><\/h4>\n<p>&nbsp;<\/p>\n<p>Na li\u015bcie zapis\u00f3w KPiR w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R (SELECT Id = 2, Kod = 'Rejestr VAT' UNION<br \/>\nSELECT Id = 3, Kod = 'Samochod\u00f3wka' UNION<br \/>\nSELECT Id = 4, Kod = 'Remanent' UNION<br \/>\nSELECT Id = 5, Kod = 'Wynagrodzenia uproszczone' UNION<br \/>\nSELECT Id = 7, Kod = 'Dokumenty \u015aT' UNION<br \/>\nSELECT Id = 10, Kod = 'Wynagrodzenia' UNION<br \/>\nSELECT Id = 12, Kod = 'Ewidencja dodatkowa' UNION<br \/>\nSELECT Id = 13, Kod = 'R\u00f3\u017cnice kursowe' UNION<br \/>\nSELECT Id = 14, Kod = 'Zapisy k\/b'<br \/>\n)|Zrodlo|&amp;Zrodlo: @? PAR@<br \/>\nKPR_Zrodlo = ??Zrodlo<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b wyszuka\u0107 zapisy ksi\u0119gowe na koncie maj\u0105ce par\u0119 (tak\u0105 sam\u0105 kwot\u0119) po obu stronach konta?<\/strong><\/h4>\n<p>Z poziomu Ksi\u0119gowo\u015b\u0107\/ Dzienniki\/ zak\u0142adka [Konto] w Konstruktorze filtra, na zak\u0142adce [Zaawansowane] nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|data1|&amp;Data od:{DateClwFirstDay('y')} @? PAR@ @PAR ?@D17|data2|&amp;Data do:{DateClwLastDay('y')} @? PAR@<br \/>\n@PAR ?@S30|Konto|&amp;Konto:''@? PAR@<br \/>\nExists (Select * From CDN.DekretyElem A Where A.DeE_DeEId=DeK_DeEId<br \/>\nAnd (Exists (Select * From CDN.DekretyElem B Where A.DeE_Kwota=B.DeE_Kwota<br \/>\nAnd A.DeE_KontoMa=??Konto and B.DeE_KontoWn=??Konto<br \/>\nAND A.DeE_DataWys between ??data1 And ??data2<br \/>\nAND B.DeE_DataWys between ??data1 And ??data2)<br \/>\nOR Exists (Select * From CDN.DekretyElem B Where A.DeE_Kwota=B.DeE_Kwota<br \/>\nAnd A.DeE_KontoWn=??Konto and B.DeE_KontoMa=??Konto<br \/>\nAND A.DeE_DataWys between ??data1 And ??data2<br \/>\nAND B.DeE_DataWys between ??data1 And ??data2)))<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b na planie kont wyszuka\u0107 konta rozrachunkowe tego samego podmiotu, na kt\u00f3rych istniej\u0105 nierozliczone rozrachunki po przeciwnych stronach?<\/strong><\/h4>\n<p>Z poziomu Ksi\u0119gowo\u015b\u0107\/ Plan kont w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>EXISTS( Select * From CDN.Konta B Where A.Acc_SlownikId=B.Acc_SlownikId And A.Acc_SlownikTyp=B.Acc_SlownikTyp And A.Acc_Rozrachunkowe = 1 And B.Acc_Rozrachunkowe = 1 AND A.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=1) AND B.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=2))<br \/>\nOR<br \/>\nEXISTS( Select * From CDN.Konta B Where A.Acc_SlownikId=B.Acc_SlownikId And A.Acc_SlownikTyp=B.Acc_SlownikTyp And A.Acc_Rozrachunkowe = 1 And B.Acc_Rozrachunkowe = 1 AND A.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=2) AND B.Acc_NumerIdx IN (SELECT Roz.KRo_KontoIdx FROM CDN.KsiRozrachunki AS Roz WHERE Roz.KRo_RozliczenieID IS NULL AND Roz.KRo_Strona=1))<\/code><\/p>\n<p>Powy\u017cszy filtr zadzia\u0142a w przypadku, gdy jest nierozliczony rozrachunek po stronie Wn na koncie 201-2-1-ADM<br \/>\ni po stronie Ma na koncie 202-2-1-ADM, chocia\u017c r\u00f3wnie dobrze mo\u017ce to by\u0107 to samo konto.<\/p>\n<h4><strong>W jaki spos\u00f3b na li\u015bcie dokument\u00f3w w rejestrze VAT wyfiltrowa\u0107 dokumenty wed\u0142ug stanu ich rozlicze\u0144?<\/strong><\/h4>\n<p>Z poziomu rejestru VAT w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107 tre\u015b\u0107 filtra odpowiedni\u0105 dla szukanych dokument\u00f3w:<br \/>\n&#8211; wy\u0142\u0105cznie dokumenty nierozliczone ca\u0142kowicie:<\/p>\n<p><code>not exists (select * from CDN.BnkZdarzenia where VaN_VaNID = BZd_DokumentID and BZd_DokumentTyp = 2 and (Bzd_KwotaRoz &gt; 0)) AND VaN_Wewnetrzna = 0<\/code><\/p>\n<p>&#8211; wy\u0142\u0105cznie dokumenty rozliczone cz\u0119\u015bciowo:<\/p>\n<p><code>exists(select BZd_DokumentID, BZd_DokumentTyp, SUM(BZd_Kwota), SUM(BZd_KwotaRoz) from cdn.BnkZdarzenia where BZd_DokumentID = VaN_VaNID AND BZd_DokumentTyp = 2 GROUP BY BZd_DokumentID, BZd_DokumentTyp HAVING SUM(BZd_Kwota) &lt;&gt; SUM(BzD_KwotaRoz) AND SUM(BzD_KwotaRoz) &gt; 0.00)<\/code><\/p>\n<p>&#8211; dokumenty nierozliczone b\u0105d\u017a cz\u0119\u015bciowo rozliczone:<\/p>\n<p><code>exists (select BZd_BZdID FROM CDN.BnkZdarzenia where VaN_VaNID=BZd_DokumentID and BZd_DokumentTyp = 2 and (Bzd_Kwota&lt;&gt;Bzd_KwotaRoz))<\/code><\/p>\n<p>&#8211; wy\u0142\u0105cznie dokumenty rozliczone ca\u0142kowicie:<\/p>\n<p><code>exists(select BZd_DokumentID, BZd_DokumentTyp, SUM(BZd_Kwota), SUM(BZd_KwotaRoz) from cdn.BnkZdarzenia where BZd_DokumentID = VaN_VaNID AND BZd_DokumentTyp = 2 GROUP BY BZd_DokumentID, BZd_DokumentTyp HAVING SUM(BZd_Kwota) = SUM(BzD_KwotaRoz) AND SUM(BzD_KwotaRoz) &gt; 0.00)<\/code><\/p>\n<p><a name=\"pik\"><\/a><\/p>\n<h3><strong>P\u0142ace i Kadry<\/strong><\/h3>\n<h4><strong>Jak wyfiltrowa\u0107 pracownik\u00f3w, dla kt\u00f3rych wa\u017cno\u015b\u0107 bada\u0144 up\u0142ywa w podanym okresie?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace \/ Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|DataOd|Podaj dat\u0119:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DataDo|Podaj dat\u0119:{DateClwLastDay('m')} @? PAR@<br \/>\nexists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and<br \/>\nPRE_WaznoscBadanOkres between ??DataOd AND ??DataDo)<\/code><\/p>\n<p>Przed odfiltrowaniem pojawi si\u0119 pytanie o daty. Domy\u015blnie podpowiada si\u0119 data pierwszego i ostatniego dnia miesi\u0105ca.<\/p>\n<h4><strong>Jak odfiltrowa\u0107 list\u0119 pracownik\u00f3w niepe\u0142nosprawnych po kodzie niepe\u0142nosprawno\u015bci?<\/strong><\/h4>\n<p>Po uruchomieniu filtru pojawi si\u0119 okno, w kt\u00f3rym nale\u017cy wpisa\u0107 kod niepe\u0142nosprawno\u015bci (1,2,3 lub 4) dat\u0119 tj. dzie\u0144, na kt\u00f3ry chcemy sprawdzi\u0107 list\u0119 os\u00f3b niepe\u0142nosprawnych (sprawdzane s\u0105 daty od-do niepe\u0142nosprawno\u015bci).<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|Data|&amp;Data:{Today()}@? PAR@<br \/>\nexists(select 1 from cdn.pracetaty where pri_praid=pre_praid and PRE_StNiepelnosp LIKE '%' +<br \/>\n?@S100|Stopie\u0144 niepe\u0142nospr:'' + '%' and ??Data between pre_niepelnospod and pre_niepelnospdo)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 os\u00f3b maj\u0105cych zawarte umowy cywilno-prawne o podanym symbolu? <\/strong><\/h4>\n<p>Po uruchomieniu filtru pojawi si\u0119 okno, w kt\u00f3rym nale\u017cy wpisa\u0107 zakres dat (sprawdza dat\u0119 zawarcia umowy we wskazanym okresie) oraz symbol umowy (np. UMW).<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|DataOd|Podaj dat\u0119:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DataDo|Podaj dat\u0119:{DateClwLastDay('m')} @? PAR@<br \/>\nexists (select 1 from CDN.UMOWY where Pri_PraID = UMW_PraID and umw_numerstring LIKE<br \/>\n'%' + ?@S100|Symbol:'' + '%' and UMW_DataOd between ??DataOd AND ??DataDo)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 z listy pracownik\u00f3w osoby z przypisanym Urz\u0119dem Skarbowym, na wskazany dzie\u0144?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|Data|na dzie\u0144:{Today()}@? PAR@<br \/>\nexists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId&gt;0 and<br \/>\n??Data between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<p>Ewentualnie zamiast @D17 mo\u017cna wykorzysta\u0107 @HD17 je\u015bli parametr z dat\u0105 ma by\u0107 ukryty (a wi\u0119c zawsze jako parametr ma si\u0119 pojawia\u0107 data bie\u017c\u0105ca):<\/p>\n<p><code>@PAR ?@HD17|filtr_dtDataAkt|&amp;filtr_dtDataAkt:{Today()}@? PAR@<br \/>\nexists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId&gt;0 and<br \/>\n??filtr_dtDataAkt between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<p>Osoby bez przypisanego Urz\u0119du Skarbowego:<\/p>\n<p><code>@PAR ?@D17|Data|na dzie\u0144:{Today()}@? PAR@<br \/>\nnot exists (select * from CDN.PracEtaty where PRI_Praid=PRE_PraId and pre_PODUrzSkarbId&gt;0 and<br \/>\n??Data between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 pracownik\u00f3w, kt\u00f3rym wybrana kwalifikacja ko\u0144czy si\u0119 w zadanym zakresie?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace \/ Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT ID = Dkm_DkmID, Kod = DKM_Nazwa from cdn.DaneKadMod where dkm_Rodzaj = 6 order by DKM_Nazwa)|Kwalifikacje|&amp;Kwalifikacje: @? PAR@<br \/>\n@PAR ?@D17|DataOd|&amp;DataOd:REG={DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DataDo|&amp;DataDo:REG={DateClwLastDay('m')} @? PAR@<br \/>\nexists (select 1 from cdn.Uprawnienia join cdn.DaneKadMod on Upr_DkmId = Dkm_DkmID where Pri_PraID<br \/>\n= Upr_PraID and DKM_DkmID = ??Kwalifikacje and upr_KursTermin between ??DataOd and ??DataDo)<\/code><\/p>\n<p>Przed odfiltrowaniem pojawi si\u0119 rozwijana lista kwalifikacji oraz pytanie o zakres dat.<\/p>\n<h4><strong>Jak zablokowa\u0107 operatorowi dost\u0119p do dokument\u00f3w dotycz\u0105cych rozlicze\u0144 z pracownikami z tytu\u0142u wynagrodze\u0144?<\/strong><\/h4>\n<p>Aby operator nie widzia\u0142:<br \/>\nA. Zapis\u00f3w kasowo\/bankowych wystawionych na pracownik\u00f3w, nale\u017cy za\u0142o\u017cy\u0107 filtr w menu: <em>Kasa\/bank\/Zapisy kasowe\/bankowe<\/em>. Klikn\u0105\u0107 na ikon\u0119 \u201eKonstruktor filtra\u201d i na zak\u0142adce <strong>[Zaawansowane]<\/strong>, wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>BZp_PodmiotTyp&lt;&gt;3<\/code><\/p>\n<p>Na zak\u0142adce <strong>[Opcje]<\/strong>, wybra\u0107: Obowi\u0105zkowy i wybra\u0107 operatora, kt\u00f3ry ma mie\u0107 za\u0142\u0105czony ten filtr.<br \/>\nJe\u017celi jest wi\u0119cej ni\u017c jeden operator, kt\u00f3ry ma mie\u0107 za\u0142o\u017cony taki filtr, nale\u017cy zbudowa\u0107 drugi identyczny filtr, z tym, \u017ce na zak\u0142adce Opcje wybra\u0107 innego operatora.<\/p>\n<p>B. Dla zdarze\u0144 w Preliminarzu pochodz\u0105cych z list p\u0142ac, nale\u017cy za\u0142o\u017cy\u0107 filtr w menu: <em>Kasa\/Bank \/ Preliminarz p\u0142atno\u015bci<\/em>.<br \/>\nKlikn\u0105\u0107 na ikon\u0119 \u201eKonstruktor filtra\u201d i na zak\u0142adce <strong>[Zaawansowane]<\/strong>, wpisa\u0107 w polu <strong>Filtr SQL<\/strong>:<\/p>\n<p><code>BZd_DokumentTyp&lt;&gt;8<\/code><\/p>\n<p>Na zak\u0142adce <strong>[Opcje]<\/strong>, wybra\u0107: Obowi\u0105zkowy i wybra\u0107 operatora, kt\u00f3ry ma mie\u0107 za\u0142\u0105czony ten filtr.<br \/>\nJe\u017celi jest wi\u0119cej ni\u017c jeden operator, kt\u00f3ry ma mie\u0107 za\u0142o\u017cony taki filtr, nale\u017cy zbudowa\u0107 drugi identyczny filtr, z tym, \u017ce na zak\u0142adce Opcje wybra\u0107 innego operatora.<\/p>\n<p>C. Aby operator nie m\u00f3g\u0142 wybra\u0107 z listy pracownika (np. po to aby podgl\u0105dn\u0105\u0107 list\u0119 rozliczonych i nierozliczonych zapis\u00f3w dla wybranego pracownika w menu Kasa\/bank\/ Rozliczenia podmiotu. Nale\u017cy operatorowi doda\u0107 blokad\u0119 dost\u0119pu do listy pracownik\u00f3w. Blokad\u0119 zak\u0142ada si\u0119 w menu: <em>Start\/Konfiguracja \/ Program\/U\u017cytkowe\/Operatorzy<\/em>. Na formatce danego operatora, na zak\u0142adce <strong>[Blokady dost\u0119pu] <\/strong>nale\u017cy doda\u0107 blokad\u0119: <strong>Lista pracownik\u00f3w, wsp\u00f3lnik\u00f3w i w\u0142a\u015bcicieli<\/strong>.<\/p>\n<p>D. Aby operator nie widzia\u0142 rozlicze\u0144 powsta\u0142ych z dokument\u00f3w, z kt\u00f3rych przynajmniej jeden jest wystawiony na pracownika, nale\u017cy za\u0142o\u017cy\u0107 nast\u0119puj\u0105cy filtr obowi\u0105zkowy dla operatora w menu <em>Kasa\/Bank\/ Rozliczenia<\/em>: pole Filtr SQL:<\/p>\n<p><code>not exists (select * from CDN.BnkRozKwotyView where BRKV_BRKId=BRK_BRKId and (BRKV_PodmiotTyp1=3 OR BRKV_PodmiotTyp2=3))<\/code><\/p>\n<p>Filtry obowi\u0105zkowe w\u0142\u0105cza si\u0119 w menu: <em>Start\/Konfiguracja\/Program\/U\u017cytkowe\/Parametry<\/em>: <strong>Stosuj filtry obowi\u0105zkowe<\/strong>. Operator nadaj\u0105cy filtry obowi\u0105zkowe musi by\u0107 Administratorem, pozostali operatorzy nie powinni by\u0107 administratorami.<\/p>\n<section class=\"msp-alert-box msp-alert-warning\"><div class=\"msp-alert-icon\"><svg width=\"16\" height=\"16\" class=\"kb-icon kb-icon--warn\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\">\r\n    <g id=\"[AP]-Iconography\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <g id=\"Iconography_sortowanie-po-kategorii\" transform=\"translate(-552.000000, -10695.000000)\" fill=\"currentColor\">\r\n            <g id=\"Group-8\" transform=\"translate(286.000000, 548.000000)\">\r\n                <g id=\"Iconography-Card-\" transform=\"translate(218.000000, 10107.000000)\">\r\n                    <g id=\"0-Icons\/-24-\/-Status-\/-Alert-\/-Outline\" transform=\"translate(48.000000, 40.000000)\">\r\n                        <path d=\"M16.0008333,3.91866667 C16.3568333,3.91866667 16.6875,4.10933333 16.8661667,4.41866667 L29.6608333,26.5813333 C29.8408333,26.8906667 29.8408333,27.272 29.6608333,27.5813333 C29.4821667,27.8906667 29.1528333,28.0813333 28.7955,28.0813333 L3.2035,28.0813333 C2.8475,28.0813333 2.51683333,27.8906667 2.33816667,27.5813333 C2.1595,27.272 2.1595,26.8906667 2.33816667,26.5813333 L15.1328333,4.41866667 C15.3128333,4.10933333 15.6421667,3.91866667 16.0008333,3.91866667 Z M16.0008333,6.91866667 L4.93683333,26.0813333 L27.0635,26.0813333 L16.0008333,6.91866667 Z M15.9993667,21.9445333 C16.7353667,21.9445333 17.3327,22.5418667 17.3327,23.2778667 C17.3327,24.0138667 16.7353667,24.6112 15.9993667,24.6112 C15.2647,24.6112 14.6660333,24.0138667 14.6660333,23.2778667 C14.6660333,22.5418667 15.2647,21.9445333 15.9993667,21.9445333 Z M15.9997667,11.762 C16.7344333,11.762 17.3171,12.3833333 17.2704333,13.118 L16.9464333,19.0366667 C16.9161303,19.4984848 16.566268,19.8666391 16.1212392,19.9297596 L15.9851,19.9393333 C15.4744333,19.9393333 15.0544333,19.542 15.0224333,19.0326667 L14.7291,13.1113333 C14.6851,12.3793333 15.2664333,11.762 15.9997667,11.762 Z\" id=\"Color\"><\/path>\r\n                    <\/g>\r\n                <\/g>\r\n            <\/g>\r\n        <\/g>\r\n    <\/g>\r\n<\/svg><\/div><div class=\"msp-alert-body\"><div class=\"msp-alert-title\">Uwaga<\/div><div class=\"msp-alert-content\">Na formatce Operatora (menu: Start\/Konfiguracja\/Program\/U\u017cytkowe\/Operatorzy) znajduje si\u0119 parametr Blokada dost\u0119pu do rozlicze\u0144 pracownik\u00f3w. Parametr ten blokuje dost\u0119p do dokument\u00f3w w module Kasa\/Bank, na kt\u00f3rych jako podmiot jest wybrany pracownik lub wsp\u00f3lnik.<\/div><\/div><\/section>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 pracownik\u00f3w, kt\u00f3rym ko\u0144czy si\u0119 wa\u017cno\u015b\u0107 bada\u0144 okresowych?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace\/Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|DataOd|Podaj dat\u0119:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DataDo|Podaj dat\u0119:{DateClwLastDay('m')} @? PAR@<br \/>\nexists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and<br \/>\nPRE_WaznoscBadanOkres between ??DataOd AND ??DataDo)<br \/>\nPrzed odfiltrowaniem pojawi si\u0119 pytanie o zakres dat.<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 pracownik\u00f3w zatrudnionych na stanowiskach robotniczych?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace\/Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL <\/strong>nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|Data|&amp;Data:{Today()}@? PAR@<br \/>\nexists (select 1 from CDN.PracEtaty join CDN.DaneKadMod on PRE_ETADkmIdStanowisko=DKM_DkmId<br \/>\nwhere DKM_Robotnicze=1 and DKM_Rodzaj=1 and PRE_PraId=PRI_PraId and ??Data between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<p>Przed odfiltrowaniem pojawi si\u0119 zapytanie o dat\u0119.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 pracownik\u00f3w zg\u0142oszonych do wszystkich ubezpiecze\u0144 (spo\u0142eczne i zdrowotne)?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace\/Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from cdn.pracetaty where pri_praid=pre_praid and  pre_ubzzdrowod &lt;&gt; CONVERT(DATETIME,'1899-12-30',120) and PRE_UBZJestEmerytal=1 and PRE_UBZJestRentowe=1 and PRE_UBZJestchorobowe=1 and PRE_UBZJestwypad=1) <\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 pracownik\u00f3w zg\u0142oszonych tylko do ubezpieczenia zdrowotnego?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace\/Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from cdn.pracetaty where pri_praid=pre_praid and  pre_ubzzdrowod &lt;&gt; CONVERT(DATETIME,'1899-12-30',120) and PRE_UBZJestEmerytal=0 and PRE_UBZJestRentowe=0 and PRE_UBZJestchorobowe=0 and PRE_UBZJestwypad=0)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 pracownik\u00f3w przypisanych do wybranej kategorii?<\/strong><\/h4>\n<p>Na li\u015bcie pracownik\u00f3w w menu Kadry\/P\u0142ace\/Kadry, w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(select ID=KAT_KatId, Kat_KodSzczegol from CDN.Kategorie)|Kategoria|&amp;Kategoria:REG=PLACE @? PAR@<br \/>\nexists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and PRE_KATId=<br \/>\n??Kategoria and ?@D17|Data:{Today()} between PRE_DataOd and PRE_DataDo) <\/code><\/p>\n<p>Przed odfiltrowaniem pojawi si\u0119 rozwijana lista s\u0142ownikowa z kategoriami oraz pytanie o dat\u0119.<\/p>\n<h4><strong>Jak wyfiltrowa\u0107 list\u0119 dokument\u00f3w nierozliczonych wystawionych na pracownika?<\/strong><\/h4>\n<p>Na li\u015bcie Dokument\u00f3w Nierozliczonych w menu Kasa\/Bank w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>exists (select * from CDN.PodmiotyView where  DKB_PodmiotId=Pod_PodId<br \/>\nand Dkb_PodmiotTyp = Pod_PodmiotTyp AND DKb_PodmiotTyp=3)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 pracownik\u00f3w z listy Kadry zwolnionych w zadanym okresie, w aktualnym okresie historycznym?<\/strong><\/h4>\n<p>W Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@D17|DataOd|Zwoln. w okresie od:{DateClwFirstDay('m')} @? PAR@<br \/>\n@PAR ?@D17|DataDo|do:{DateClwLastDay('m')} @? PAR@<br \/>\nexists (select 1 from CDN.PracEtaty where PRI_PraId=PRE_PraId and<br \/>\nPRE_ZatrudnionyDo between ??DataOd AND ??DataDo and ?@D17|Na dat\u0119 aktualno\u015bci:{Today()} between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<h4><strong>Jak wyfiltrowa\u0107 pracownik\u00f3w, kt\u00f3rzy maj\u0105 form\u0119 p\u0142atno\u015bci \u201eROR\u201d lub \u201egot\u00f3wka\u201d, w aktualnym okresie historycznym?<\/strong><\/h4>\n<p>Filtr dzia\u0142a tak, \u017ce sprawdza odpowiedni zapis historyczny pracownika (data ,kt\u00f3r\u0105 ustawimy jako \u201eZapis hist. prac\u201d \u2013 podpowiada si\u0119 aktualna) oraz p\u0142atno\u015b\u0107, kt\u00f3ra ma ustawion\u0105 \u201enadwy\u017ck\u0119\u201d.<br \/>\nW Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong>, w polu <strong>Filtr SQL<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT Id = 1, Kod = 'got\u00f3wka' UNION<br \/>\nSELECT Id = 3, Kod = 'ROR')|platnosc|&amp;platno\u015b\u0107:REG= @? PAR@<br \/>\nexists(select 1 from CDN.PracEtaty join CDN.SchematPlatnosci on  SPL_PodmiotId  = PRE_PreId<br \/>\nwhere PRE_PraId=PRI_PraId and SPL_Reszta = 1 and SPL_FplId = ??Platnosc AND ?@D17|Zapis hist. prac:{Today()} between PRE_DataOd and PRE_DataDo)<\/code><\/p>\n<h4><strong>W jaki spos\u00f3b wyszuka\u0107 pracownik\u00f3w z okre\u015blon\u0105 kategori\u0105 na wybranej li\u015bcie p\u0142ac?<\/strong><\/h4>\n<p>Z poziomu P\u0142ace i Kadry\/ Wyp\u0142aty pracownik\u00f3w w Konstruktorze filtra, na zak\u0142adce <strong>[Zaawansowane]<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code>@PAR ?@R(SELECT LPL_LplId, LPL_NumerPelny FROM CDN.ListyPlac)|Lista|&amp;Lista plac:REG= @? PAR@<br \/>\n@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:0|@? PAR@<br \/>\nEXISTS(SELECT 1 FROM CDN.PracEtaty<br \/>\nJOIN CDN.Wyplaty ON WPL_PraId = PRE_PraId<br \/>\nJOIN CDN.ListyPlac ON LPL_LplId = WPL_LplId<br \/>\nWHERE PRI_PraId = PRE_PraId<br \/>\nAND WPL_KatId = ??Kategoria<br \/>\nAND LPL_LplId = ??Lista)<\/code><\/p>\n<p>Mo\u017cna r\u00f3wnie\u017c zastosowa\u0107 wariant filtra, w kt\u00f3rym numer listy p\u0142ac jest automatycznie przekazywany na podstawie wybranej na oknie listy:<\/p>\n<p><code>@PAR ?@HN0|ListaPlacId|&amp;ListaPlacId:0@? PAR@<br \/>\n@PAR ?@LS0(OP_LIST.DLL|CALLLOOKUPKATLISTA())|kategoria|&amp;kategoria:0|@? PAR@<br \/>\nEXISTS(SELECT 1 FROM CDN.PracEtaty<br \/>\nJOIN CDN.Wyplaty ON WPL_PraId = PRE_PraId<br \/>\nJOIN CDN.ListyPlac ON LPL_LplId = WPL_LplId<br \/>\nWHERE PRI_PraId = PRE_PraId<br \/>\nAND WPL_KatId = ??Kategoria<br \/>\nAND LPL_LplId = ??ListaPlacId)<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data aktualizacji: 20-11-2019 Teoria i przyk\u0142ady praktyczne Panel filtra zaawansowanego Filtr jest narz\u0119dziem wspomagaj\u0105cym przeszukiwanie list. W wielu miejscach systemu pojawiaj\u0105 si\u0119 r\u00f3\u017cnego rodzaju listy, do kt\u00f3rych mo\u017cna stosowa\u0107 filtry. Filtrowanie listy powoduje zaw\u0119\u017cenie ilo\u015bci element\u00f3w wy\u015bwietlanych na li\u015bcie do takich, kt\u00f3re spe\u0142niaj\u0105 warunki filtra. Panel filtra mo\u017cna stosowa\u0107 na dwa sposoby: We wszystkich przypadkach [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_ht_kb_usefulness":3,"_ht_kb_post_views_count":7587,"_ht_kb_article_order":0,"_ht_kb_reading_time":113,"footnotes":""},"ht_kb_category":[409],"ht_kb_tag":[],"class_list":["post-16242","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-wspolne-biuletyny"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/16242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/comments?post=16242"}],"version-history":[{"count":24,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/16242\/revisions"}],"predecessor-version":[{"id":31543,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/16242\/revisions\/31543"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/media?parent=16242"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb_category?post=16242"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb_tag?post=16242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}