﻿{"id":14734,"date":"2018-11-28T13:49:05","date_gmt":"2018-11-28T13:49:05","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/?post_type=ht_kb&#038;p=14734"},"modified":"2025-10-02T08:27:14","modified_gmt":"2025-10-02T08:27:14","slug":"opt043-zaawansowane-schematy-ksiegowe","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/","title":{"rendered":"OPT043 Zaawansowane schematy ksi\u0119gowe"},"content":{"rendered":"<p style=\"text-align: right;\">Data aktualizacji: 02-10-2025<\/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<ul>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk1\">1. Jak mo\u017cna odwo\u0142ywa\u0107 si\u0119 do danych w bazie na poszczeg\u00f3lnych elementach schematu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk1\">1. Jakich operator\u00f3w logicznych mog\u0119 u\u017cywa\u0107 w warunku w schemacie ksi\u0119gowym?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk2\">2. Jak sobie poradzi\u0107 gdy d\u0142ugi warunek, zawieraj\u0105cy wiele kategorii, nie mie\u015bci si\u0119 w schemacie?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk3\">3. Czy ksi\u0119guj\u0105c Faktur\u0119 Sprzeda\u017cy, mo\u017cna na konto pozabilansowe zaksi\u0119gowa\u0107 ilo\u015b\u0107 sprzedanego towaru?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk4\">4. Czy ksi\u0119guj\u0105c Faktur\u0119 Sprzeda\u017cy w opisie pozycji dekretu mog\u0119 umie\u015bci\u0107 informacj\u0119 o stawce VAT, jakiej dotyczy\u0142a dana pozycja?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk5\">5. Czy w schemacie ksi\u0119gowym Faktury Sprzeda\u017cy mog\u0119 w warunku u\u017cy\u0107 grupy, do kt\u00f3rej nale\u017cy sprzedany towar?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk6\">6. Czy w schemacie ksi\u0119gowym mog\u0119 ustawi\u0107 warunek na sprawdzanie istnienia lub nie kwot dodatkowych na dokumencie?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk7\">7. Czy w schemacie do zaksi\u0119gowania listy p\u0142ac mo\u017cna zastosowa\u0107 warunek do zaksi\u0119gowania wszystkich zasi\u0142k\u00f3w w jednej kwocie (zasi\u0142ku rodzinnego, piel\u0119gnacyjny, chorobowy&#8230;)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk8\">8. W poni\u017cszym schemacie ksi\u0119gowania dokumentu PZ z ewidencji dodatkowej wyst\u0119puj\u0119 b\u0142\u0105d ksi\u0119gowania: dokument niezbilansowany. R\u00f3\u017cnica 0,01 z\u0142 wynika z zaokr\u0105gle\u0144. Jak sobie z nimi poradzi\u0107?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk9\">9. Jak mo\u017cna zaksi\u0119gowa\u0107 warto\u015b\u0107 zakupu z rej. VAT przeniesion\u0105 za pomoc\u0105 pliku COMMA?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk10\">10.\u00a0Jak mo\u017cna podczas ksi\u0119gowania faktury sprzeda\u017cy odwo\u0142a\u0107 si\u0119 do warto\u015bci zakupu dla ca\u0142ego dokumentu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk11\">11. Jak uzale\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w z ewidencji dodatkowej na poszczeg\u00f3lne konta od symbolu u\u017cytego w schemacie numeracji?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk12\">12. Jak uzale\u017cni\u0107 ksi\u0119gowanie poszczeg\u00f3lnych KP\/KW w raporcie kasowym od rodzaju podmiotu (dostawca, odbiorca, konkurencja, partner)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk13\">13. Jak stworzy\u0107 warunek dla zaksi\u0119gowania na osobne konta kwot netto: towar\u00f3w i us\u0142ug?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk14\">14. Jakiego wyra\u017cenia nale\u017cy u\u017cy\u0107 w warunku pozycji schematu ksi\u0119gowego aby uzale\u017cni\u0107 ksi\u0119gowanie od grupy, do kt\u00f3rej nale\u017cy kontrahent wybrany na fakturze w rejestrze VAT?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk15\">15. Jak uzale\u017cni\u0107 ksi\u0119gowanie VAT-u z Rejestru VAT na dane konto od tego czy dokument jest rozliczony w danym miesi\u0105cu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk16\">16. Jak uzale\u017cni\u0107 ksi\u0119gowanie VAT-u z Rejestru VAT na dane konto od tego, w kt\u00f3rym miesi\u0105cu dokument trafi na deklaracj\u0119 VAT-7?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk17\">17. Jak zaksi\u0119gowa\u0107 dokument RWS na konta analityczne w oparciu o grupy towar\u00f3w?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk18\">18. Jak zaksi\u0119gowa\u0107 dokument RWS na konta analityczne w zale\u017cno\u015bci od tego do jakiej grupy towarowej nale\u017cy towar z\u0142o\u017cony wybrany na dokumencie PWS?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk19\">19. Jak w opisie dekretu, dla ksi\u0119gowania Rejestru VAT, uzyska\u0107 liczb\u0119 porz\u0105dkow\u0105 faktury oraz rejestr, w kt\u00f3rym jest zapisana?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk20\">20. Jak zaksi\u0119gowa\u0107 Faktur\u0119 Zakupu, \u017ceby w schemacie ksi\u0119gowania w warunku zastosowa\u0107 fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ\/99\/MAGAZYN\/SERIA?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk21\">21. W jaki spos\u00f3b, w schemacie ksi\u0119gowania faktury zakupu z rejestr\u00f3w VAT (pochodz\u0105cej z modu\u0142u Faktury), umie\u015bci\u0107 w opisie jej numer pe\u0142ny (w\u0142asny)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk22\">22. Jakiego u\u017cy\u0107 warunku aby zaksi\u0119gowa\u0107 faktur\u0119 w zale\u017cno\u015bci od terminu p\u0142atno\u015bci?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk23\">23. Jak w schemacie ksi\u0119gowania podzieli\u0107 wynagrodzenia wg wydzia\u0142\u00f3w przy czym na jedn\u0105 list\u0119 wchodz\u0105 pracownicy z kilku wydzia\u0142\u00f3w?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk24\">24. Jak w schemacie do ksi\u0119gowania listy p\u0142ac rozksi\u0119gowa\u0107 sk\u0142adk\u0119 na FP i FG\u015aP z podzia\u0142em na wydzia\u0142y (sk\u0142adk\u0119 wyliczon\u0105 i zsumowan\u0105 dla ka\u017cdego z pracownik\u00f3w danego wydzia\u0142u)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk25\">25. Jak zaksi\u0119gowa\u0107 KP\/KW w zale\u017cno\u015bci od tego czy termin p\u0142atno\u015bci, na fakturze, kt\u00f3ra jest rozliczona z p\u0142atno\u015bci\u0105, jest r\u00f3\u017cny od daty wystawienia dokumentu i forma p\u0142atno\u015bci to got\u00f3wka?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk26\">26. Jak w schemacie ksi\u0119gowym dla Rejestru VAT po\u0142\u0105czy\u0107 kwot\u0119 dodatkow\u0105 z kwot\u0105 brutto i VAT faktury tak aby schemat nie wykazywa\u0142 b\u0142\u0119du u\u017cycia makr r\u00f3\u017cnych typ\u00f3w?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk27\">27. Jak uzale\u017cni\u0107 ksi\u0119gowanie odpis\u00f3w amortyzacyjnych od opisu na karcie danego \u015brodka trwa\u0142ego?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk28\">28. Jak w schemacie dla Rejestr\u00f3w VAT zdefiniowa\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy kwot\u0105 dodatkow\u0105 i kwot\u0105 netto faktury?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk29\">29. Jak w schemacie ksi\u0119gowym uzyska\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy sum\u0105 kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a warto\u015bci\u0105 netto faktury?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk30\">30. Jak zaksi\u0119gowa\u0107 faktur\u0119 (z rejestru VAT lub z modu\u0142u FA) w zale\u017cno\u015bci od form p\u0142atno\u015bci przypisanych na zak\u0142adce Kontrahent faktury w Rejestrze VAT lub zak\u0142adce P\u0142atno\u015bci na fakturze w module FA)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk31\">31. W Rejestrze VAT wybieram na dokumencie kategori\u0119 szczeg\u00f3\u0142ow\u0105 ale chcia\u0142bym rozksi\u0119gowa\u0107 dokument na konto przypisane do kategorii og\u00f3lnej, czy jest to mo\u017cliwe?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk32\">32. Przekszta\u0142cam Paragon na kontrahenta \u201cnieokre\u015blonego\u201d do Faktury na okre\u015blonego kontrahenta. Jak zaksi\u0119gowa\u0107 KP do paragonu, na kt\u00f3rym jest kontrahent nieokre\u015blony, na kontrahenta, kt\u00f3ry jest na Fakturze?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk33\">33. Jak zaksi\u0119gowa\u0107 faktur\u0119 na konto Odbiorcy, a nie Nabywcy (konta odbiorc\u00f3w tworzone s\u0105 wg akronimu)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk34\">34. Jak automatycznie zaksi\u0119gowa\u0107 dokument na konto kontrahenta gdzie pierwsza analityka to kod kontrahenta, a druga analityka to segment konta pobrany z kategorii dokumentu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk35\">35. Jak skonstruowa\u0107 schemat ksi\u0119gowania deklaracji VAT-7 w rozbiciu na poszczeg\u00f3lne stawki VAT?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk36\">36. Jak zaksi\u0119gowa\u0107 r\u00f3\u017cnic\u0119 pomi\u0119dzy obrotami Ma konta VAT-u a VAT-em nale\u017cnym z deklaracji VAT-7\/pliku JPK_V7?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk37\">37. Jak w warunku schematu dla WZ odwo\u0142a\u0107 si\u0119 do symbolu\/serii w numerze faktury do kt\u00f3rej zosta\u0142o wystawione WZ?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk38\">38. Jak w opisie schematu do ksi\u0119gowania dokumentu WZ umie\u015bci\u0107 numer faktury, z kt\u00f3r\u0105 powi\u0105zane jest WZ?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk39\">39. Jak przenie\u015b\u0107 kwot\u0119 wpisan\u0105 w polu Opis na fakturze do pozycji schematu ksi\u0119gowego?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk40\">40. Jak zaksi\u0119gowa\u0107 kwot\u0119 \u201edo wyp\u0142aty\u201d z listy p\u0142ac w zale\u017cno\u015bci od rodzaju umowy zlecenia\/dzie\u0142o i formy p\u0142atno\u015bci? <\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk41\">41. Jak wyksi\u0119gowa\u0107 kwot\u0119 dotychczasowych zaliczek z faktury finalnej ksi\u0119gowanej przez Rejestr sprzeda\u017cy VAT?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk42\">42. Jak przy ksi\u0119gowaniu raportu kasowego rozr\u00f3\u017cni\u0107 czy konto przeciwstawne jest walutowe (i ksi\u0119gowa\u0107 w walucie), a jak \u017ce jest z\u0142ot\u00f3wkowe (i ksi\u0119gowa\u0107 tylko w z\u0142ot\u00f3wkach)?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk43\">43. Jak automatycznie ksi\u0119gowa\u0107 na konta zespo\u0142u \u201c4\u201d na podstawie konta zespo\u0142u \u201e5\u201d wpisanego w kwotach dodatkowych?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk44\">44. Jak w schemacie do ksi\u0119gowania faktur zakupu z Rejestr\u00f3w VAT rozr\u00f3\u017cni\u0107 zaliczkobiorc\u0119, kt\u00f3ry jest pracownikiem od zaliczkobiorcy, kt\u00f3ry jest wsp\u00f3lnikiem?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk45\">45. Jak nale\u017cy wpisa\u0107 warunek aby zaksi\u0119gowa\u0107 faktur\u0119 z rejestru VAT na wybrane konto pod warunkiem, \u017ce zaliczkobiorc\u0105 jest pracownik o akronimie \u2018KOWALSKI\u2019?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk46\">46. Jak w opisie pozycji schematu dla rejestr\u00f3w VAT wstawi\u0107 kod pracownika, kt\u00f3ry jest zaliczkobiorc\u0105?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk47\">47. Jak opisie pozycji dekretu umie\u015bci\u0107 informacj\u0119 o Imieniu i nazwisku zaliczkobiorcy (pracownika) wybranego na fakturze zakupu w rejestrze VAT?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk48\">48. Jak u\u0142o\u017cy\u0107 warunek dla ksi\u0119gowania zaliczki na PIT-36 aby w miesi\u0105cu listopadzie zawsze ksi\u0119gowa\u0142a si\u0119 podw\u00f3jna zaliczka?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk49\">49. Czy w schemacie do ksi\u0119gowania dokument\u00f3w przesuni\u0119\u0107 MM mo\u017cna wykorzysta\u0107 symbol magazynu do identyfikacji konta magazynu \u017ar\u00f3d\u0142owego i docelowego?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk50\">50. Jak wykorzysta\u0107 atrybuty do przypisania odpowiedniego konta zespo\u0142u \u201e5\u201d na karcie \u015brodka trwa\u0142ego?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk51\">51. Jak mo\u017cna u\u017cy\u0107, w schemacie ksi\u0119gowym, atrybutu przypi\u0119tego do pozycji faktury?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk52\">52. Jak wykorzysta\u0107 w schemacie ksi\u0119gowym, w definicji konta, warto\u015b\u0107 atrybutu przypi\u0119tego do karty kontrahenta?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk53\">53. Jak wykorzysta\u0107 w schemacie ksi\u0119gowym z rej. VAT kwot\u0119 z ewidencji dodatkowej?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk54\">54. Jak w schemacie ksi\u0119gowym dokument\u00f3w z rejestru VAT w polu Opis wykorzysta\u0107 np. dat\u0119 operacji z dokumentu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk55\">55. Jak w schemacie ksi\u0119gowym Listy p\u0142ac wyszuka\u0107 pola opisu analitycznego, kt\u00f3re nie maj\u0105 \u017cadnej warto\u015bci czyli NULL?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk56\">56. Jak w schemacie do ksi\u0119gowania raport\u00f3w k\/b, w pozycji dekretu uzyska\u0107 opis sk\u0142adaj\u0105cy si\u0119 z numer\u00f3w dokument\u00f3w rozliczaj\u0105cych dany zapis k\/b?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk57\">57. Jak w schemacie ksi\u0119gowym dokument\u00f3w z rejestru VAT rozr\u00f3\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w wystawionych na kontrahent\u00f3w krajowych i zagranicznych?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk58\">58. Jak z poziomu rejestru VAT zaksi\u0119gowa\u0107 dokumenty w zale\u017cno\u015bci od formy p\u0142atno\u015bci na nich wybranej?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk59\">59. W jaki spos\u00f3b sprawdzi\u0107 czy zapis kasowy zosta\u0142 automatycznie wygenerowany przy tworzeniu faktury got\u00f3wkowej?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk60\">60. Jak zaksi\u0119gowa\u0107 dokument Przyj\u0119cia Zewn\u0119trznego w zale\u017cno\u015bci od statusu kontrahenta?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk61\">61. Jak zaksi\u0119gowa\u0107 dokument PZ w zale\u017cno\u015bci od fragmentu numeru faktury, do kt\u00f3rej zosta\u0142 utworzony np. numer faktury zakupu zaczyna si\u0119 od \u201eFA\u201d i ko\u0144czy si\u0119 na MG lub EU?\u201d<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk62\">62. Jak w polu Konto odwo\u0142a\u0107 si\u0119 do kategorii na wyp\u0142acie pracownika (na zak\u0142adce [Og\u00f3lne])?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk63\">63. Jak zaksi\u0119gowa\u0107 kwot\u0119 netto z faktury w Rejestrze VAT z podzia\u0142em na magazyny?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk64\">64. Jak z poziomu listy p\u0142ac zaksi\u0119gowa\u0107 na konkretne konto wyp\u0142at\u0119 pracownika, kt\u00f3ry jest niepe\u0142nosprawny?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk65\">65. Jak w schemacie do ksi\u0119gowania paragon\u00f3w odwo\u0142a\u0107 si\u0119 do symbolu magazynu na pozycji paragonu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk66\">66. Jak umie\u015bci\u0107 funkcj\u0119 serwerow\u0105 w polu z dat\u0105 ksi\u0119gowania? (na przyk\u0142adzie ksi\u0119gowania faktur za us\u0142ugi transportowe)<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk67\">67. Jak w warunku schematu dla faktur zakupu odwo\u0142a\u0107 si\u0119 do opcji Odliczenia VAT: Tak, Nie, Warunkowo na karcie kategorii wybranej na pozycji dokumentu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk68\">68. Jak uzale\u017cni\u0107 ksi\u0119gowanie z Rejestru VAT na dane konto od tego czy dokument wp\u0142yn\u0105\u0142 maksymalnie do 20 dnia kolejnego miesi\u0105ca?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk69\">69. Jak rozksi\u0119gowa\u0107 dokumenty \u015brodk\u00f3w trwa\u0142ych na podstawie kodu i warto\u015bci liczbowej atrybutu?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk70\">70. Jak zaksi\u0119gowa\u0107 z poziomu rejestr\u00f3w VAT dokument Tax Free z dat\u0105 potwierdzenia?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk71\">71. Jak sprawdzi\u0107 podczas ksi\u0119gowania dokumentu z rejestru VAT zakupu czy by\u0142 on rozliczony z delegacj\u0105?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk72\">72. Jak sprawdzi\u0107 podczas ksi\u0119gowania rozliczonego z delegacj\u0105 dokumentu z rejestru VAT zakupu na jakiego pracownika zosta\u0142a wystawiona delegacja?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk73\">73. Jak zaksi\u0119gowa\u0107 dokument RW na konto ksi\u0119gowe zawieraj\u0105ce numer dokumentu powi\u0105zanego zlecenia serwisowego?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk74\">74. Jak zaksi\u0119gowa\u0107 z listy p\u0142ac kwot\u0119 wyp\u0142aty w got\u00f3wce dla pracownika?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk75\">75. Jak zaksi\u0119gowa\u0107 list\u0119 p\u0142ac z wykorzystaniem atrybut\u00f3w pracownika?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk76\">76. Jak zaksi\u0119gowa\u0107 r\u00f3\u017cnice kursowe od kwoty netto i VAT odpowiednio na konta KUP i NKUP<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk77\">77. Jak zaksi\u0119gowa\u0107 sum\u0119 wyp\u0142at wynagrodze\u0144 pracownik\u00f3w z raportu K\/B jako pojedynczy zapis?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk78\">78. Jak zaksi\u0119gowa\u0107 kwot\u0119 VAT w podziale na stawki z dokument\u00f3w w procedurze OSS?<\/a><\/li>\n<li style=\"padding-left: 30px;\"><a href=\"#zsk79\">79. Jak zaksi\u0119gowa\u0107 z listy p\u0142ac konkretn\u0105 warto\u015b\u0107 kwotow\u0105 podan\u0105 w schemacie ksi\u0119gowym?<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n<\/div>\n<a name=\"zsk1\"><\/a><\/p>\n<h3>1. Jak mo\u017cna odwo\u0142ywa\u0107 si\u0119 do danych w bazie na poszczeg\u00f3lnych elementach schematu?<\/h3>\n<p>W polach w nag\u0142\u00f3wku\/pozycjach schematu opr\u00f3cz standardowo dost\u0119pnych makr mo\u017cna odwo\u0142ywa\u0107 si\u0119 do danych w bazie w nast\u0119puj\u0105cy spos\u00f3b:<br \/>\nData ksi\u0119gowania &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, skalarne funkcje serwerowe,<br \/>\nKonto Wn\/Ma &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, skalarne funkcje serwerowe,<br \/>\nKwota &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, wyra\u017cenia SQL (np. CASE), skalarne funkcje serwerowe,<br \/>\nOpis &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, wyra\u017cenia SQL (np. CASE), skalarne funkcje serwerowe,<br \/>\nWarunek &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, zapytania SQL, skalarne funkcje serwerowe.<\/p>\n<h3>1. Jakich operator\u00f3w logicznych mog\u0119 u\u017cywa\u0107 w warunku w schemacie ksi\u0119gowym?<\/h3>\n<p>Warunek wpisany w schemacie ksi\u0119gowym jest \u201et\u0142umaczony\u201d na zapytanie SQL poprzez zast\u0105pienie makr (symboli zaczynaj\u0105cych si\u0119 od znaku @) na odwo\u0142anie do kolumn b\u0105d\u017a funkcji serwerowych.<\/p>\n<p>Poszczeg\u00f3lne odwo\u0142ania mo\u017cna \u0142\u0105czy\u0107 zgodnie z syntaktyk\u0105 T-SQL \u2013 dotyczy to zar\u00f3wno operator\u00f3w por\u00f3wnania (=, &gt;, &lt;, &lt;&gt;, LIKE) jak i operator\u00f3w \u0142\u0105cz\u0105cych wyra\u017cenia (AND, OR). Dodatkowo mo\u017cliwe jest u\u017cywanie funkcji serwerowych.<\/p>\n<p>Przyk\u0142adowo poprawny jest warunek<\/p>\n<p><code>@KategoriaElem LIKE 'POZOST%' OR @KategoriaNag = 'SPR' AND SUBSTRING(@KategoriaElem, 5, 3)= 'TOW'<\/code><a name=\"_Toc519262433\"><\/a><a name=\"_Toc430949073\"><\/a><a name=\"zsk2\"><\/a><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a><\/p>\n<h3><a name=\"_Toc430949070\"><\/a>2. Jak sobie poradzi\u0107 gdy d\u0142ugi warunek, zawieraj\u0105cy wiele kategorii, nie mie\u015bci si\u0119 w schemacie?<\/h3>\n<p>W warunku zamiast wersji d\u0142u\u017cszej np.<\/p>\n<p><code><strong>@KodPodmiotu='ALA' AND ( @KategoriaElem='MATERIA\u0141Y' OR @KategoriaElem='TOWARY' OR @KategoriaElem='INNE')<\/strong><\/code><\/p>\n<p>mo\u017cna u\u017cy\u0107 operatora serwerowego IN:<\/p>\n<p><code><strong>@KodPodmiotu='ALA' AND @KategoriaElem IN ('MATERIA\u0141Y', 'TOWARY', 'INNE')<\/strong><\/code><br \/>\n<a name=\"zsk3\"><\/a><\/p>\n<h3>3. Czy ksi\u0119guj\u0105c Faktur\u0119 Sprzeda\u017cy, mo\u017cna na konto pozabilansowe zaksi\u0119gowa\u0107 ilo\u015b\u0107 sprzedanego towaru?<\/h3>\n<p>Ilo\u015b\u0107 towaru jest zapisana w tabeli TraElem, \u017ceby zaksi\u0119gowa\u0107 liczb\u0119, kt\u00f3ra znajduje si\u0119 w tabeli, ale nie istnieje odpowiadaj\u0105ce jej makro (tzn. nie mo\u017cna wybra\u0107 np. @Ilosc), trzeba w schemacie ksi\u0119gowym odwo\u0142a\u0107 si\u0119 bezpo\u015brednio do nazwy pola w tabeli.<\/p>\n<p>\u017beby na jakim\u015b koncie pozabilansowym wyksi\u0119gowa\u0107 z faktury ilo\u015b\u0107 sprzedanego towaru, w polu <strong>Kwota<\/strong> nale\u017cy odwo\u0142a\u0107 si\u0119 do pola TrE_Ilosc. Ze wzgl\u0119du jednak na optymalizacj\u0119 parsera analizuj\u0105cego schemat ksi\u0119gowy i\u00a0&#8222;t\u0142umacz\u0105cego&#8221; go na zapytanie SQL konieczne jest u\u017cycie w definicji kwoty przynajmniej jednego makra (tzn. pola zaczynaj\u0105cego si\u0119 od '@&#8217;) lub definicja musi rozpoczyna\u0107 si\u0119 od znaku apostrofu (\u2018). Dodatkowo trzeba \u201ezmusi\u0107\u201d automat ksi\u0119guj\u0105cy, \u017ceby u\u017cy\u0142 tabeli TraElem (automat ksi\u0119guj\u0105cy nie wie, \u017ce TrE_Ilosc jest kolumn\u0105 w\u00a0tabeli TraElem, wi\u0119c nie u\u017cyje jej automatycznie).<\/p>\n<p>W tym celu w definicji kwoty mo\u017cna wpisa\u0107 np.<br \/>\n<strong>@PozNetto &#8211; @PozNetto + TrE_Ilosc<\/strong><br \/>\n<em>@PozNetto &#8211; @PozNetto<\/em> i tak dadz\u0105 w wyniku 0. Makro <em>@PozNetto<\/em> odwo\u0142uje si\u0119 do pozycji faktury (a wi\u0119c do tabeli TraElem), wi\u0119c mamy pewno\u015b\u0107, \u017ce zapytanie zostanie zbudowane poprawnie.<br \/>\nDrug\u0105 mo\u017cliwo\u015bci\u0105 jest wpisanie:<br \/>\n<code><strong>'0' + TrE_Ilosc<\/strong><\/code><br \/>\n\u20190\u2019 zostanie automatycznie przekonwertowane na liczb\u0119 0 i nie zaburzy wyniku. W tym przypadku trzeba jeszcze \u201ezmusi\u0107\u201d automat ksi\u0119guj\u0105cy, \u017ceby u\u017cy\u0142 tabeli TraElem. W tym celu w pozycji schematu ksi\u0119gowego nale\u017cy u\u017cy\u0107 jakiegokolwiek parametru b\u0105d\u017a makra odwo\u0142uj\u0105cego si\u0119 do pozycji faktury, np.:<div class=\"su-list\" style=\"margin-left:0px\"><\/div>\n<ul>\n<li>zaznaczy\u0107 Podzia\u0142 na kategorie<\/li>\n<li>lub Podzia\u0142 na s\u0142owniki \u2013 Towary<\/li>\n<li>lub w opisie (b\u0105d\u017a w warunku) odwo\u0142a\u0107 si\u0119 do kategorii pozycji (@KategoriaElem lub @KategoriaOgolnaElem) lub do towaru (@NazwaTowaru)<\/li>\n<\/ul>\n<p><a name=\"zsk4\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>4. Czy ksi\u0119guj\u0105c Faktur\u0119 Sprzeda\u017cy w opisie pozycji dekretu mog\u0119 umie\u015bci\u0107 informacj\u0119 o stawce VAT, jakiej dotyczy\u0142a dana pozycja?<\/h3>\n<p>Tak, w przypadku opisu jest podobnie jak w przypadku kwoty - mo\u017cna odwo\u0142a\u0107 si\u0119 do pola (p\u00f3l) z tabeli, z\u00a0zastrze\u017ceniem, co do u\u017cycia co najmniej jednego makra i wymuszenia u\u017cycia tabeli TraElem.<\/p>\n<p>W definicji kwoty u\u017cywamy np. makra @PozNetto (poniewa\u017c @PozNetto jest to warto\u015b\u0107 netto, pozycji faktury, to automatycznie mamy zapewnione, \u017ce zostanie u\u017cyta tabela TraElem)<\/p>\n<p>Informacja o stawce Vat jest zapisywana w polach:<\/p>\n<ul>\n<li>TrE_Flaga \u2013 m\u00f3wi o tym, czy jest to stawka zwyk\u0142a (2), zani\u017cona (3), zwolniona (1), czy nie podlega (4)<\/li>\n<li>TrE_Stawka \u2013 zawiera wysoko\u015b\u0107 stawki Vat<\/li>\n<\/ul>\n<p>W definicji opisu pozycji mo\u017cna by wi\u0119c u\u017cy\u0107 wyra\u017cenia:<\/p>\n<p><code><strong>@NumerPelny + ': stawka Vat ' + Case TrE_Flaga When 1 Then 'ZW' When 4 Then 'NP' Else STR(TrE_Stawka,5,2) End <\/strong><\/code><\/p>\n<p>Spowoduje to wstawienie w dekrecie w polu <strong>Opis<\/strong> numeru dokumentu uzupe\u0142nionego o stawk\u0119 Vat - oczywi\u015bcie zostanie wygenerowanych tyle pozycji, ile r\u00f3\u017cnych stawek Vat jest na dokumencie.<\/p>\n<h3><a name=\"_Toc519262433\"><\/a><a name=\"_Toc430949073\"><\/a><br \/>\n<a name=\"zsk5\"><\/a><\/h3>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>5. Czy w schemacie ksi\u0119gowym Faktury Sprzeda\u017cy mog\u0119 w warunku u\u017cy\u0107 grupy, do kt\u00f3rej nale\u017cy sprzedany towar?<\/h3>\n<p>Grupa towarowa znajduje si\u0119 w tabeli Towary (pole Twr_Grupa) \u2013 przy czym nie mo\u017cemy odwo\u0142a\u0107 si\u0119 do pola Twr_Grupa w taki spos\u00f3b jak to opisywano poprzednio, poniewa\u017c obecnie \u017cadne makro nie odwo\u0142uje si\u0119 do tabeli Towary (a wi\u0119c nie ma mo\u017cliwo\u015bci w schemacie ksi\u0119gowym po\u0142\u0105czenia si\u0119 z t\u0105 tabel\u0105).<\/p>\n<p>Mo\u017cemy to natomiast zrobi\u0107 za pomoc\u0105 funkcji serwerowej. W tym celu tworzymy funkcj\u0119 MojaFunkcja_GrupaTowaru \u2013 nale\u017cy poni\u017cszy skrypt wykona\u0107 za pomoc\u0105 Query Analyzera lub OSQL-a.<\/p>\n<p>Je\u017celi teraz chcemy zaksi\u0119gowa\u0107 warunkowo sprzeda\u017c towar\u00f3w z grupy 'AKCESORIA', w warunku wpisujemy wyra\u017cenie:<\/p>\n<p><code><strong>'AKCESORIA' = dbo.MojaFunkcja_GrupaTowaru (TrE_TwrId)<\/strong><\/code><\/p>\n<p class=\"Tre120\" style=\"margin-bottom: 12.0pt;\">Oczywi\u015bcie funkcje mog\u0105 by\u0107 znacznie bardziej skomplikowane, mo\u017cna ich u\u017cywa\u0107 zar\u00f3wno w definicjach warunk\u00f3w, opis\u00f3w jak i kwot (w ostatnim przypadku funkcja powinna zwraca\u0107 typ NUMERIC). Podobnie jak w\u00a0przypadku u\u017cywania p\u00f3l z tabel, u\u017cywaj\u0105c funkcji nale\u017cy pami\u0119ta\u0107 o tym, \u017ceby wyra\u017cenie zawiera\u0142o co najmniej jedno makro, lub zaczyna\u0142o si\u0119 od znaku ' (apostrof).<\/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 zaksi\u0119gowa\u0107 towar w zale\u017cno\u015bci od grupy domy\u015blnej, do kt\u00f3rej nale\u017cy (na pierwszej zak\u0142adce karty cennika) nale\u017cy funkcj\u0119 skonstruowa\u0107 w\u00a0poni\u017cszy spos\u00f3b:<\/p>\n<p><code>If Exists ( Select * From sysobjects Where name = 'MojaFunkcja_GrupaTowaru' And xtype='FN')<br \/>\nDrop Function dbo.MojaFunkcja_GrupaTowaru<br \/>\nGO<br \/>\ncreate Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Grupa VarChar(20)<br \/>\nselect @grupa = twg_kod<br \/>\nfrom cdn.twrgrupy<br \/>\njoin cdn.towary on twr_twggidnumer = twg_gidnumer AND twg_gidtyp = -16<br \/>\nwhere twr_twrid = @twrid<br \/>\nReturn @Grupa<br \/>\nEnd<\/code><\/p><\/div><\/div><\/section>\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 zaksi\u0119gowa\u0107 towar pod warunkiem, \u017ce towar nale\u017cy do grupy podrz\u0119dnej nale\u017cy nieco inaczej zbudowa\u0107 funkcj\u0119.<\/p>\n<p><code>If Exists (<br \/>\nSelect * From sysobjects<br \/>\nWhere name = 'MojaFunkcja_GrupaTowaru' And xtype='FN'<br \/>\n)<br \/>\nDrop Function dbo.MojaFunkcja_GrupaTowaru<br \/>\nGO<br \/>\ncreate Function dbo.MojaFunkcja_GrupaTowaru (@TwrId INT)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Grupa VarChar(20)<br \/>\nselect @grupa = A.twg_kod<br \/>\nfrom cdn.twrgrupy\u00a0 A<br \/>\njoin cdn.twrgrupy B on A.twg_gidnumer = B.twg_gronumer<br \/>\njoin cdn.towary C on C.twr_twggidnumer  = B.twg_gidnumer AND C.twr_twggidnumer &lt;&gt; A.twg_gidnumer<br \/>\nwhere B.twg_gidtyp = -16 and A.twg_gidtyp &lt;&gt; 16 and c. twr_twrid = @twrid<br \/>\nReturn @Grupa<br \/>\nEnd<\/code><\/div><\/div><\/section>\n<a name=\"zsk6\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>6. Czy w schemacie ksi\u0119gowym mog\u0119 ustawi\u0107 warunek na sprawdzanie istnienia lub nie kwot dodatkowych na dokumencie?<\/h3>\n<p>Mo\u017cna w warunku sprawdzi\u0107, czy istniej\u0105 kwoty dodatkowe, z tym, \u017ce korzystamy tu z pewnych funkcji pozastandardowych.<\/p>\n<p>Niestety ju\u017c w kilku przypadkach okaza\u0142o si\u0119, \u017ce korzystanie z tego typu funkcji po zmianie wersji <strong>Comarch ERP Optima<\/strong> wymaga\u0142o drobnych korekt w schematach ksi\u0119gowych.<\/p>\n<p><strong>Raporty kasowe\/bankowe<\/strong><\/p>\n<p>Je\u015bli chcemy zaksi\u0119gowa\u0107 dokument, na kt\u00f3rym NIE ISTNIEJ\u0104 podpi\u0119te kwoty dodatkowe, w warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)<\/strong><\/code><\/p>\n<p>Je\u015bli chcemy zaksi\u0119gowa\u0107 dokument, na kt\u00f3rym ISTNIEJ\u0104 podpi\u0119te kwoty dodatkowe (przy czym chodzi o\u00a0ksi\u0119gowanie kwot przych\u00f3d\/rozch\u00f3d, a nie kwot dodatkowych), w warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=14 And KDD_DokumentId=BZp_BZpId)<\/strong><\/code><\/p>\n<p><strong>Rejestry VAT<\/strong><\/p>\n<p>Je\u015bli chcemy zaksi\u0119gowa\u0107 dokument, na kt\u00f3rym NIE ISTNIEJ\u0104 podpi\u0119te kwoty dodatkowe, w warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND NOT EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)<\/strong><\/code><\/p>\n<p>Je\u015bli chcemy zaksi\u0119gowa\u0107 dokument, na kt\u00f3rym\u00a0ISTNIEJ\u0104 podpi\u0119te kwoty dodatkowe, w warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * FROM CDN.KwotyDodatkowe Where KDD_DokumentTyp=2 And KDD_DokumentId=van_vanId)<\/strong><\/code><a name=\"zsk9\"><\/a><br \/>\n<a name=\"zsk7\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>7. Czy w schemacie do zaksi\u0119gowania listy p\u0142ac mo\u017cna zastosowa\u0107 warunek do zaksi\u0119gowania wszystkich zasi\u0142k\u00f3w w jednej kwocie (zasi\u0142ku rodzinnego, piel\u0119gnacyjny, chorobowy...)?<\/h3>\n<p>Przy tworzeniu warunku mo\u017cna skorzysta\u0107 z makra:<\/p>\n<p><code><strong>@TypWyplaty LIKE 'zas%'<\/strong><\/code><a name=\"zsk8\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>8. W poni\u017cszym schemacie ksi\u0119gowania dokumentu PZ<br \/>\nz ewidencji dodatkowej wyst\u0119puj\u0119 b\u0142\u0105d ksi\u0119gowania: dokument niezbilansowany. R\u00f3\u017cnica 0,01 z\u0142 wynika<br \/>\nz zaokr\u0105gle\u0144. Jak sobie z\u00a0nimi poradzi\u0107?<\/h3>\n<p>Schemat pierwotny:<\/p>\n\n<table id=\"tablepress-259\" class=\"tablepress tablepress-id-259\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Konto Wn<\/th><th class=\"column-2\">Konto Ma<\/th><th class=\"column-3\">Kwota<\/th><th class=\"column-4\">Opis<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">zwyk\u0142e1<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">(@RazemKwota+@RazemKwota*0.32)*1.23<\/td><td class=\"column-4\">cena brutto z mar\u017c\u0105 i VAT<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e2<\/td><td class=\"column-3\">@RazemKwota<\/td><td class=\"column-4\">cena netto<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e3<\/td><td class=\"column-3\">@RazemKwota*0.32<\/td><td class=\"column-4\">mar\u017ca<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e4<\/td><td class=\"column-3\">(@RazemKwota+@RazemKwota*0.32)*0.23<\/td><td class=\"column-4\">VAT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-259 from cache -->\n<p class=\"Tre120\">Kwota na dokumencie: 1669,06 z\u0142. (@RazemKwota)<\/p>\n<p><strong>Rozwi\u0105zania s\u0105 dwa:<\/strong><\/p>\n<p>1.Zastosowa\u0107 w schemacie podw\u00f3jne dekrety:<\/p>\n\n<table id=\"tablepress-260\" class=\"tablepress tablepress-id-260\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Konto Wn<\/th><th class=\"column-2\">Konto Ma<\/th><th class=\"column-3\">Kwota<\/th><th class=\"column-4\">Opis<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">zwyk\u0142e1<\/td><td class=\"column-2\">zwyk\u0142e2<\/td><td class=\"column-3\">@RazemKwota<\/td><td class=\"column-4\">cena netto<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">zwyk\u0142e1<\/td><td class=\"column-2\">zwyk\u0142e3<\/td><td class=\"column-3\">@RazemKwota*0.32<\/td><td class=\"column-4\">mar\u017ca<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">zwyk\u0142e1<\/td><td class=\"column-2\">zwyk\u0142e4<\/td><td class=\"column-3\">(@RazemKwota+@RazemKwota*0.32)*0.23<\/td><td class=\"column-4\">VAT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-260 from cache -->\n<p class=\"Tre30\" style=\"margin: 6.0pt 0cm 6.0pt 0cm;\">2. Zastosowa\u0107 nast\u0119puj\u0105ce makra w schematach:<\/p>\n\n<table id=\"tablepress-262\" class=\"tablepress tablepress-id-262\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Konto Wn<\/th><th class=\"column-2\">Konto Ma<\/th><th class=\"column-3\">Kwota<\/th><th class=\"column-4\">Opis<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">zwyk\u0142e1<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">ROUND(@RazemKwota*1.32,2)*1.23<\/td><td class=\"column-4\">cena bto z mar\u017c\u0105 i\u00a0VAT<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e2<\/td><td class=\"column-3\">@RazemKwota<\/td><td class=\"column-4\">cena netto<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e3<\/td><td class=\"column-3\">@RazemKwota*0.32<\/td><td class=\"column-4\">mar\u017ca<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">zwyk\u0142e4<\/td><td class=\"column-3\">ROUND(@RazemKwota*1.32,2)*0.23<\/td><td class=\"column-4\">VAT<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-262 from cache -->\n<a name=\"zsk9\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>9. Jak mo\u017cna zaksi\u0119gowa\u0107 warto\u015b\u0107 zakupu z rej. VAT przeniesion\u0105 za pomoc\u0105 pliku COMMA?<\/h3>\n<p>Nale\u017cy w pozycji <strong>Kwota<\/strong> wpisa\u0107: <code><strong>'0'+VaN_WartoscZak<\/strong><\/code><br \/>\n<a name=\"zsk10\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><\/h3>\n<h3><a name=\"_Toc524945549\"><\/a>10.\u00a0Jak mo\u017cna podczas ksi\u0119gowania faktury sprzeda\u017cy odwo\u0142a\u0107 si\u0119 do warto\u015bci zakupu dla ca\u0142ego dokumentu?<\/h3>\n<p>Nale\u017cy na pozycji schematu ksi\u0119gowego w polu <strong>Kwota<\/strong> wpisa\u0107: <code><strong>'0'+TrN_WartoscZakupu<\/strong><\/code><\/p>\n<h3><a name=\"zsk11\"><\/a><a name=\"_Toc519262446\"><\/a><a name=\"_Toc430949086\"><\/a>11. Jak uzale\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w z ewidencji dodatkowej na poszczeg\u00f3lne konta od symbolu u\u017cytego w schemacie numeracji?<\/h3>\n<p>W przypadku <strong>Ewidencji dodatkowej przychod\u00f3w<\/strong> mo\u017cna u\u017cy\u0107 w warunku wyra\u017cenia:<\/p>\n<p><code><strong>@Dokument LIKE '%EDP%'\u00a0 <\/strong><\/code><\/p>\n<p>co oznacza, \u017ce na konto zostanie zaksi\u0119gowany dokument, kt\u00f3ry ma w schemacie numeracji ci\u0105g znak\u00f3w EDP (np. EDP\/000001\/2003).<\/p>\n<p>W przypadku <strong>Ewidencji dodatkowej koszt\u00f3w<\/strong> mo\u017cna u\u017cy\u0107 w warunku wyra\u017cenia:<\/p>\n<p><code><strong>'1'='1' AND EDN_NumerPelny LIKE 'EDK%'<\/strong><\/code><\/p>\n<p>R\u00f3\u017cnica wynika z faktu, \u017ce w Ewidencji dodatkowej koszt\u00f3w, na formatce zapisu s\u0105 dwa numery: numer nadawany przez program i numer obcy. Makro @Dokument w tym przypadku pobiera numer nadawany przez program je\u017celi numer obcy nie jest wype\u0142niony.<\/p>\n<p>Je\u017celi w warunku jest u\u017cyte jakie\u015b makro to wystarczy doda\u0107: <code><strong>AND EDN_NumerPelny LIKE 'EDK%'<\/strong><\/code><\/p>\n<p><strong>Patrz te\u017c pytania nr: <\/strong><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li><a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk20\"><em>Jak zaksi\u0119gowa\u0107 faktur\u0119 zakupu, \u017ceby w schemacie ksi\u0119gowania w warunku zastosowa\u0107 fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ\/99\/MAGAZYN\/SERIA?\u00a0<\/em><\/a><\/li>\n<\/ol>\n<ol start=\"37\">\n<li><a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk37\"><em>Jak w warunku schematu dla WZ odwo\u0142a\u0107 si\u0119 do symbolu\/serii w numerze faktury do kt\u00f3rej zosta\u0142o wystawione WZ?<\/em><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a name=\"zsk12\"><\/a><\/p>\n<h3><a name=\"_Toc519262447\"><\/a><a name=\"_Toc430949087\"><\/a>12. Jak uzale\u017cni\u0107 ksi\u0119gowanie poszczeg\u00f3lnych KP\/KW<br \/>\nw raporcie kasowym od rodzaju podmiotu (dostawca, odbiorca, konkurencja, partner)?<\/h3>\n<p>W warunku schematu nale\u017cy u\u017cy\u0107 wyra\u017cenia:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * FROM CDN.Kontrahenci Where Knt_KntId=BZp_PodmiotID AND Knt_Rodzaj_Odbiorca='1')<\/strong><\/code><\/p>\n<p>W\u00f3wczas program zaksi\u0119guje na podane konta okre\u015blon\u0105 kwot\u0119, je\u017celi kontrahent wybrany na KP\/KW b\u0119dzie odbiorc\u0105.<br \/>\n<code>Dla dostawcy nale\u017cy zmieni\u0107 w powy\u017cszym wyra\u017ceniu nazw\u0119 pola na <strong>Knt_Rodzaj<\/strong><strong>_Dostawca<\/strong>, dla konkurencji na <strong>Knt_Rodzaj<\/strong><strong>_Konkurencja<\/strong>, dla partnera na <strong>Knt_Rodzaj<\/strong><strong>_Partner<\/strong>, natomiast dla klienta potencjalnego na <strong>Knt_Rodzaj_Potencjalny<\/strong>.<\/code><br \/>\n<a name=\"zsk13\"><\/a><\/p>\n<h3><a name=\"_Toc519262448\"><\/a><a name=\"_Toc430949088\"><\/a>13. Jak stworzy\u0107 warunek dla zaksi\u0119gowania na osobne konta kwot netto: towar\u00f3w i us\u0142ug?<\/h3>\n<p>Taki warunek mo\u017cna stworzy\u0107 w schematach dla Faktur sprzeda\u017cy i Faktur zakupu (ksi\u0119gowa\u0144 z modu\u0142u Faktury \u2013 ewentualnie ksi\u0119gowa\u0144 innych dokument\u00f3w z modu\u0142u Faktury lub Magazyn). Trzeba wybra\u0107 ksi\u0119gowanie kwoty @PozNetto (lub @PozBrutto) i w warunku dopisa\u0107:<\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla us\u0142ugi (prostej lub z\u0142o\u017conej):<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0) <\/strong><code><\/code><\/code><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla us\u0142ugi prostej:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=0) <\/strong><\/code><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla us\u0142ugi z\u0142o\u017conej:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=0 And Twr_Produkt=1) <\/strong><\/code><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla towaru (prostego lub z\u0142o\u017conego):<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1) <\/strong><\/code><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla towaru prostego:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=0)<\/strong><\/code><\/p>\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ol start=\"20\">\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Dla towaru z\u0142o\u017conego:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.Towary Where Twr_TwrId=TrE_TwrId And Twr_Typ=1 And Twr_Produkt=1)<\/strong><\/code><a name=\"zsk14\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>14. Jakiego wyra\u017cenia nale\u017cy u\u017cy\u0107 w warunku pozycji schematu ksi\u0119gowego aby uzale\u017cni\u0107 ksi\u0119gowanie od grupy, do kt\u00f3rej nale\u017cy kontrahent wybrany na fakturze w rejestrze VAT?<\/h3>\n<p><code><strong>'1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=VaN_PodID AND VaN_PodmiotTyp = 1 AND Knt_Grupa='DOST')<\/strong><\/code><\/p>\n<p>Podana w schemacie kwota, zostanie zaksi\u0119gowana na zadane konta je\u017celi kontrahent wybrany na fakturze nale\u017cy do grupy 'DOST'.<\/p>\n<p>W schematach ksi\u0119gowych dla ksi\u0119gowania faktur z modu\u0142u Faktury warunek powinien by\u0107 nast\u0119puj\u0105cy:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (SELECT* FROM CDN.Kontrahenci where Knt_KntId=TrN_PodID AND TrN_PodmiotTyp = 1 AND Knt_Grupa='DOST')<\/strong><\/code><br \/>\n<a name=\"zsk15\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>15. Jak uzale\u017cni\u0107 ksi\u0119gowanie VAT-u z Rejestru VAT na dane konto od tego czy dokument jest rozliczony<br \/>\nw danym miesi\u0105cu?<\/h3>\n<p>Warunek czy dokument jest w og\u00f3le nierozliczony:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND BZd_Rozliczono&lt;2)<\/strong><\/code><\/p>\n<p>Poni\u017cej warunek sprawdzaj\u0105cy przy za\u0142o\u017ceniu, \u017ce dla dokumentu jest tylko jedna p\u0142atno\u015b\u0107, czyli p\u0142atno\u015b\u0107 na dokumencie nie zosta\u0142a podzielona na raty (ale mog\u0142a by\u0107 rozliczana \"na raty\").<\/p>\n<p>Dokument jest nierozliczony lub zosta\u0142 rozliczony w innym miesi\u0105cu ni\u017c data dokumentu:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono&lt;2 OR 100 * YEAR(BZd_DataRoz)<br \/>\n+ MONTH(BZd_DataRoz) &lt;&gt; VaN_RokMies))<\/strong><\/code><\/p>\n<p>Dokument zosta\u0142 rozliczony w tym miesi\u0105cu, co data dokumentu:<\/p>\n<p><code><strong>'1'='1' AND NOT EXISTS (Select * FROM CDN.BnkZdarzenia WHERE BZd_DokumentTyp = 2 And BZd_DokumentId = VaN_VaNId AND (BZd_Rozliczono&lt;2 OR 100 * YEAR(BZd_DataRoz)<br \/>\n+ MONTH(BZd_DataRoz) &lt;&gt; VaN_RokMies))<\/strong><\/code><br \/>\n<a id=\"zsk16\" name=\"zsk16\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>16. Jak uzale\u017cni\u0107 ksi\u0119gowanie VAT-u z Rejestru VAT na dane konto od tego, w kt\u00f3rym miesi\u0105cu dokument trafi na deklaracj\u0119 VAT-7?<\/h3>\n<p>Aby zaksi\u0119gowa\u0107 VAT na zadane konto, je\u017celi data deklaracji VAT-7 to 10.2018 nale\u017cy w warunku u\u017cy\u0107 wyra\u017cenia:<\/p>\n<p><code><strong>'1'='1' AND VaN_DeklRokMies='201810'<\/strong><\/code><\/p>\n<p>Aby zaksi\u0119gowa\u0107 na zadane konto, podan\u0105 kwot\u0119, je\u017celi <strong>data deklaracji VAT-7<\/strong> jest r\u00f3\u017cna od <strong>daty rejestru<\/strong>. Czyli maj\u0105c wy\u015bwietlon\u0105 na ekranie list\u0119 faktur za miesi\u0105c 10.2018, program zaksi\u0119guje te, kt\u00f3re maj\u0105 dat\u0119 deklaracji inn\u0105 ni\u017c 10.2018 np. 11.2018.<\/p>\n<p><code><strong>'1'='1' AND Van_RokMies&lt;&gt;Van_DeklRokMies<\/strong><\/code><\/p>\n<p>I dla r\u00f3wnowagi, warunek gdy data deklaracji jest r\u00f3wna dacie rejestru:<\/p>\n<p><code><strong>'1'='1' AND Van_RokMies=Van_DeklRokMies<\/strong><\/code><\/p>\n<p>Aby zaksi\u0119gowa\u0107 na zadane konto, podan\u0105 kwot\u0119, je\u017celi <strong>data deklaracji VAT-7<\/strong> jest r\u00f3\u017cna od <strong>daty zakupu<\/strong> faktury zakupu:<\/p>\n<p><code><strong>'1'='1' AND (100 * YEAR(VaN_DataOpe) + MONTH(VaN_DataOpe)) &lt;&gt; Van_DeklRokMies<\/strong><\/code><\/p>\n<p>Aby zaksi\u0119gowa\u0107 na zadane konto, podan\u0105 kwot\u0119, je\u017celi <strong>data deklaracji VAT-7<\/strong> jest r\u00f3\u017cna od <strong>daty wystawienia<\/strong> faktury zakupu:<\/p>\n<p><code><strong>'1'='1' AND (100 * YEAR(VaN_DataWys) + MONTH(VaN_DataWys)) &lt;&gt; Van_DeklRokMies<\/strong><\/code><\/p>\n<p>Dla metody kasowej:<\/p>\n<p><code><strong>'1'='1' AND Exists (Select * From CDN.VatTab7 Where Va7_VaNID=VaN_VaNID And (VAN_RokMies<br \/>\n&lt;&gt; Va7_RokMiesiac or (100*Year (VaN_DataOpe) + month (VaN_DataOpe)) &lt;&gt; Va7_RokMiesiac))<\/strong><\/code><br \/>\n<a name=\"zsk17\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>17. Jak zaksi\u0119gowa\u0107 dokument RWS na konta analityczne<br \/>\nw oparciu o\u00a0grupy towar\u00f3w?<\/h3>\n<p>Kwota netto ma zosta\u0107 zaksi\u0119gowana na konto 311 (nies\u0142ownikowe) z podzia\u0142em na analityki w oparciu o grupy towarowe, np.:<\/p>\n<p>311-01 - AKCESORIA<\/p>\n<p>311-02 - RO\u015aLINY<\/p>\n<p>311-03 \u2013 SPRZ\u0118T<\/p>\n<p>W schemacie ksi\u0119gowym nale\u017cy utworzy\u0107 trzy pozycje z poni\u017cszymi odpowiednio warunkami:<\/p>\n<p>Pozycja 1:<\/p>\n<p><code><strong>'1'='1' And Exists (Select * From CDN.Towary JOIN\u00a0 CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16 Where Twr_TwrId = TrE_TwrId And TwG_Kod<\/strong>\u00a0 = <strong>'AKCESORIA')<\/strong><\/code><\/p>\n<p>Pozycja 2:<\/p>\n<p><code><strong>'1'='1' And Exists (Select * From CDN.Towary JOIN\u00a0 CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16<\/strong><br \/>\n<strong>Where Twr_TwrId = TrE_TwrId And TwG_Kod<\/strong>\u00a0 = <strong>'RO\u015aLINY')<\/strong><\/code><\/p>\n<p>Pozycja 3:<\/p>\n<p><code><strong>'1'='1' And Exists (Select * From CDN.Towary JOIN\u00a0 CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16<\/strong><br \/>\n<strong>Where Twr_TwrId = TrE_TwrId And TwG_Kod<\/strong>\u00a0 = <strong>'SPRZ\u0118T'<\/strong>)<\/code><\/p>\n<p>Mo\u017cna jeszcze skorzysta\u0107 z innej, prostszej mo\u017cliwo\u015bci zaksi\u0119gowania. Gdyby 311 by\u0142o kontem s\u0142ownikowym (z\u00a0podpi\u0119tym s\u0142ownikiem Towary i podzia\u0142em na grupy), to takiego ksi\u0119gowania mo\u017cna dokona\u0107 automatem, zaznaczaj\u0105c w poszczeg\u00f3lnych pozycjach schematu - Podzia\u0142 na s\u0142owniki: Towary.<\/p>\n<p>W takiej sytuacji do analityki konta 311-01 - AKCESORIA b\u0119d\u0105 podpi\u0119te subanalityki dla poszczeg\u00f3lnych towar\u00f3w.<br \/>\n<a name=\"zsk18\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>18. Jak zaksi\u0119gowa\u0107 dokument RWS na konta analityczne<br \/>\nw zale\u017cno\u015bci od tego do jakiej grupy towarowej nale\u017cy towar z\u0142o\u017cony wybrany na dokumencie PWS?<\/h3>\n<p>Sytuacja wygl\u0105da nast\u0119puj\u0105co:<\/p>\n\n<table id=\"tablepress-264\" class=\"tablepress tablepress-id-264\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Dokument: Kompletacja \u2013 Przyj\u0119cia produkt\u00f3w<\/th><th class=\"column-2\">Dokument: Kompletacja \u2013 Rozchody sk\u0142adnik\u00f3w<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Towar z\u0142o\u017cony nale\u017c\u0105cy do GRUPA1<\/td><td class=\"column-2\">Towar1 \u2013 nale\u017cy do GRUPA2<br \/>\n Towar2 \u2013 nale\u017cy do GRUPA3<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-264 from cache -->\n<p>Ksi\u0119gujemy dokument: Kompletacja \u2013 Rozchody sk\u0142adnik\u00f3w: chodzi o to aby zaksi\u0119gowa\u0107 kwot\u0119 np. @PozNetto, na wybrane konto je\u017celi grupa, do kt\u00f3rej nale\u017cy towar z\u0142o\u017cony wybrany na dokumencie: Kompletacja \u2013 Przyj\u0119cia produkt\u00f3w, nale\u017cy do <strong>GRUPA1<\/strong>.<\/p>\n<p>Takiej operacji mo\u017cna dokona\u0107 schematami warunkowymi. W warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C <\/strong><br \/>\n<strong>ON B.TrE_TwrId = C.Twr_TwrId JOIN\u00a0 CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16<\/strong><br \/>\n<strong>WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )<\/strong><\/code><\/p>\n<p>Je\u017celi grup jest wi\u0119cej i ka\u017cda ksi\u0119gowana jest na inne konto analityczne \u2013 nale\u017cy stworzy\u0107 osobn\u0105 pozycj\u0119 w\u00a0schemacie dla ka\u017cdej z nich.<\/p>\n<p>Je\u017celi na podane konto chcemy ksi\u0119gowa\u0107 okre\u015blon\u0105 kwot\u0119 w sytuacji gdy grupa do jakiej nale\u017cy towar z\u0142o\u017cony wybrany na PWP to GRUPA1 i jednocze\u015bnie towar na dokumencie RWS nale\u017cy do grupy GRUPA2 to warunek powinien wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n<p><code><strong>'1'='1' And Exists (Select * From CDN.Towary JOIN\u00a0 CDN.TwRGrupy on TwR_TwGGIDNumer=TwG_GIDNumer and TwG_GIDTyp=-16<\/strong><br \/>\n<strong>Where Twr_TwrId = TrE_TwrId And TwG_Kod\u00a0 = 'GRUPA2') AND EXISTS ( SELECT * FROM CDN.TraElem B JOIN CDN.Towary C <\/strong><br \/>\n<strong>ON B.TrE_TwrId = C.Twr_TwrId JOIN\u00a0 CDN.TwRGrupy D on C.TwR_TwGGIDNumer=D.TwG_GIDNumer and D.TwG_GIDTyp=-16<\/strong><br \/>\n<strong>WHERE B.TrE_TrEId = CDN.TraElem.TrE_TrEIdProd AND D.TwG_Kod = 'GRUPA1' )<\/strong><\/code><br \/>\n<a name=\"zsk19\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>19. Jak w opisie dekretu, dla ksi\u0119gowania Rejestru VAT, uzyska\u0107 liczb\u0119 porz\u0105dkow\u0105 faktury oraz rejestr,<br \/>\nw kt\u00f3rym jest zapisana?<\/h3>\n<p>W pozycji schematu dla rejestru VAT, w polu <strong>Opis<\/strong>, nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>@Dokument + ' ' + LTRIM(STR(VaN_Lp)) + ' '+ @Rejestr<\/strong><\/code><\/p>\n<p>Makro @Dokument mo\u017ce zosta\u0107 zast\u0105pione innym istniej\u0105cym makrem \u2013 chodzi o to, aby program wiedzia\u0142 do jakiej tabeli ma si\u0119 odwo\u0142a\u0107.<\/p>\n<p>Poniewa\u017c Liczba porz\u0105dkowa jest liczb\u0105, SQL nie radzi sobie z dodaniem jej do tekstu.<\/p>\n<p>Nale\u017cy wykona\u0107 jawn\u0105 konwersj\u0119 danych, np:<\/p>\n<p><code><strong>@Dokument + ' ' + STR(VaN_Lp)<\/strong><\/code><\/p>\n<p>Poniewa\u017c jednak funkcja STR dodaje spacje na pocz\u0105tku liczby, wi\u0119c \u017ceby si\u0119 ich pozby\u0107, mo\u017cna zapisa\u0107 wyra\u017cenie nast\u0119puj\u0105co:<\/p>\n<h3><code><strong>@Dokument + ' ' + LTRIM(STR(VaN_Lp))<\/strong><a name=\"zsk20\"><\/a><\/code><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>20. Jak zaksi\u0119gowa\u0107 Faktur\u0119 Zakupu, \u017ceby w schemacie\u00a0 ksi\u0119gowania w\u00a0warunku zastosowa\u0107 fragment numeru dokumentu np MAGAZYN\u00a0 i SERIA z numeru FZ\/99\/MAGAZYN\/SERIA?<\/h3>\n<p><code><strong>@NumerPelny LIKE '%MAGAZYN\/SERIA%'<\/strong><\/code><\/p>\n<p>W\u00f3wczas podana kwota, zostanie zaksi\u0119gowana na wskazane konta je\u017celi numer faktury b\u0119dzie zawiera\u0142 ci\u0105g znak\u00f3w: \u2018MAGAZYN\/SERIA\u2019. Warunek mo\u017ce by\u0107 zastosowany dla faktury sprzeda\u017cy i zakupu ksi\u0119gowanych<br \/>\nz modu\u0142u Faktury.<\/p>\n<p>Czy takiego warunku mo\u017cna te\u017c u\u017cy\u0107 przy ksi\u0119gowaniu faktur zakupu z poziomu rejestru VAT?<\/p>\n<p>Tak, warunek ksi\u0119gowania powinien wygl\u0105da\u0107 tak:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from CDN.TraNag where VaN_VaNID=TrN_VaNId AND TrN_NumerPelny LIKE '%MAGAZYN\/SERIA%')<\/strong><\/code><\/p>\n<p><strong>Patrz te\u017c pytania nr: <\/strong><\/p>\n<ol start=\"11\">\n<li style=\"list-style-type: none;\">\n<ol start=\"11\">\n<li><a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk11\"><em>Jak uzale\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w z ewidencji dodatkowej na poszczeg\u00f3lne konta od symbolu u\u017cytego w\u00a0schemacie numeracji?<\/em><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ol start=\"11\">\n<li style=\"list-style-type: none;\">\n<ol start=\"37\">\n<li><a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk37\"><em>Jak w warunku schematu dla WZ odwo\u0142a\u0107 si\u0119 do symbolu\/serii w numerze faktury do kt\u00f3rej zosta\u0142o wystawione WZ?<\/em><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>21. W jaki spos\u00f3b, w schemacie ksi\u0119gowania faktury zakupu z\u00a0rejestr\u00f3w VAT (pochodz\u0105cej z modu\u0142u Faktury), umie\u015bci\u0107 w opisie jej numer pe\u0142ny (w\u0142asny)?<\/h3>\n<p>Nale\u017cy zdefiniowa\u0107 funkcj\u0119 serwerow\u0105. Poni\u017cej przyk\u0142ad takiej funkcji:<\/p>\n<p><code>Create Function CDN.MojeFunkcje_Podaj_TrN_NumerPelny (@VaNId Int) Returns VarChar(31) As\u00a0 Begin<br \/>\nDeclare @Numer VarChar(31)<br \/>\nSet @Numer = IsNull((Select Top 1 TrN_NumerPelny From CDN.TraNag Where TrN_VaNId = @VaNId), '')<br \/>\nReturn @Numer<br \/>\nEnd<\/code><br \/>\nJe\u017celi chcemy to umie\u015bci\u0107 w opisie, to musi si\u0119 znale\u017a\u0107 w \"towarzystwie\" co najmniej jednego makra, np.:<\/p>\n<p><code>@Dokument + ' ' + CDN.MojeFunkcje_Podaj_TrN_NumerPelny (VaN_VaNId)<\/code><br \/>\n<a name=\"zsk22\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>22. Jakiego u\u017cy\u0107 warunku aby zaksi\u0119gowa\u0107 faktur\u0119<br \/>\nw zale\u017cno\u015bci od terminu p\u0142atno\u015bci?<\/h3>\n<p>Dla ksi\u0119gowania faktur z modu\u0142u Faktury:<\/p>\n<p><code><strong>'1'='1' AND TrN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)<\/strong><\/code><\/p>\n<p>Podana w elemencie schematu kwota, zostanie zaksi\u0119gowana na zadane konta je\u017celi termin p\u0142atno\u015bci faktury b\u0119dzie zawiera\u0142 si\u0119 mi\u0119dzy 2018-01-01 a 2018-01-31.<\/p>\n<p>Dla ksi\u0119gowania faktur z Rejestr\u00f3w VAT:<\/p>\n<h3><code><strong>'1'='1' AND VaN_Termin BETWEEN Convert(DateTime, '2018-01-01', 120) AND Convert(DateTime, '2018-01-31', 120)<\/strong><\/code><a name=\"zsk23\"><\/a><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>23. Jak w schemacie ksi\u0119gowania podzieli\u0107 wynagrodzenia wg wydzia\u0142\u00f3w przy czym na jedn\u0105 list\u0119 wchodz\u0105 pracownicy z kilku wydzia\u0142\u00f3w?<\/h3>\n<p>W warunku nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' and Exists (Select * From CDN.PracEtaty Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo And CDN.DzialSciezka(PRE_DZLId) = 'FIRMA\\WYDZIA\u01411\\PODWYDZIA\u01411')<\/strong><\/code><\/p>\n<p>WYDZIA\u01411 to nazwa wydzia\u0142u w kt\u00f3rego sk\u0142ad wchodzi PODWYDZIA\u01411. Pracownik ma podpi\u0119ty na karcie PODWYDZIA\u01411.<br \/>\n<a name=\"zsk24\"><\/a><\/p>\n<h3><a name=\"_Toc519262430\"><\/a><a name=\"_Toc430949070\"><\/a>24. Jak w schemacie do ksi\u0119gowania listy p\u0142ac rozksi\u0119gowa\u0107 sk\u0142adk\u0119 na FP i FG\u015aP z\u00a0podzia\u0142em na wydzia\u0142y (sk\u0142adk\u0119 wyliczon\u0105 i zsumowan\u0105 dla ka\u017cdego<br \/>\nz pracownik\u00f3w danego wydzia\u0142u)?<\/h3>\n<p>Warto\u015bci FP i FG\u015aP obliczone dla sk\u0142adnik\u00f3w wynagrodze\u0144 poszczeg\u00f3lnych pracownik\u00f3w, s\u0105 umieszczone<br \/>\nw tabeli CDN.WypElementy w polach: WPE_SklFP i WPE_SklFGSP. Do ww. tabeli odwo\u0142uje si\u0119 np. makro kwoty @Brutto. Aby zaksi\u0119gowa\u0107 kwot\u0119 FP i FG\u015aP obliczon\u0105 dla poszczeg\u00f3lnych pracownik\u00f3w przypisanych do konkretnego wydzia\u0142u, nale\u017cy w elemencie schematu, w\u00a0polu <strong>Kwota<\/strong>, u\u017cy\u0107 wyra\u017cenia:<\/p>\n<p>Dla ksi\u0119gowania FP:<\/p>\n<p><code><strong>@Brutto - @Brutto + WPE_SklFP<\/strong><\/code><\/p>\n<p>Dla ksi\u0119gowania FG\u015aP:<\/p>\n<p><code><strong>@Brutto - @Brutto + WPE_SklFGSP<\/strong><\/code><\/p>\n<p>W warunku nale\u017cy u\u017cy\u0107 wyra\u017cenia dotycz\u0105cego Wydzia\u0142u (@Wydzial) lub opisanego w pytaniu <strong>30<\/strong>. <em>Jak w schemacie ksi\u0119gowania podzieli\u0107 wynagrodzenia wg wydzia\u0142\u00f3w przy czym na jedn\u0105 list\u0119 wchodz\u0105 pracownicy<br \/>\nz kilku wydzia\u0142\u00f3w?<\/em><br \/>\n<a name=\"zsk25\"><\/a><\/p>\n<h3><a name=\"_Toc524945564\"><\/a><a name=\"_Toc430949103\"><\/a>25. Jak zaksi\u0119gowa\u0107 KP\/KW w zale\u017cno\u015bci od tego czy termin p\u0142atno\u015bci, na fakturze, kt\u00f3ra jest rozliczona<br \/>\nz p\u0142atno\u015bci\u0105, jest r\u00f3\u017cny od daty wystawienia dokumentu i forma p\u0142atno\u015bci to got\u00f3wka?<\/h3>\n<p>W warunku mo\u017cna u\u017cy\u0107 nast\u0119puj\u0105cego wyra\u017cenia:<\/p>\n<p><code><strong>'1'='1' AND exists ( select * from CDN.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID = BZd_BZdID AND BRR_DDokTyp=1 join CDN.FormyPlatnosci on BZd_FPlId = FPl_FPlId where BZp_BZpID=BRR_ZDokID AND BRR_ZDokTyp=2 AND BZd_Termin&lt;&gt;BZd_DataDok AND BZd_DokumentTyp IN (1,2) AND FPl_Typ=1)<\/strong><\/code><\/p>\n<p>Warunek sprawdza daty i form\u0119 p\u0142atno\u015bci zdarzenia w Preliminarzu. Uwzgl\u0119dnia wi\u0119c sytuacj\u0119, w kt\u00f3rej p\u0142atno\u015b\u0107 do faktury zosta\u0142a podzielona na raty. Natomiast w sytuacji gdy jest jedna p\u0142atno\u015b\u0107, kt\u00f3ra rozlicza kilka faktur i co najmniej jedna z nich spe\u0142nia powy\u017cszy warunek - KP\/KW zostanie zaksi\u0119gowane.<\/p>\n<p>Pole FPl_Typ=1 oznacza, \u017ce typ formy p\u0142atno\u015bci to \"got\u00f3wka\" (takich form zdefiniowanych w programie mo\u017ce by\u0107 wiele i wszystkie zostan\u0105 wzi\u0119te pod uwag\u0119). Je\u017celi warunek ma dotyczy\u0107 tylko konkretnej formy p\u0142atno\u015bci, kt\u00f3ra ma identyfikator np. 1 to zamiast powy\u017cszego nale\u017cy wpisa\u0107: FPl_FPlId=1.<br \/>\n<a name=\"zsk26\"><\/a><\/p>\n<h3><a name=\"_Toc524945565\"><\/a><a name=\"_Toc430949105\"><\/a>26. Jak w schemacie ksi\u0119gowym dla Rejestru VAT po\u0142\u0105czy\u0107 kwot\u0119 dodatkow\u0105 z kwot\u0105 brutto i VAT faktury tak aby schemat nie wykazywa\u0142 b\u0142\u0119du u\u017cycia makr r\u00f3\u017cnych typ\u00f3w?<\/h3>\n<p>W jednej z firm, program fakturuj\u0105cy oblicza warto\u015bci detaliczne danej faktury. Warto\u015b\u0107 ta jest przenoszona do kwot dodatkowych na fakturze w Rejestrze VAT w <strong>Comarch ERP Optima<\/strong>. Z warto\u015bci detalicznej brutto nale\u017cy obliczy\u0107 jaka kwota mar\u017cy przypada na warto\u015b\u0107 netto i jaka na warto\u015b\u0107 VAT. Wz\u00f3r na obliczenie tych kwot wygl\u0105da nast\u0119puj\u0105co:<\/p>\n<p>Kwota mar\u017cy przypadaj\u0105ca na warto\u015b\u0107 netto:<\/p>\n<p><code><strong>@KwotaDodat-(@VAT*(@KwotaDodat-@Brutto)\/@Brutto)-@Brutto<\/strong><\/code><\/p>\n<p>Kwota mar\u017cy przypadaj\u0105ca na warto\u015b\u0107 VAT:<\/p>\n<p><code><strong>@VAT+(@VAT*(@KwotaDodat-@Brutto)\/@Brutto<\/strong><\/code><\/p>\n<p>Schemat wygl\u0105da nast\u0119puj\u0105co:<\/p>\n<p>Wn<\/p>\n<p>221 (kwota VAT-u z faktury) 3,06<\/p>\n<p>332 (Kwota dodatkowa) 55,50<\/p>\n<p>Ma<\/p>\n<p>201 (kwota brutto z faktury - konto kontrahenta) 46,81<\/p>\n<p>341 (Kwota mar\u017cy przypadaj\u0105cej na warto\u015b\u0107 netto) 8,12<\/p>\n<p>342 (kwota mar\u017cy przypadaj\u0105cej na warto\u015b\u0107 VAT) 3,63<\/p>\n<p>Po wprowadzeniu takiej formu\u0142y do pozycji schematu, pojawia si\u0119 komunikat o b\u0142\u0119dzie po\u0142\u0105czenia makr z\u00a0element\u00f3w i nag\u0142\u00f3wka.<\/p>\n<p>Problem ten mo\u017cna rozwi\u0105za\u0107 wykorzystuj\u0105c fakt, \u017ce \"makra\" (symbole kwot zaczynaj\u0105ce si\u0119 od @) s\u0105 w procesie ksi\u0119gowania \"t\u0142umaczone\" na nazwy p\u00f3l w bazie danych.<\/p>\n<p>Odpowiednio<\/p>\n<p>@VAT odpowiada warto\u015bci pola VaN_RazemVAT<\/p>\n<p>@Brutto odpowiada warto\u015bci pola VaN_RazemBrutto<\/p>\n<p>Przy czym w konstrukcji schematu mo\u017cliwe jest wykorzystanie obok \"makr\" r\u00f3wnie\u017c nazw p\u00f3l w bazie.<\/p>\n<p>U\u017cycie nazwy pola w bazie skutkuje przy okazji tym, \u017ce nie jest ono uwzgl\u0119dniane w sprawdzaniu typ\u00f3w u\u017cytych makr.<\/p>\n<p>Reasumuj\u0105c \u2013 mo\u017cna przygotowa\u0107 schemat:<\/p>\n\n<table id=\"tablepress-299\" class=\"tablepress tablepress-id-299\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Konto Wn<\/th><th class=\"column-2\">Konto Ma<\/th><th class=\"column-3\">Kwota<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">221<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">@Vat<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">332<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">@KwotaDodat<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">201<\/td><td class=\"column-3\">@Brutto  (z podzia\u0142em na podmioty)<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">341<\/td><td class=\"column-3\">@KwotaDodat - VaN_RazemBrutto - ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) \/ VaN_RazemBrutto, 2 )<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">342<\/td><td class=\"column-3\">VaN_RazemVat + ROUND ( VaN_RazemVAT * ( @KwotaDodat - VaN_RazemBrutto ) \/ VaN_RazemBrutto, 2 )<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-299 from cache -->\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\">U\u017cycie funkcji ROUND jest tu wskazane - gdyby wynik podzia\u0142u mar\u017cy da\u0142 w\u00a0ko\u0144c\u00f3wce r\u00f3wne 0.005 to efekcie oba ksi\u0119gowania (na konta 341 i 342) zosta\u0142yby zaokr\u0105glone w g\u00f3r\u0119 i dostaliby\u015bmy 1 grosz za du\u017co.<\/div><\/div><\/section>\n<p><strong>Patrz te\u017c pytanie: 28<\/strong>. <a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk28\"><em>Jak w schemacie dla Rejestr\u00f3w VAT zdefiniowa\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy kwot\u0105 dodatkow\u0105 i kwot\u0105 netto faktury?<\/em><\/a><br \/>\n<a name=\"zsk27\"><\/a><\/p>\n<h3><a name=\"_Toc524945566\"><\/a><a name=\"_Toc430949106\"><\/a>27.\u00a0Jak uzale\u017cni\u0107 ksi\u0119gowanie odpis\u00f3w amortyzacyjnych od opisu na karcie danego \u015brodka trwa\u0142ego?<\/h3>\n<p>Przypadek dotyczy\u0142 sytuacji gdy klient ksi\u0119gowa\u0142 u\u017cywaj\u0105c kategorii na konta zespo\u0142u \u201e4\u201d i chcia\u0142 ksi\u0119gowa\u0107 na konta zespo\u0142u \u201e5\u201d w zale\u017cno\u015bci od tego czy opis na karcie \u015brodka trwa\u0142ego zawiera\u0142 dany ci\u0105g znak\u00f3w. Na karcie \u015brodka trwa\u0142ego s\u0105 dwa pola opisowe, kt\u00f3re mo\u017cna wykorzysta\u0107: Opis kategorii (czyli to pole po prawej stronie od Kategorii) i pole <strong>Opis<\/strong>. W schemacie mo\u017cna odwo\u0142a\u0107 si\u0119 do nich w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<p>Dla opisu kategorii na karcie \u015brodka w warunku nale\u017cy wpisa\u0107 np.:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * from CDN.Trwale where SrT_SrTID=SrH_SrTID and SrT_Kategoria LIKE '%550%')<\/strong><\/code><\/p>\n<p>Dla Opisu na karcie w warunku nale\u017cy wpisa\u0107 np.:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (Select * From CDN.Trwale Where SrT_SrTID=SrH_SrTID And\u00a0 SrT_Opis LIKE '%550%')<\/strong><\/code><\/p>\n<p>Warunki oznaczaj\u0105, \u017ce podana kwota zostanie zaksi\u0119gowana je\u017celi opis zawiera wyra\u017cenie '550'.<\/p>\n<p>Aby schemat zadzia\u0142a\u0142 poprawnie w Opisie elementu schematu nale\u017cy u\u017cy\u0107 makro, kt\u00f3re odwo\u0142uje si\u0119 do karty \u015brodka trwa\u0142ego np. @ST_NrInwent (czyli Numer inwentarzowy).<br \/>\n<a name=\"zsk28\"><\/a><\/p>\n<h3><a name=\"_Toc524945567\"><\/a><a name=\"_Toc430949107\"><\/a>28 Jak w schemacie dla Rejestr\u00f3w VAT zdefiniowa\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy kwot\u0105 dodatkow\u0105 i kwot\u0105 netto faktury?<\/h3>\n<p>Dodatkowo istnieje potrzeba wpisania warunku, \u017ce je\u015bli wynik b\u0119dzie dodatni to kwota ma zosta\u0107 zaksi\u0119gowana na okre\u015blone konta.<\/p>\n<p>Taki warunek mo\u017cna zawrze\u0107 w definicji kwoty:<\/p>\n\n<table id=\"tablepress-300\" class=\"tablepress tablepress-id-300\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Lp<\/th><th class=\"column-2\">Konto Wn  <\/th><th class=\"column-3\">Konto Ma  <\/th><th class=\"column-4\">Kwota<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">1<\/td><td class=\"column-2\">760<\/td><td class=\"column-3\">340<\/td><td class=\"column-4\">CASE WHEN @KwotaDodat > VaN_RazemNetto THEN @KwotaDodat - VaN_RazemNetto ELSE 0 END<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">2<\/td><td class=\"column-2\">340<\/td><td class=\"column-3\">760<\/td><td class=\"column-4\">CASE WHEN @KwotaDodat < VaN_RazemNetto THEN VaN_RazemNetto - @KwotaDodat ELSE 0 END<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-300 from cache -->\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\">Je\u015bli na li\u015bcie kwot dodatkowych b\u0119dzie wpisane wi\u0119cej ni\u017c jedna kwota, to ka\u017cda z nich b\u0119dzie por\u00f3wnywana z warto\u015bci\u0105 netto oddzielnie \u2013<br \/>\nw szczeg\u00f3lno\u015bci, je\u015bli jedna z\u00a0tych kwot b\u0119dzie wi\u0119ksza od netto, a druga mniejsza, to powstan\u0105 dwa zapisy.<\/div><\/div><\/section>\n<p><a name=\"_Toc430949108\"><\/a><strong>Patrz te\u017c pytanie nr:\u00a0 26.<\/strong> <a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk26\">Jak w schemacie ksi\u0119gowym dla Rejestru VAT po\u0142\u0105czy\u0107 kwot\u0119 dodatkow\u0105<\/a><br \/>\nz kwot\u0105 brutto i VAT faktury tak aby schemat nie wykazywa\u0142 b\u0142\u0119du u\u017cycia makr r\u00f3\u017cnych typ\u00f3w?<\/p>\n<p>Je\u017celi istnieje konieczno\u015b\u0107 por\u00f3wnania sumy kwot dodatkowych z warto\u015bci\u0105 netto, to mo\u017cna pos\u0142u\u017cy\u0107 si\u0119 odpowiedni\u0105 funkcj\u0105 serwerow\u0105.<\/p>\n<p>Przyk\u0142ad funkcji dla sumy kwot dodatkowych wi\u0119kszej od netto:<\/p>\n<p><code>create function cdn.KwotyDW (@VaNId Int)<br \/>\nreturns Decimal(15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik Decimal(15,2)<br \/>\nselect @wynik = Sum(Kdd_Kwota) - VaN_RazemNetto<br \/>\nfrom CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID<br \/>\nwhere Kdd_DokumentID = @VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having<br \/>\nSum(Kdd_Kwota) &gt; VaN_RazemNetto<br \/>\nreturn IsNull(@wynik,0)<br \/>\nend<\/code><\/p>\n<p>W schemacie, w polu <strong>Kwota<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><strong>'0' + cdn.KwotyDW(VaN_VaNID)<\/strong><\/p>\n<p>Dla sumy kwot dodatkowych mniejszych:<\/p>\n<p><code>create function cdn.KwotyDM (@VaNId Int)<br \/>\nreturns Decimal(15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik Decimal(15,2)<br \/>\nselect @wynik = VaN_RazemNetto - Sum(Kdd_Kwota)<br \/>\nfrom CDN.KwotyDodatkowe join cdn.vatnag on Kdd_DokumentID=VaN_VaNID\u00a0 where\u00a0 Kdd_DokumentID =\u00a0@VaNId AND KDD_DokumentTyp=2 group by VaN_RazemNetto having\u00a0 Sum(Kdd_Kwota) &lt; VaN_RazemNetto<br \/>\nreturn IsNull(@wynik,0)<br \/>\nend<\/code><\/p>\n<p>W schemacie, w polu <strong>Kwota<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'0' + cdn.KwotyDM(VaN_VaNID)<\/strong><\/code><\/p>\n<p>Warunku w ww. funkcjach nie uwzgl\u0119dniaj\u0105 sytuacji gdy suma kwot dodatkowych jest r\u00f3wna razem netto.<\/p>\n<p><strong>Patrz te\u017c pytanie nr: 29.<\/strong><a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk28\"> <em>Jak w schemacie ksi\u0119gowym uzyska\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy sum\u0105 kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a warto\u015bci\u0105 netto faktury?<\/em><\/a><br \/>\n<a name=\"zsk29\"><\/a><\/p>\n<h3><a name=\"_Toc524945568\"><\/a><a name=\"_Toc430949109\"><\/a>29 Jak w schemacie ksi\u0119gowym uzyska\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy sum\u0105 kwot dodatkowych Wn minus suma kwot dodatkowych Ma, a warto\u015bci\u0105 netto faktury?<\/h3>\n<p>W celu uzyskania sumy kwot dodatkowych Wn i Ma nale\u017cy stworzy\u0107 funkcj\u0119 serwerow\u0105. Poni\u017cej przyk\u0142ad funkcji:<\/p>\n<p>a) dla sumy kwot dodatkowych Wn<\/p>\n<p><code>create function cdn.SumaKwotyDodWn (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2)<br \/>\nselect @wynik = Sum(Kdd_Kwota)<br \/>\nfrom CDN.KwotyDodatkowe<br \/>\nwhere Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment1&lt;&gt;''<br \/>\nreturn IsNull(@wynik,0) end<\/code><\/p>\n<p>Kwot\u0119 w schemacie nale\u017ca\u0142oby zapisa\u0107 jako:<br \/>\n<code>'0' + cdn.SumaKwotyDodWn(VaN_VaNID)<\/code><br \/>\nb) dla sumy kwot dodatkowych Ma<br \/>\n<code>create function cdn.SumaKwotyDodMa (@VaNId Int) returns Decimal(15,2) as begin declare @wynik Decimal(15,2)<br \/>\nselect @wynik = Sum(Kdd_Kwota)<br \/>\nfrom CDN.KwotyDodatkowe<br \/>\nwhere Kdd_DokumentID=@VaNId AND KDD_DokumentTyp=2 AND Kdd_Segment2&lt;&gt;''<br \/>\nreturn IsNull(@wynik,0) end<\/code><br \/>\nKwot\u0119 w schemacie nale\u017ca\u0142oby zapisa\u0107 jako:<br \/>\n<code>'0' + cdn.SumaKwotyDodMa(VaN_VaNID)<\/code><br \/>\nAby uzyska\u0107 nast\u0119puj\u0105c\u0105 kwot\u0119: suma kwot dodatkowych Wn minus suma kwot dodatkowych Ma minus razem netto, jako kwot\u0119 w schemacie mo\u017cna wpisa\u0107:<br \/>\n<code>'0' + (cdn.SumaKwotyDodWn(VaN_VaNID) - cdn.SumaKwotyDodMa(VaN_VaNID)) - VaN_RazemNetto<\/code><br \/>\nPatrz te\u017c pytanie nr: 28. <a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk28\">Jak w schemacie dla Rejestr\u00f3w VAT zdefiniowa\u0107 kwot\u0119, kt\u00f3ra jest r\u00f3\u017cnic\u0105 pomi\u0119dzy kwot\u0105 dodatkow\u0105 i kwot\u0105 netto faktury?<\/a><br \/>\n<a name=\"zsk30\"><\/a><\/p>\n<h3><a name=\"_Toc524945569\"><\/a><a name=\"_Toc430949110\"><\/a>30 Jak zaksi\u0119gowa\u0107 faktur\u0119 (z rejestru VAT lub z modu\u0142u FA) w\u00a0zale\u017cno\u015bci od form p\u0142atno\u015bci przypisanych na zak\u0142adce Kontrahent faktury w Rejestrze VAT lub zak\u0142adce P\u0142atno\u015bci na fakturze w module FA)?<\/h3>\n<p>Chodzi o przypadek, gdy kwota p\u0142atno\u015bci jest rozbijana na kilka rat lub b\u0119dzie p\u0142acona kilkoma formami p\u0142atno\u015bci np. cz\u0119\u015b\u0107 got\u00f3wk\u0105, a pozosta\u0142a cz\u0119\u015b\u0107 przelewem.<\/p>\n<p>Nale\u017cy zdefiniowa\u0107 funkcj\u0119 serwerow\u0105. Przyk\u0142ad takiej funkcji (w przypadku ksi\u0119gowania z poziomu rejestr\u00f3w VAT) poni\u017cej:<\/p>\n<p><code>if exists (select * from sysobjects where name = 'userKwotaFormyPlatnosci' and xtype = 'FN')<br \/>\ndrop function CDN.userKwotaFormyPlatnosci<br \/>\nGO<br \/>\ncreate function CDN.userKwotaFormyPlatnosci (@vanid int, @nazwa varchar(20))<br \/>\nreturns numeric (15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik numeric (15,2)<br \/>\nif exists (select * from cdn.vatnag where van_vanid = @vanid and van_trnid is not null)<br \/>\n--- to jest przypadek zapisu zaksi\u0119gowanego z listy faktur:<br \/>\nselect @wynik = isnull(sum(bzd_kwotasys),0)<br \/>\nfrom cdn.bnkzdarzenia<br \/>\njoin cdn.formyplatnosci on bzd_fplid = fpl_fplid<br \/>\njoin cdn.tranag on bzd_dokumenttyp = 1 and bzd_dokumentid = trn_trnid<br \/>\nwhere fpl_nazwa = @nazwa<br \/>\nand trn_vanid = @vanid<br \/>\nelse<br \/>\n--- to jest przypadek zapisu \"r\u0119cznego\":<br \/>\nselect @wynik = isnull(sum(bzd_kwotasys),0)<br \/>\nfrom cdn.bnkzdarzenia<br \/>\njoin cdn.formyplatnosci on bzd_fplid = fpl_fplid<br \/>\nwhere fpl_nazwa = @nazwa<br \/>\nand bzd_dokumenttyp = 2 and bzd_dokumentid = @vanid<br \/>\nreturn @wynik<br \/>\nend<br \/>\nGO<br \/>\n<\/code><br \/>\nSchemat wygl\u0105da\u0142by w\u00f3wczas np. tak<br \/>\nKonto Kwota<br \/>\n<code>201 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'PRZELEW')<\/code><br \/>\n<code>100 '0' + CDN.userKwotaFormyPlatnosci (VaN_VaNId, 'GOT\u00d3WKA')<\/code><br \/>\nW tym wypadku funkcji u\u017cywamy w kwocie, a nie w warunku.<br \/>\nW przypadku ksi\u0119gowania dokument\u00f3w z poziomu listy faktur w module Handel\/Faktury funkcja wygl\u0105da nast\u0119puj\u0105co:<br \/>\n<code>create function CDN.userKwotaFormyPlatnosciFA (@trnid int, @nazwa varchar(20))<br \/>\nreturns numeric (15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik numeric (15,2)<br \/>\nselect @wynik = isnull(sum(bzd_kwotasys),0)<br \/>\nfrom cdn.bnkzdarzenia<br \/>\njoin cdn.formyplatnosci on bzd_fplid = fpl_fplid<br \/>\nwhere fpl_nazwa = @nazwa<br \/>\nand bzd_dokumenttyp = 1 and bzd_dokumentid = @trnid<br \/>\nreturn @wynik<br \/>\nend<\/code><br \/>\nPrzyk\u0142adowe odwo\u0142anie do funkcji w polu Kwota schematu:<br \/>\n<code>'0' + CDN.userKwotaFormyPlatnosciFA (TrN_TrNId, 'PRZELEW')<\/code><br \/>\n<a name=\"zsk31\"><\/a><\/p>\n<h3><a name=\"_Toc524945570\"><\/a><a name=\"_Toc430949111\"><\/a>31. W Rejestrze VAT wybieram na dokumencie kategori\u0119 szczeg\u00f3\u0142ow\u0105 ale chcia\u0142bym rozksi\u0119gowa\u0107 dokument na konto przypisane do kategorii og\u00f3lnej, czy jest to mo\u017cliwe?<\/h3>\n<p>Jest to mo\u017cliwe. Nale\u017cy stworzy\u0107 funkcj\u0119 serwerow\u0105, kt\u00f3ra odczyta segment konta z kategorii og\u00f3lnej np. mamy kategori\u0119 og\u00f3ln\u0105 ENERGIA, kt\u00f3ra ma jako segment Wn konta wybrane konto 402 i mamy kategorie szczeg\u00f3\u0142owe do niej:<\/p>\n\n<table id=\"tablepress-301\" class=\"tablepress tablepress-id-301\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Kategoria og\u00f3lna<\/th><th class=\"column-2\">Kategoria szczeg\u00f3\u0142owa<\/th><th class=\"column-3\">Segment Konto Wn<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">ENERGIA<\/td><td class=\"column-2\"><\/td><td class=\"column-3\">402<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">ENERGIA_PRODUKCJA<\/td><td class=\"column-3\">501-02<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">ENERGIA_HANDEL<\/td><td class=\"column-3\">505-02<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><\/td><td class=\"column-2\">ENERGIA_ZARZ\u0104D<\/td><td class=\"column-3\">510-02<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-301 from cache -->\n<p>Na dokumencie wybieramy kategorie szczeg\u00f3\u0142owe pozycji, za pomoc\u0105 kt\u00f3rych b\u0119dziemy dokonywa\u0107 ksi\u0119gowa\u0144 na konta zespo\u0142u \u201e5\u201d, natomiast na kategorii og\u00f3lnej mamy informacj\u0119 o koncie zespo\u0142u \u201e4\u201d. Segment konta Wn z kategorii pozycji szczeg\u00f3\u0142owej, mo\u017cna pobra\u0107 za pomoc\u0105 standardowo dost\u0119pnego makra: @KatElemKontoWn. Segment konta z kategorii og\u00f3lnej pozycji mo\u017cna popra\u0107 za pomoc\u0105 funkcji serwerowej. Poni\u017cej przyk\u0142ad takiej funkcji:<br \/>\n<code>Create Function CDN.A (@VaNID INT)<br \/>\nReturns VarChar(50)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(50)<br \/>\nSelect @Wynik = KatOgol.Kat_KontoSegmentWN<br \/>\nFrom CDN.VatTab<br \/>\nJoin CDN.VatNag On VaT_VaNID=VaN_VaNID<br \/>\nJoin CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId<br \/>\nJoin CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol<br \/>\nWhere VaN_VaNId = @VaNId<br \/>\nSet @Wynik = IsNull(@Wynik,'')<br \/>\nReturn @Wynik<br \/>\nEnd<\/code><br \/>\nW polu Konto Wn nale\u017cy wpisa\u0107:<br \/>\n<code>SUBSTRING(@KatElemKontoWn,1,0) +CDN.A(VaN_VaNID)<\/code><br \/>\nPrzyk\u0142ad funkcji pobieraj\u0105cej konto segment Wn z kategorii og\u00f3lnej pobieranej na podstawie kategorii szczeg\u00f3\u0142owej wybranej w nag\u0142\u00f3wku dokumentu:<br \/>\n<code>Create Function CDN.B (@VaNID INT)<br \/>\nReturns VarChar(50)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(50)<br \/>\nSelect @Wynik = KatOgol.Kat_KontoSegmentWN<br \/>\nFrom CDN.VatNag<br \/>\nJoin CDN.Kategorie KatSzczeg On VaN_KatId = KatSzczeg.Kat_KatId<br \/>\nJoin CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol<br \/>\nWhere VaN_VaNId = @VaNId<br \/>\nSet @Wynik = IsNull(@Wynik,'')<br \/>\nReturn @Wynik<br \/>\nEnd<\/code><br \/>\nW polu Konto Wn nale\u017cy wpisa\u0107:<br \/>\n<code>SUBSTRING(@KatNagKontoWn,1,0) +CDN.B(VaN_VaNID)<\/code><br \/>\nKonstrukcja poprzednich funkcji zak\u0142ada, \u017ce na dokumencie jest tylko jedna pozycja, b\u0105d\u017a w przypadku kilku pozycji \u2013 \u017ce wszystkie pozycje zawieraj\u0105 kategorie szczeg\u00f3\u0142owe nale\u017c\u0105ce do jednej kategorii og\u00f3lnej. W przypadku kiedy na ksi\u0119gowanym dokumencie znajduje si\u0119 wi\u0119cej ni\u017c jedna pozycja z r\u00f3\u017cnymi kategoriami og\u00f3lnymi, nale\u017cy zastosowa\u0107 poni\u017csz\u0105, bardziej rozbudowan\u0105 funkcj\u0119:<br \/>\n<code>Create Function CDN.AB (@VaNID INT, @KategoriaElem varchar(20))<br \/>\nReturns VarChar(50)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(50)<br \/>\nSelect @Wynik = KatOgol.Kat_KontoSegmentWN<br \/>\nFrom CDN.VatTab<br \/>\nJoin CDN.VatNag On VaT_VaNID=VaN_VaNID<br \/>\nJoin CDN.Kategorie KatSzczeg On VaT_KatId = KatSzczeg.Kat_KatId<br \/>\nJoin CDN.Kategorie KatOgol On KatSzczeg.Kat_KodOgolny = KatOgol.Kat_KodSzczegol<br \/>\nWhere VaN_VaNId = @VaNId and KatSzczeg.Kat_KodSzczegol = @KategoriaElem<br \/>\nSet @Wynik = IsNull(@Wynik,'')<br \/>\nReturn @Wynik<br \/>\nEnd<\/code><\/p>\n<p>Odwo\u0142anie do funkcji w pozycji Konto Wn schematu:<br \/>\n<code>SUBSTRING(@KatElemKontoWn,1,0) +CDN.AB(VaN_VaNID, Kat_KodSzczegol)<\/code><br \/>\n<a name=\"zsk32\"><\/a><\/p>\n<h3><a name=\"_Toc524945571\"><\/a><a name=\"_Toc430949112\"><\/a>32. Przekszta\u0142cam Paragon na kontrahenta \u201cnieokre\u015blonego\u201d do Faktury na okre\u015blonego kontrahenta. Jak zaksi\u0119gowa\u0107 KP do paragonu, na kt\u00f3rym jest kontrahent nieokre\u015blony, na kontrahenta, kt\u00f3ry jest na Fakturze?<\/h3>\n<p>W tym przypadku r\u00f3wnie\u017c mo\u017cna pos\u0142u\u017cy\u0107 si\u0119 funkcj\u0105 serwerow\u0105, kt\u00f3ra pobierze kod kontrahenta z Faktury i zbuduje na tej podstawie odpowiedni\u0105 analityk\u0119 konta np. 201. Poni\u017cej przyk\u0142ad funkcji, kt\u00f3ra pobierze kod kontrahenta z faktury:<br \/>\n<code>Create Function CDN.C (@BZpID INT)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Kontr VarChar(20)<br \/>\nSelect @Kontr = Knt_Kod<br \/>\nFrom cdn.BnkRozRelacje<br \/>\nJoin CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID<br \/>\nJoin CDN.BnkZapisy on BZp_BZpID=BRR_ZDokID<br \/>\nJoin cdn.tranag A on BZd_DokumentID=A.TrN_TrNID<br \/>\nJoin cdn.TraNagRelacje on A.TrN_TrNID=TrR_FaId<br \/>\nJoin cdn.tranag B on TrR_TrNId=B.TrN_TrNID<br \/>\nJoin cdn.kontrahenci on B.TrN_PodID=Knt_KntId<br \/>\nWhere BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND B.TrN_PodmiotTyp=1 AND TrR_TrNTyp=302 AND BZp_BZpID=@BZpID<br \/>\nReturn @Kontr<br \/>\nEnd<\/code><br \/>\nW schemacie ksi\u0119gowym dla raportu kasowo\/bankowego, jako konto nale\u017cy wpisa\u0107:<br \/>\n<code>SUBSTRING(@KontoRach,1,0) +'201-'+CDN.C(BZp_BZpID)<\/code><br \/>\nKonto musi istnie\u0107 ju\u017c w planie kont (czyli najpierw sugerujemy ksi\u0119gowanie faktury).<br \/>\nDo warunku takiej pozycji schematu mo\u017cna wstawi\u0107 wyra\u017cenie, kt\u00f3re sprawdzi czy dany dokument kasowy jest powi\u0105zany z faktur\u0105, kt\u00f3ra zosta\u0142a przekszta\u0142cona z paragonu.<br \/>\n<code>'1'='1' AND EXISTS (select * From cdn.BnkRozRelacje join CDN.BnkZdarzenia on BRR_DDokID=BZd_BZdID join cdn.tranag on BZd_DokumentID=TrN_FaId where BRR_ZDokTyp=2 AND BZd_DokumentTyp=1 AND BRR_DDokTyp=1 AND TrN_PodmiotTyp=1 AND BZp_BZpID=BRR_ZDokID and TrN_TypDokumentu=302)<\/code><br \/>\n<a name=\"zsk33\"><\/a><\/p>\n<h3><a name=\"_Toc524945572\"><\/a><a name=\"_Toc430949113\"><\/a>33. Jak zaksi\u0119gowa\u0107 faktur\u0119 na konto Odbiorcy, a nie Nabywcy (konta odbiorc\u00f3w tworzone s\u0105 wg akronimu)?<\/h3>\n<p>W tym przypadku r\u00f3wnie\u017c mo\u017cna pos\u0142u\u017cy\u0107 si\u0119 funkcj\u0105 serwerow\u0105, kt\u00f3ra pobierze kod kontrahenta (Odbiorcy) z\u00a0Faktury i zbuduje na tej podstawie odpowiedni\u0105 analityk\u0119 konta np. 201. Dodatkowo funkcja zamienia w\u00a0akronimie kontrahenta znaki spacji, kropki i my\u015blnika na znak podkre\u015blenia poniewa\u017c konta w planie kont nie mog\u0105 zawiera\u0107 takich znak\u00f3w. Poni\u017cej przyk\u0142ad funkcji, kt\u00f3ra pobierze kod Odbiorcy z faktury:<\/p>\n<p><code><span style=\"background-color: #f2f4f5;\">Create Function CDN.G (@TrnId Int)<\/span><\/code><code><br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Kontr VarChar(20)<br \/>\nSelect @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_')<br \/>\nFROM CDN.TraNag<br \/>\nJoin cdn.kontrahenci on TrN_OdbID=Knt_KntId<br \/>\nAND TrN_OdbiorcaTyp=1 AND TrN_TrNID=@TrnId<br \/>\nReturn @Kontr<br \/>\nEnd<\/code><br \/>\nW schemacie dla ksi\u0119gowania Faktur z modu\u0142u Faktury nale\u017cy wpisa\u0107 np.:<br \/>\n<code>LEFT(@Opis,0)+'201-'+CDN.G(TrN_TrNID)<\/code><br \/>\nKonto musi istnie\u0107 ju\u017c w planie kont.<br \/>\nPrzyk\u0142ad dla przypadku gdy faktury s\u0105 ksi\u0119gowane z Rejestru VAT:<br \/>\n<code>Create Function CDN.B (@VaNID INT)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Kontr VarChar(20)<br \/>\nSelect @Kontr = REPLACE(REPLACE(REPLACE(Knt_Kod, ' ', '_'), '.', '_'), '-', '_')<br \/>\nFrom cdn.TraNag<br \/>\nJoin CDN.VatNag on VaN_VaNID=TrN_VaNId<br \/>\nJoin cdn.kontrahenci on TrN_OdbID=Knt_KntId<br \/>\nAND TrN_OdbiorcaTyp=1 AND VaN_VaNId=@VaNID<br \/>\nReturn @Kontr<br \/>\nEnd<\/code><br \/>\nW schemacie dla ksi\u0119gowania Faktur z Rejestru VAT nale\u017cy wpisa\u0107 np.:<br \/>\n<code>LEFT(@Opis,0)+'201-'+CDN.B(VaN_VaNId)<\/code><br \/>\n<a name=\"zsk34\"><\/a><\/p>\n<h3><a name=\"_Toc524945573\"><\/a><a name=\"_Toc430949114\"><\/a>34. Jak automatycznie zaksi\u0119gowa\u0107 dokument na konto kontrahenta gdzie pierwsza analityka to kod kontrahenta, a druga analityka to segment konta pobrany z kategorii dokumentu?<\/h3>\n<p>Klient chce rozksi\u0119gowa\u0107 dokument na konto 201 wg wzorca: 201-kontrahent-kategoria. Nie da si\u0119 w takiej sytuacji zastosowa\u0107 podzia\u0142u na s\u0142owniki kontrahent\u00f3w poniewa\u017c po analityce kontrahenta ma by\u0107 jeszcze jedna analityka. W takiej sytuacji mo\u017cna pos\u0142u\u017cy\u0107 si\u0119 makrem @KodPodmiotu, kt\u00f3re jest obecne m.in. w schematach dla Rejestr\u00f3w VAT i Ewidencji dodatkowych. Za pomoc\u0105 ww. makra pobierzemy kod kontrahenta, natomiast za pomoc\u0105 dost\u0119pnych standardowo makr dotycz\u0105cych segment\u00f3w kont na kategoriach, pobierzemy analityk\u0119 przypisan\u0105 do kategorii. W polu <strong>Konto Wn<\/strong> lub <strong>Konto Ma<\/strong> wystarczy wi\u0119c wpisa\u0107 np. (dla ewidencji dodatkowej):<\/p>\n<p><code><strong>'201-'+@KodPodmiotu+'-'+@KontoKatWn<\/strong><\/code><\/p>\n<p>Konta w planie kont musz\u0105 istnie\u0107 przed ksi\u0119gowaniem. Ewentualnie musi istnie\u0107 konto syntetyczne \u2013 je\u017celi b\u0119dzie zaznaczony parametr o automatycznym zak\u0142adaniu kont nies\u0142ownikowych \u2013 konta si\u0119 za\u0142o\u017c\u0105. Konta b\u0119d\u0105 kontami zwyk\u0142ymi \u2013 nie s\u0142ownikowymi.<br \/>\n<a name=\"zsk35\"><\/a><\/p>\n<h3><a name=\"_Toc524945574\"><\/a><a name=\"_Toc430949115\"><\/a>35. Jak skonstruowa\u0107 schemat ksi\u0119gowania deklaracji VAT-7 w\u00a0rozbiciu na poszczeg\u00f3lne stawki VAT?<\/h3>\n<p>W schemacie ksi\u0119gowym mo\u017cna pos\u0142u\u017cy\u0107 si\u0119 istniej\u0105c\u0105 funkcj\u0105, kt\u00f3ra pobiera dane z poszczeg\u00f3lnych p\u00f3l deklaracji (z tabeli CDN.DeklElem):<\/p>\n<p><code><strong>CDN.KwotaKsiegDekl (DkN_DkNId, DkE_Numer)<\/strong><\/code><\/p>\n<p>W funkcji nale\u017cy poda\u0107 w\u0142a\u015bciw\u0105 warto\u015b\u0107 dla pola DkE_Numer\u00a0 i tak np. dla wzoru 18 deklaracji VAT-7 b\u0119dzie to warto\u015b\u0107:<\/p>\n<p>10500 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, zwolnione od podatku (poz. 10 na VAT-7)<\/p>\n<p>10550 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug, poza terytorium kraju (poz. 11 na VAT-7)<\/p>\n<p>10510 \u2013 w tym \u015bwiadczenie us\u0142ug, o kt\u00f3rych mowa w art.100 ust.1 pkt 4 ustawy (poz.12 na VAT-7)<\/p>\n<p>10700 \u2013 Dost. towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatk. stawk\u0105 0% (poz. 13 na VAT-7)<\/p>\n<p>10705 \u2013 w tym dostawa towar\u00f3w, o kt\u00f3rej mowa w art.129 ustawy (poz.14 na VAT-7)<\/p>\n<p>10710 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 3% albo 5% - netto<\/p>\n<p>10720 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 3% albo 5% - VAT<\/p>\n<p>11400 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 7% albo 8% - netto<\/p>\n<p>11500 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 7% albo 8% - VAT<\/p>\n<p>11600 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 22% albo 23% - netto<\/p>\n<p>11700 - Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug na terytorium kraju, opodatkowane stawk\u0105 odpowiednio 22% albo 23% - VAT<\/p>\n<p>11710 \u2013 Wewn\u0105trzwsp\u00f3lnotowa dostawa towar\u00f3w<\/p>\n<p>10600 \u2013 Eksport towar\u00f3w<\/p>\n<p>11730 \u2013 Wewn\u0105trzwsp\u00f3lnotowe nabycie towar\u00f3w \u2013 netto<\/p>\n<p>11740 \u2013 Wewn\u0105trzwsp\u00f3lnotowe nabycie towar\u00f3w \u2013 VAT<\/p>\n<p>11742 \u2013 Import towar\u00f3w, podlegaj\u0105cy rozliczeniu zgodnie z art. 33a ustawy \u2013 netto<\/p>\n<p>11744 - Import towar\u00f3w, podlegaj\u0105cy rozliczeniu zgodnie z art. 33a ustawy \u2013 VAT<\/p>\n<p>11750 \u2013 Import us\u0142ug \u2013 netto<\/p>\n<p>11760 \u2013 Import us\u0142ug \u2013 VAT<\/p>\n<p>11762 \u2013 w tym nabycie od podatnik\u00f3w podatku od warto\u015bci dodanej us\u0142ug, do kt\u00f3rych stosuje si\u0119 art. 28b ustawy<br \/>\n\u2013 netto<\/p>\n<p>11764 - w tym nabycie od podatnik\u00f3w podatku od warto\u015bci dodanej us\u0142ug, do kt\u00f3rych stosuje si\u0119 art. 28b ustawy<br \/>\n\u2013 VAT<\/p>\n<p>11770 \u2013 Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug, dla kt\u00f3rych podatnikiem jest nabywca\u00a0 - art. 17 ust. 1 pkt 7 lub 8 (pole 31 deklaracji) \u2013 kwota netto<\/p>\n<p>11780 \u2013 Dostawa towar\u00f3w, dla kt\u00f3rych podatnikiem jest nabywca\u00a0 - art. 17 ust. 1 pkt 5 (pole 32 deklaracji) \u2013 kwota netto<\/p>\n<p>11781 \u2013 Dostawa towar\u00f3w, dla kt\u00f3rych podatnikiem jest nabywca\u00a0 - art. 17 ust. 1 pkt 5 (pole 33 deklaracji) \u2013 kwota VAT<\/p>\n<p>11791 \u2013 Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug, dla kt\u00f3rych podatnikiem jest nabywca\u00a0 - art. 17 ust. 1 pkt 7 lub 8 (pole 34 deklaracji) \u2013 kwota netto<\/p>\n<p>11792 \u2013 Dostawa towar\u00f3w oraz \u015bwiadczenie us\u0142ug, dla kt\u00f3rych podatnikiem jest nabywca\u00a0 - art. 17 ust. 1 pkt 7 lub 8 (pole 35 deklaracji) \u2013 kwota VAT<\/p>\n<p>12000 \u2013 Kwota podatku nale\u017cnego od towar\u00f3w i us\u0142ug obj\u0119tych spisem z natury, o kt\u00f3rym mowa w art.14 ust.5 ustawy<\/p>\n<p>12005 - Zwrot odliczonej lub zwr\u00f3conej kwoty wydatkowanej na zakup kas rejestruj\u0105cych, o kt\u00f3rym mowa w art.111 ust.6 ustawy<\/p>\n<p>12010 \u2013 Kwota podatku nale\u017cnego od wewn\u0105trzwsp\u00f3lnotowego nabycia \u015brodk\u00f3w transportu<\/p>\n<p>12011 - Kwota podatku od wewn\u0105trzwsp\u00f3lnotowego nabycia paliw silnikowych<\/p>\n<p>Tak wi\u0119c aby zaksi\u0119gowa\u0107 kwot\u0119 VAT w stawce 22% albo 23% (pole 20. na deklaracji VAT-7) nale\u017cy wpisa\u0107 w\u00a0polu <strong>Kwota<\/strong> elementu schematu ksi\u0119gowego np. takie wyra\u017cenie:<\/p>\n<p><code><strong>@Vat7Nalezny - @Vat7Nalezny + CDN.KwotaKsiegDekl (DkN_DkNId, 11700)<\/strong><\/code><br \/>\n<a name=\"zsk36\"><\/a><\/p>\n<h3><a name=\"_Toc524945575\"><\/a><a name=\"_Toc430949123\"><\/a>36. Jak zaksi\u0119gowa\u0107 r\u00f3\u017cnic\u0119 pomi\u0119dzy obrotami Ma konta VAT-u a VAT-em nale\u017cnym z deklaracji VAT-7\/pliku JPK_V7?<\/h3>\n<p>Mo\u017cna to zrobi\u0107 definiuj\u0105c funkcj\u0119, kt\u00f3ra b\u0119dzie pobiera\u0142a obroty Ma odpowiedniego konta za okres, za kt\u00f3ry przeliczana jest deklaracja.<br \/>\n<code>Create Function CDN.ObrotyMa(@Konto VarChar(50), @RokMies Int)<br \/>\nReturns Decimal(15,2)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik Decimal(15,2), @OObId Int, @AccId Int<br \/>\n-- Okre\u015blamy Id bie\u017cacego okresu obarchunkowego<br \/>\nSelect @OObId = Case When IsNumeric(Fir_Wartosc)=1 Then Cast (Fir_Wartosc As Int) Else Null End From CDN.Firma Where Fir_Numer=244<br \/>\n-- Odczytujemy interesuj\u0105ce nas konto<br \/>\nSelect @AccId = Acc_AccId From CDN.Konta Where Acc_OObId = @OObId And Acc_Numer=@Konto<br \/>\n-- Odczytujemy obroty Ma z uwzgl\u0119dnieniem bufora<br \/>\nSelect @Wynik = Obr_ObrotyMaBufor From CDN.Obroty Where Obr_AccId = @AccId And Obr_RokMies = @RokMies And Obr_Typ = 0<br \/>\nReturn IsNull(@Wynik, 0)<br \/>\nEnd<\/code><br \/>\ni wykorzystanie w schemacie:<br \/>\n<code>CDN.ObrotyMa('221-2', DkN_RokMiesiac) - @Vat7Nalezny<\/code><br \/>\n<a name=\"zsk37\"><\/a><\/p>\n<p>W przypadku deklaracji kwartalnej kwot\u0119 zaokr\u0105gle\u0144 uwzgl\u0119dniaj\u0105c\u0105 obroty konta za 3 miesi\u0105ce danego kwarta\u0142u mo\u017cna uzyska\u0107 nast\u0119puj\u0105co:<\/p>\n<p><code>(CDN.ObrotyMa('221-2', DkN_RokMiesiac) + CDN.ObrotyMa('221-2', DkN_RokMiesiac-1) + CDN.ObrotyMa('221-2', DkN_RokMiesiac-2)) - @Vat7Nalezny<\/code><\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc524945576\"><\/a><a name=\"_Toc430949116\"><\/a>37. Jak w warunku schematu dla WZ odwo\u0142a\u0107 si\u0119 do symbolu\/serii w\u00a0numerze faktury do kt\u00f3rej zosta\u0142o wystawione WZ?<\/h3>\n<p>Zar\u00f3wno dokument Wydania zewn\u0119trznego (WZ) jak i faktura z tym dokumentem powi\u0105zana, s\u0105 zapisane w tej samej tabeli CDN.TraNag. W tej sytuacji warunek mo\u017cna zbudowa\u0107 nast\u0119puj\u0105co:<\/p>\n<p><code><strong>'1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')<\/strong><\/code><\/p>\n<p><strong>Patrz te\u017c pytania nr:<\/strong><\/p>\n<p><em>11. <a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk11\">Jak uzale\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w z ewidencji dodatkowej na poszczeg\u00f3lne konta od symbolu u\u017cytego w\u00a0schemacie numeracji?<\/a><\/em><\/p>\n<p><em>20. <a href=\"https:\/\/pomoc.comarch.pl\/optima\/pl\/2023_5\/index.php\/dokumentacja\/opt043-zaawansowane-schematy-ksiegowe\/#zsk20\">Jak zaksi\u0119gowa\u0107 faktur\u0119 zakupu, \u017ceby w schemacie ksi\u0119gowania w warunku zastosowa\u0107 fragment numeru dokumentu np MAGAZYN i SERIA z numeru FZ\/99\/MAGAZYN\/SERIA?<\/a><\/em><br \/>\n<a name=\"zsk38\"><\/a><\/p>\n<h3><a name=\"_Toc524945577\"><\/a><a name=\"_Toc430949124\"><\/a>38. Jak w opisie schematu do ksi\u0119gowania dokumentu WZ umie\u015bci\u0107 numer faktury, z kt\u00f3r\u0105 powi\u0105zane jest WZ?<\/h3>\n<p>Nale\u017cy w tym celu skonstruowa\u0107 funkcj\u0119 serwerow\u0105, kt\u00f3ra odczyta numer faktury. Funkcja mo\u017ce wygl\u0105da\u0107 tak:<br \/>\n<code>Create Function CDN.NumerFa (@TrNId Int)<br \/>\nReturns VarChar(30)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Numer VarChar(30)<br \/>\nSelect Top 1 @Numer = TrN_NumerPelny From CDN.TraNag Where TrN_TrNId = @TrNId<br \/>\nReturn IsNull(@Numer, '')<br \/>\nEnd<\/code><br \/>\nW opisie schematu ksi\u0119gowa\u0144 nale\u017cy poda\u0107 jakiekolwiek istniej\u0105ce makro razem z odwo\u0142aniem do ww. funkcji, np. w ten spos\u00f3b:<br \/>\n<code>@NumerPelny + ' ' + CDN.NumerFa (TrN_FaId)<\/code><br \/>\n<a name=\"zsk39\"><\/a><\/p>\n<h3><a name=\"_Toc524945578\"><\/a><a name=\"_Toc430949117\"><\/a>39. Jak przenie\u015b\u0107 kwot\u0119 wpisan\u0105 w polu Opis na fakturze do pozycji schematu ksi\u0119gowego?<\/h3>\n<p>W Opisie faktury wprowadzonej na list\u0119 faktur sprzeda\u017cy w module Faktury wprowadzono kwot\u0119, kt\u00f3ra powinna zosta\u0107 zaksi\u0119gowana na konta. Poniewa\u017c pole Opis nie jest polem numerycznym \u2013 nale\u017cy je do takiego przekonwertowa\u0107 i dodatkowo ksi\u0119gowa\u0107 tylko wtedy gdy w polu Opis faktycznie wyst\u0119puje liczba.<br \/>\nW pozycji schematu, w polu Kwota mo\u017cna wpisa\u0107 nast\u0119puj\u0105ce wyra\u017cenie:<br \/>\n<code>@PlatRazem -  @PlatRazem + CASE WHEN ISNUMERIC(TrN_Opis)=1 THEN CAST (TrN_Opis AS DECIMAL(15,2)) ELSE 0 END<\/code><br \/>\nDla faktur ksi\u0119gowanych z Rejestru VAT mo\u017cna u\u017cy\u0107 pola opisu kategorii:<br \/>\n<code>@PlatRazem -  @PlatRazem + CASE WHEN ISNUMERIC(VaN_Kategoria )=1 THEN CAST (VaN_Kategoria AS DECIMAL(15,2)) ELSE 0 END<\/code><br \/>\nMakra istniej\u0105ce nie mog\u0105 odwo\u0142ywa\u0107 si\u0119 do element\u00f3w faktury \u2013 musz\u0105 odwo\u0142ywa\u0107 si\u0119 do nag\u0142\u00f3wka (tak jak np. makro @PlatRazem). Je\u017celi zostanie u\u017cyte makro odwo\u0142uj\u0105ce si\u0119 do element\u00f3w np. @PozNetto (dla modu\u0142u FA) lub @Netto (dla rejestru VAT) \u2013 to ksi\u0119gowana kwota b\u0119dzie mno\u017cona przez ilo\u015b\u0107 pozycji na fakturze.<br \/>\n<a name=\"zsk40\"><\/a><\/p>\n<h3><a name=\"_Toc524945579\"><\/a><a name=\"_Toc430949118\"><\/a>40. Jak zaksi\u0119gowa\u0107 kwot\u0119 \u201edo wyp\u0142aty\u201d z listy p\u0142ac<br \/>\nw zale\u017cno\u015bci od rodzaju umowy zlecenia\/dzie\u0142o i formy p\u0142atno\u015bci?<\/h3>\n<p><strong>Od wersji 8.0<\/strong> systemu zmieni\u0142 si\u0119 spos\u00f3b zapisywania form p\u0142atno\u015bci dla pracownik\u00f3w. S\u0105 one zapisywane w\u00a0osobnej tabeli: CDN.SchematPlatnosci. W zwi\u0105zku z czym, o ile w poprzednich wersjach dzia\u0142a\u0142 warunek:<\/p>\n<p><code>Exists (Select * From CDN.PracEtaty join CDN.FormyPlatnosci on PRE_FplId=FPl_FPlId Where WPL_PraId = PRE_PraId AND WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzie\u0142o 20%'<\/code><br \/>\nOd wersji 8.0 warunek powinien wygl\u0105da\u0107 nast\u0119puj\u0105co:<br \/>\n<code>Exists (Select * From CDN.PracEtaty join cdn.SchematPlatnosci on PRE_PreId = SPL_PodmiotId join CDN.FormyPlatnosci on SPL_FplId=FPl_FPlId Where SPL_PodmiotTyp = 3 and  WPL_PraId = PRE_PraId AND  WPL_DataDok Between PRE_DataOd And PRE_DataDo AND FPl_Typ=1) AND @TypWyplaty ='dzie\u0142o 20%' <\/code><br \/>\nFPl_Typ=1 oznacza form\u0119 p\u0142atno\u015bci typu \u201egot\u00f3wka\u201d.<br \/>\n<a name=\"zsk41\"><\/a><\/p>\n<h3><a name=\"_Toc524945580\"><\/a><a name=\"_Toc430949119\"><\/a>41. Jak wyksi\u0119gowa\u0107 kwot\u0119 dotychczasowych zaliczek<br \/>\nz faktury finalnej ksi\u0119gowanej przez Rejestr sprzeda\u017cy VAT?<\/h3>\n<p>Najpro\u015bciej ksi\u0119gowa\u0107 faktury zaliczkowe przez modu\u0142 Faktury poniewa\u017c w schematach do Faktur sprzeda\u017cy s\u0105 dodane odpowiednie makra.<br \/>\nJe\u017celi faktury zaliczkowe i faktura finalna s\u0105 wystawiane w module Faktury, a nast\u0119pnie przenoszone do Rejestru VAT to kwot\u0119 dotychczasowych zaliczek z faktury finalnej mo\u017cna odczyta\u0107 stosuj\u0105c istniej\u0105c\u0105 w programie funkcj\u0119 i w polu Kwota pozycji schematu wpisa\u0107:<br \/>\nDla kwoty zaliczki netto:<br \/>\n<code>'0'+CDN.TraKwoty(VaN_TrNId,'ZN',Null,Null)<\/code><br \/>\nDla kwoty zaliczki brutto:<br \/>\n<code>'0'+CDN.TraKwoty(VaN_TrNId,'ZB',Null,Null)<\/code><br \/>\nAby sprawdzi\u0107 czy faktura jest zaliczkowa mo\u017cna u\u017cy\u0107 nast\u0119puj\u0105cego warunku:<br \/>\n<code>'1'='1' AND exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))<\/code><br \/>\nWarunek dla faktury finalnej:<br \/>\n<code>'1'='1' AND Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID  Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1)<\/code><br \/>\nWarunek dla faktury zwyk\u0142ej:<br \/>\n<code>'1'='1' AND Not Exists (Select * From CDN.TraNag join CDN.TraVat on TrN_TrNID = TrV_TrNID  Where TrN_VaNId = VaN_VaNID AND TrV_TrNId=TrN_TrNId And TrV_Typ=1) AND Not Exists (select * from CDN.TraNag where TrN_VaNId = VaN_VaNID AND TrN_Rodzaj In (302200, 302202))<\/code><br \/>\n<a name=\"zsk42\"><\/a><\/p>\n<h3><a name=\"_Toc524945581\"><\/a><a name=\"_Toc430949120\"><\/a>42. Jak przy ksi\u0119gowaniu raportu kasowego rozr\u00f3\u017cni\u0107 czy konto przeciwstawne jest walutowe (i ksi\u0119gowa\u0107<br \/>\nw walucie), a jak \u017ce jest z\u0142ot\u00f3wkowe (i ksi\u0119gowa\u0107 tylko<br \/>\nw z\u0142ot\u00f3wkach)?<\/h3>\n<p>Warunek dla pozycji schematu wykorzystuj\u0105cej konto przeciwstawne gdy jest zaznaczone ksi\u0119gowanie walutowe:<br \/>\n<code>'1'='1' and exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta&lt;&gt;'' And Acc_OObID = (select OOb_OObID from CDN.OkresyObrach where OOb_DataOtw &lt; Bzp_DataDok and OOb_DataKoncowa &gt; Bzp_DataDok))<\/code><code><\/code><\/p>\n<p>Warunek dla pozycji schematu wykorzystuj\u0105cej konto przeciwstawne gdy nie jest zaznaczone ksi\u0119gowanie walutowe:<br \/>\n<code>'1'='1' and not exists (select * from CDN.Konta where Acc_Numer like @KontoPrzeciw + '%' and Acc_Waluta&lt;&gt;'' And Acc_OObID = (select OOb_OObID from CDN.OkresyObrach where OOb_DataOtw &lt; Bzp_DataDok and OOb_DataKoncowa &gt; Bzp_DataDok))\u00a0<\/code><br \/>\nPowy\u017csze warunki sprawdzaj\u0105 walut\u0119 konta w okresie obrachunkowym w kt\u00f3rym zawieraj\u0105 si\u0119 daty otwarcia i zamkni\u0119cia ksi\u0119gowanego raportu kasowego\/bankowego.<br \/>\n<a name=\"zsk43\"><\/a><\/p>\n<h3><a name=\"_Toc524945582\"><\/a><a name=\"_Toc430949121\"><\/a>43. Jak automatycznie ksi\u0119gowa\u0107 na konta zespo\u0142u \u201c4\u201d na podstawie konta zespo\u0142u \u201e5\u201d wpisanego w kwotach dodatkowych?<\/h3>\n<p>Mamy w planie kont np. konta\u00a0 501-1-1-401-01 i np. 501-1-1-402-01. Odpowiednikiem tych kont w zespole \u201e4\u201d s\u0105 400-401-01 i 400-402-01. W rejestrze VAT wprowadzamy na fakturze w Kwotach dodatkowych konta zespo\u0142u \u201e5\u201d. Chcemy \u017ceby \u201e4\u201d podstawia\u0142a si\u0119 automatycznie na podstawie \u201e5\u201d.<\/p>\n<p>W schemacie ksi\u0119gowym, jako definicj\u0119 konta mo\u017cna wpisa\u0107:<\/p>\n<p><code><strong>'400-'+SUBSTRING(@KontoDodatWn,9,6)<\/strong><\/code><\/p>\n<p>Je\u017celi w kwocie dodatkowej wybierzemy konto 501-1-1-401-01, to po zaksi\u0119gowaniu otrzymamy konto 400-401-01.<br \/>\n<a name=\"zsk44\"><\/a><\/p>\n<h3><a name=\"_Toc524945583\"><\/a><a name=\"_Toc430949125\"><\/a>44. Jak w schemacie do ksi\u0119gowania faktur zakupu z\u00a0Rejestr\u00f3w VAT rozr\u00f3\u017cni\u0107 zaliczkobiorc\u0119, kt\u00f3ry jest pracownikiem od zaliczkobiorcy, kt\u00f3ry jest wsp\u00f3lnikiem?<\/h3>\n<p>W warunku schematu dotycz\u0105cym ksi\u0119gowania na konto pracownik\u00f3w nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0)<\/strong><\/code><\/p>\n<p>W warunku schematu dotycz\u0105cym ksi\u0119gowania na konto wsp\u00f3lnika nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=1)<\/strong><\/code><br \/>\n<a name=\"zsk45\"><\/a><\/p>\n<h3><a name=\"_Toc524945584\"><\/a>45. Jak nale\u017cy wpisa\u0107 warunek aby zaksi\u0119gowa\u0107 faktur\u0119<br \/>\nz rejestru VAT na wybrane konto pod warunkiem, \u017ce zaliczkobiorc\u0105 jest pracownik o akronimie \u2018KOWALSKI\u2019?<\/h3>\n<p>W warunku mo\u017cna wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from CDN.PracEtaty where VaN_PodZalId=Pre_PraID AND VaN_PodmiotZalTyp=3 AND PRE_Kod='KOWALSKI')<\/strong><\/code><br \/>\n<a name=\"zsk46\"><\/a><\/p>\n<h3><a name=\"_Toc524945585\"><\/a><a name=\"_Toc430949144\"><\/a>46. Jak w opisie pozycji schematu dla rejestr\u00f3w VAT wstawi\u0107 kod pracownika, kt\u00f3ry jest zaliczkobiorc\u0105?<\/h3>\n<p>Je\u017celi pozycja schematu zawiera konto s\u0142ownikowe pracownika i <strong>podzia\u0142 na s\u0142owniki: Zaliczkobiorcy<\/strong> to w opisie mo\u017cna wstawi\u0107 nast\u0119puj\u0105ce wyra\u017cenie:<\/p>\n<p><code><strong>''+(select top 1 PRE_Kod from CDN.PracEtaty where Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3)<\/strong><\/code><\/p>\n<p>Je\u017celi dan\u0105 pozycj\u0105 schematu ksi\u0119gujemy kwot\u0119 na konto kontrahenta (czyli jest <strong>podzia\u0142 na s\u0142owniki: Podmioty<\/strong>) a\u00a0w opisie chcemy mie\u0107 informacj\u0119 o kodzie zaliczkobiorcy, nale\u017cy u\u017cy\u0107 funkcji:<\/p>\n<p><code>Create Function CDN.MojeFunkcje_KodZaliczkobiorcy (@VaNId Int) Returns VarChar(31) As\u00a0 Begin<br \/>\nDeclare @Kod VarChar(50)<br \/>\nSet @Kod = IsNull((select top 1 PRE_Kod from CDN.PracEtaty join cdn.vatnag on Pre_PraID = VaN_PodZalId and VaN_PodmiotZalTyp=3 where Van_Vanid=@VaNId), '')<br \/>\nReturn @Kod<br \/>\nEnd<\/code><\/p>\n<p>W definicji Opisu do danej pozycji schematu ksi\u0119gowego wpisujemy:<\/p>\n<p><code><strong>@Dokument + ' ' + CDN.MojeFunkcje_KodZaliczkobiorcy (VaN_VaNId)<\/strong><\/code><br \/>\n<a name=\"zsk47\"><\/a><a name=\"zsk\"><\/a><\/p>\n<h3><a name=\"_Toc524945586\"><\/a><a name=\"_Toc430949148\"><\/a>47. Jak opisie pozycji dekretu umie\u015bci\u0107 informacj\u0119 o Imieniu i nazwisku zaliczkobiorcy (pracownika) wybranego na fakturze zakupu w\u00a0rejestrze VAT?<\/h3>\n<p>W schemacie ksi\u0119gowym typu Rejestr zakup\u00f3w VAT w polu Opis nale\u017cy wklei\u0107:<br \/>\n<code>@TypZaliczkobiorcy + ' ' + CDN.ImieNazwisko (VaN_PodZalId,VaN_PodmiotZalTyp)<\/code><br \/>\nOperator z uprawnieniami administratora mo\u017ce uruchomi\u0107 skrypt w menu Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie skrypt\u00f3w.<br \/>\n<code>Create Function CDN.ImieNazwisko (@VaN_PodZalId Int,@VaN_PodmiotZalTyp Int)<br \/>\nReturns VarChar(30)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @ImieNazwisko VarChar(30)<br \/>\nSelect Top 1 @ImieNazwisko = Pre_Imie1+' '+Pre_Nazwisko From cdn.pracetaty<br \/>\nWhere @VaN_PodZalId =Pre_PraID AND @VaN_PodmiotZalTyp=3 AND PRE_TypPracownika=0<br \/>\nReturn IsNull(@ImieNazwisko, '')<br \/>\nEnd<\/code><br \/>\n<a name=\"zsk48\"><\/a><\/p>\n<h3><a name=\"_Toc524945587\"><\/a><a name=\"_Toc430949128\"><\/a>48. Jak u\u0142o\u017cy\u0107 warunek dla ksi\u0119gowania zaliczki na PIT-36 aby w miesi\u0105cu listopadzie zawsze ksi\u0119gowa\u0142a si\u0119 podw\u00f3jna zaliczka?<\/h3>\n<p>Innymi s\u0142owy musimy w warunku \u201ewyci\u0105gn\u0105\u0107\u201d z pola DkN_RokMiesiac tylko miesi\u0105c. Pole zapisuje rok i miesi\u0105c w postaci 4 cyfr dla roku i 2 cyfr dla miesi\u0105ca np. \u2018201811\u2019.<br \/>\nW warunku trzeba \u201ewyci\u0105\u0107\u201d pierwsze 4 znaki i u\u017cy\u0107 tylko dw\u00f3ch ostatnich. Mo\u017cemy to zrobi\u0107 tak:<br \/>\n<code>SUBSTRING(DkN_RokMiesiac,5,2)<\/code><br \/>\nMusimy jednak skonwertowa\u0107 liczb\u0119 do tekstu poprzez STR i dodatkowo usun\u0105\u0107 zb\u0119dne spacje poprzez LTRIM. Ca\u0142y warunek dla ksi\u0119gowania deklaracji, kt\u00f3ra pochodzi z miesi\u0105ca listopada b\u0119dzie wygl\u0105da\u0142 tak:<br \/>\n<code>'1'='1' AND SUBSTRING(LTRIM(STR(DkN_RokMiesiac)),5,2)=11<\/code><br \/>\n<a name=\"zsk49\"><\/a><\/p>\n<h3><a name=\"_Toc524945588\"><\/a><a name=\"_Toc430949129\"><\/a>49. Czy w schemacie do ksi\u0119gowania dokument\u00f3w przesuni\u0119\u0107 MM mo\u017cna wykorzysta\u0107 symbol magazynu do identyfikacji konta magazynu \u017ar\u00f3d\u0142owego<br \/>\ni docelowego?<\/h3>\n<p>Chodzi o to aby przy du\u017cej ilo\u015bci magazyn\u00f3w nie tworzy\u0107 kilkudziesi\u0119ciu pozycji schematu odpowiadaj\u0105cych wszystkim przesuni\u0119ciom mi\u0119dzymagazynowym. Zak\u0142adamy wi\u0119c, \u017ce analityk\u0119 magazynu pobieramy z symbolu magazynu. Na przyk\u0142ad, w polu <strong>Symbol<\/strong>, na formatce magazynu mamy MAG1, a konto ma posta\u0107 311-MAG1. Wtedy dla magazynu \u017ar\u00f3d\u0142owego definicja konta mia\u0142aby posta\u0107: <strong>'311-'+@Magazyn<\/strong> a dla magazynu docelowego: <strong>'311-'+@MagDocelowy<\/strong>.<br \/>\n<a name=\"zsk50\"><\/a><\/p>\n<h3><a name=\"_Toc524945589\"><\/a><a name=\"_Toc430949130\"><\/a>50. Jak wykorzysta\u0107 atrybuty do przypisania odpowiedniego konta zespo\u0142u \u201e5\u201d na karcie \u015brodka trwa\u0142ego?<\/h3>\n<p>W <em>S\u0142ownikach\/ Atrybuty<\/em> mo\u017cna zdefiniowa\u0107 atrybut o nazwie np. \u201eKONTO_5\u201d, typie \u201elista\u201d, i pozycjach listy odpowiadaj\u0105cych wszystkim kontom zespo\u0142u 5, na kt\u00f3re jest ksi\u0119gowana amortyzacja np. 501-01, 502-01, 503-01 itp. Na karcie \u015brodka trwa\u0142ego dodajemy atrybut \u201eKONTO_5\u201d i wybieramy warto\u015b\u0107 odpowiadaj\u0105c\u0105 \u201epi\u0105tce\u201d np. 501-01.<\/p>\n<p>W pozycji schematu ksi\u0119gowego odpowiadaj\u0105cej za ksi\u0119gowanie na konta zespo\u0142u \u201e5\u201d, w polu <strong>Konto Wn<\/strong> wprowadzamy definicj\u0119:<\/p>\n<p><code><strong>@ST_Atrybut('KONTO_5')<\/strong><\/code><\/p>\n<p class=\"Tre120\">W makrach dost\u0119pnych pod Kontem Wn i Kontem Ma nie ma pozycji \u201eWarto\u015b\u0107 atrybutu\u201d wi\u0119c aby wklei\u0107 odpowiednie wyra\u017cenie mo\u017cna skorzysta\u0107 z pola \u201eOpis\u201d wybieraj\u0105c odpowiedni atrybut, kopiuj\u0105c i wklejaj\u0105c do \u201eKonto Wn\/Konto Ma\u201d.<\/p>\n<p><a name=\"zsk51\"><\/a><\/p>\n<h3><a name=\"_Toc524945590\"><\/a><a name=\"_Toc430949131\"><\/a>51. Jak mo\u017cna u\u017cy\u0107, w schemacie ksi\u0119gowym, atrybutu przypi\u0119tego do pozycji faktury?<\/h3>\n<p>Od wersji Comarch ERP Optima 2019.5.1 atrybuty pozycji dokument\u00f3w z modu\u0142u <em>Handel<\/em> zapisywane s\u0105 w tabeli CDN.TraElemAtr. Chc\u0105c odwo\u0142a\u0107 si\u0119 w warunku schematu do kodu b\u0105d\u017a warto\u015bci atrybutu pozycji dokumentu nale\u017cy zastosowa\u0107 nast\u0119puj\u0105cy warunek:<\/p>\n<p><code>'1'='1' AND exists (Select TrA_Kod From CDN.TraElemAtr Where TrA_TrEId = TrE_TrEID and TrA_Kod= 'ATR1' and TrA_Wartosc= 'WART1')<br \/>\n<\/code><\/p>\n<p>W przypadku wersji wcze\u015bniejszych ni\u017c 2019.5.1 nale\u017cy zastosowa\u0107 poni\u017csze warunki.<\/p>\n<p>Ksi\u0119guj\u0105c faktur\u0119 z modu\u0142u Handel s\u0105 dwie mo\u017cliwo\u015bci:<br \/>\n1. Poniewa\u017c atrybuty s\u0105 zapisywane w tabeli CDN.TraElem w polach: TrE_Atr1_Kod, TrE_Atr2_Kod.... TrE_Atr5_Kod i warto\u015bci odpowiednio w polach TrE_Atr1_Wartosc do TrE_Atr5_Wartosc to mo\u017cna si\u0119 odwo\u0142a\u0107 bezpo\u015brednio do tych p\u00f3l. Za\u0142o\u017cenie jednak b\u0119dzie wtedy takie (aby nie komplikowa\u0107 warunku), \u017ce atrybut, kt\u00f3ry nas interesuje jest zawsze np. pierwszy czyli zapisywany w polach TrE_Atr1_Kod i TrE_Atr1_Wartosc.<br \/>\nAby zaksi\u0119gowa\u0107 kwot\u0119 netto pozycji, pod warunkiem, \u017ce pierwszy atrybut to ATR1 i jego warto\u015b\u0107 to WART1 mo\u017cna u\u017cy\u0107 kwoty @PozNetto a w warunku:<br \/>\n<code>'1'='1' AND TrE_Atr1_kod='ATR1' AND TrE_Atr1_Wartosc='WART1'<\/code><br \/>\n2. Je\u017celi atrybut, kt\u00f3ry nas interesuje mo\u017ce by\u0107 zapisany na r\u00f3\u017cnych miejscach to aby nie tworzy\u0107 bardzo z\u0142o\u017conego warunku mo\u017cna u\u017cy\u0107 funkcji, kt\u00f3rej jako parametry podamy kod atrybutu i warto\u015b\u0107. Funkcja b\u0119dzie u\u017cyta w kwocie schematu np.<br \/>\n<code>Create Function CDN.userKwotaElementuZAtrybutem (@Treid int, @KodAtrybutu varchar(255), @WartoscAtrybutu varchar(255), @Typ varchar(10))<br \/>\nReturns Decimal (15,2)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik Decimal(15,2)<br \/>\nif exists (<br \/>\nselect * from CDN.TraElem<br \/>\nwhere TrE_TrEID = @TrEId<br \/>\nand ( TrE_Atr1_Kod = @KodAtrybutu and TrE_Atr1_Wartosc=@WartoscAtrybutu<br \/>\nor TrE_Atr2_Kod = @KodAtrybutu and TrE_Atr2_Wartosc=@WartoscAtrybutu<br \/>\nor TrE_Atr3_Kod = @KodAtrybutu and TrE_Atr3_Wartosc=@WartoscAtrybutu<br \/>\nor TrE_Atr4_Kod = @KodAtrybutu and TrE_Atr4_Wartosc=@WartoscAtrybutu<br \/>\nor TrE_Atr5_Kod = @KodAtrybutu and TrE_Atr5_Wartosc=@WartoscAtrybutu<br \/>\n) )<br \/>\nbegin<br \/>\nset @Wynik = CDN.TraKwoty( @TrEId, @Typ, Null, Null)<br \/>\nend<br \/>\nReturn IsNull( @Wynik, 0 )<br \/>\nEnd<\/code><\/p>\n<p>W definicji kwoty wpisujemy:<br \/>\n<code>@PozNetto - @PozNetto + CDN.userKwotaElementuZAtrybutem(TrE_TrEId, 'ATRYBUT', 'WARTO\u015a\u0106', 'PN')<\/code><br \/>\n'PN' - oznacza kwot\u0119 netto. 'PB' oznacza\u0142oby kwot\u0119 brutto pozycji.<br \/>\n<a name=\"zsk52\"><\/a><\/p>\n<h3><a name=\"_Toc524945591\"><\/a><a name=\"_Toc430949132\"><\/a>52.Jak wykorzysta\u0107 w schemacie ksi\u0119gowym, w definicji konta, warto\u015b\u0107 atrybutu przypi\u0119tego do karty kontrahenta?<\/h3>\n<p>Na karcie kontrahenta jest m.in. przypi\u0119ty atrybut o nazwie KONTO, kt\u00f3rego warto\u015b\u0107 odpowiada symbolowi konta, kt\u00f3re ma by\u0107 u\u017cyte do ksi\u0119gowania faktury z Rejestru VAT. Chcemy tak zdefiniowa\u0107 w pozycji schematu Konto Wn aby podstawia\u0142a si\u0119 do niej warto\u015b\u0107 tego atrybutu przypi\u0119ta do kontrahenta wybranego na fakturze.<br \/>\nW takiej sytuacji trzeba skorzysta\u0107 z funkcji serwerowej. Dla faktury ksi\u0119gowanej z Rejestru VAT funkcja mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<br \/>\n<code>Create  Function CDN.A (@VaNId int, @AtrybutKod varchar(255))<br \/>\nReturns varchar(255)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(255)<br \/>\nSet @Wynik = ''<br \/>\nselect @Wynik = KnA_WartoscTxt<br \/>\nfrom<br \/>\nCDN.KntAtrybuty<br \/>\njoin CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId)<br \/>\njoin CDN.PodmiotyView on (KnA_PodmiotId = Pod_PodId)<br \/>\njoin CDN.VatNag on (VaN_PodID = Pod_PodId)<br \/>\nwhere<br \/>\nVaN_VaNID=@VaNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = VaN_PodmiotTyp<br \/>\nReturn IsNull(@Wynik, '')<br \/>\nEnd<\/code><br \/>\nW definicji Konta Wn wpisujemy:<br \/>\n<code>LEFT(@Opis,0)+CDN.A(Van_VaNID,'KONTO')<\/code><br \/>\nPoniewa\u017c w definicji konta w pozycji schematu jest ograniczona liczba znak\u00f3w, je\u017celi odwo\u0142ywa\u0107 si\u0119 do atrybut\u00f3w w ten spos\u00f3b, nale\u017cy nadawa\u0107 im kr\u00f3tkie nazwy.<br \/>\nDla faktury ksi\u0119gowanej z modu\u0142u Handel:<br \/>\n<code>Create  Function CDN.B (@TrNId int, @AtrybutKod varchar(255))<br \/>\nReturns varchar(255)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(255)<br \/>\nSet @Wynik = ''<br \/>\nselect @Wynik = KnA_WartoscTxt<br \/>\nfrom<br \/>\nCDN.KntAtrybuty<br \/>\njoin CDN.DefAtrybuty on (KnA_DeAId = DeA_DeAId )<br \/>\njoin CDN.PodmiotyView on KnA_PodmiotId = Pod_PodId<br \/>\njoin CDN.TraNag on Pod_PodId = TrN_PodID<br \/>\nwhere<br \/>\nTrN_TrNID=@TrNId and DeA_Kod=@AtrybutKod AND KnA_PodmiotTyp = Pod_PodmiotTyp AND Pod_PodmiotTyp = TrN_PodmiotTyp<br \/>\nReturn IsNull(@Wynik, '')<br \/>\nEnd<\/code><br \/>\nW definicji konta:<br \/>\n<code>LEFT(@Opis,0)+CDN.B(Trn_TrNID,'KONTO')<\/code><br \/>\n<a name=\"zsk53\"><\/a><\/p>\n<h3><a name=\"_Toc524945592\"><\/a><a name=\"_Toc430949133\"><\/a>53. Jak wykorzysta\u0107 w schemacie ksi\u0119gowym z rej. VAT kwot\u0119 z\u00a0ewidencji dodatkowej?<\/h3>\n<p>Schemat pozwala na wyksi\u0119gowanie kwoty z dokumentu ewidencji dodatkowej pod warunkiem, \u017ce numer dokumentu i Akronim kontrahenta jest identyczny na rej. VAT i ewidencji dodatkowej.<br \/>\nW takiej sytuacji trzeba skorzysta\u0107 z funkcji serwerowej. Dla faktury ksi\u0119gowanej z Rejestru VAT funkcja mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<br \/>\n<code>create function cdn.MojaFunkcja_ED (@ID int, @Typ int, @Dok varchar(30))<br \/>\nreturns Decimal(15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik Decimal(15,2)<br \/>\nselect @wynik = EDN_KwotaRazemSys<br \/>\nfrom CDN.EwiddodNag<br \/>\njoin cdn.vatnag on<br \/>\nVaN_Dokument=EDN_NumerObcy and<br \/>\nVaN_PodID=EDN_PodID and<br \/>\nVaN_PodmiotTyp=EDN_PodmiotTyp<br \/>\nwhere VaN_Dokument = @Dok AND VaN_PodID=@ID AND VaN_PodmiotTyp= @Typ<br \/>\nreturn IsNull(@wynik,0)<br \/>\nend<\/code><br \/>\nW definicji Kwoty w schemacie rej. VAT wpisujemy:<br \/>\n<code>@Brutto-cdn.MojaFunkcja_ED(VaN_PodID,VaN_PodmiotTyp,VaN_Dokument)<\/code><br \/>\n<a name=\"zsk54\"><\/a><\/p>\n<h3><a name=\"_Toc524945593\"><\/a><a name=\"_Toc430949134\"><\/a>54. Jak w schemacie ksi\u0119gowym dokument\u00f3w z rejestru VAT w polu Opis wykorzysta\u0107 np. dat\u0119 operacji<br \/>\nz dokumentu?<\/h3>\n<p><code>@Opis+' '+convert (varchar(10), VaN_DataOpe , 120)<\/code><br \/>\n<a name=\"zsk55\"><\/a><\/p>\n<h3><a name=\"_Toc524945594\"><\/a><a name=\"_Toc430949135\"><\/a>55. Jak w schemacie ksi\u0119gowym Listy p\u0142ac wyszuka\u0107 pola opisu analitycznego, kt\u00f3re nie maj\u0105 \u017cadnej warto\u015bci czyli NULL?<\/h3>\n<p>Je\u017celi jako kwota zosta\u0142a u\u017cyta kwota, kt\u00f3ra odwo\u0142uje si\u0119 do tabeli CDN.WypElementy to warunek mo\u017ce wygl\u0105da\u0107 tak:<br \/>\n<code>'1'='1' and not exists(select * from CDN.OpisPlace where OpP_WpEId= WpE_WpEId)<\/code><br \/>\nTaka kwota to np. @WynagrodzenieBrutto, @ZUSEmerPrac, @ZUSEmerFirma itp.<br \/>\nGdyby kwota odwo\u0142ywa\u0142a si\u0119 do innej tabeli np. CDN.Wyplaty to:<br \/>\n<code>'1'='1' and not exists(select * from CDN.Wyplaty JOIN CDN.WypElementy ON   WPL_WplId = WPE_WplId JOIN CDN.OpisPlace ON OpP_WpEId= WpE_WpEId WHERE WPL_LplId = LPL_LplId)<\/code><br \/>\nTaka kwota to np. @DoWyplaty.<br \/>\n<a name=\"zsk56\"><\/a><\/p>\n<h3><a name=\"_Toc524945595\"><\/a><a name=\"_Toc430949136\"><\/a>56. Jak w schemacie do ksi\u0119gowania raport\u00f3w K\/B,<br \/>\nw pozycji dekretu uzyska\u0107 opis sk\u0142adaj\u0105cy si\u0119<br \/>\nz numer\u00f3w dokument\u00f3w rozliczaj\u0105cych dany zapis K\/B?<\/h3>\n<p>W takim przypadku mo\u017cna wykorzysta\u0107 istniej\u0105c\u0105 funkcj\u0119 CDN.NumeryRozliczonych wstawiaj\u0105c do opisu pozycji schematu nast\u0119puj\u0105c\u0105 definicj\u0119:<br \/>\n<code>@KategoriaSzczegol + ' ' +CDN.NumeryRozliczonych(Bzp_BzpID,2,0)<\/code><br \/>\nZamiast @KategoriaSzczegol mo\u017cna u\u017cy\u0107 innego istniej\u0105cego makra.<br \/>\nJe\u017celi dany zapis k\/b jest rozliczany kilkoma dokumentami - ich numery w opisie b\u0119d\u0105 oddzielone znakiem \u015brednika.<br \/>\n<a name=\"zsk57\"><\/a><\/p>\n<h3><a name=\"_Toc524945596\"><\/a><a name=\"_Toc430949137\"><\/a>57. Jak w schemacie ksi\u0119gowym dokument\u00f3w z rejestru VAT rozr\u00f3\u017cni\u0107 ksi\u0119gowanie dokument\u00f3w wystawionych na kontrahent\u00f3w krajowych i zagranicznych?<\/h3>\n<p>W przypadku kiedy korzystamy z informacji <strong>zapisanych na karcie kontrahenta<\/strong>:<\/p>\n<p>Warunek jaki nale\u017cy wstawi\u0107 przy kontrahentach krajowych:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export=0)<\/strong><\/code><\/p>\n<p>Warunek jaki nale\u017cy wstawi\u0107 przy kontrahentach zagranicznych:<\/p>\n<p><code><strong>'1'='1' AND exists (select * from cdn.kontrahenci where Knt_KntId= VaN_PodID and VaN_PodmiotTyp=1 and Knt_Export&lt;&gt;0)<\/strong><\/code><\/p>\n<p>W przypadku kiedy korzystamy z informacji <strong>zapisanych na dokumencie<\/strong>, czyli rodzaj transakcji, wtedy warunek mo\u017ce wygl\u0105da\u0107 nast\u0119puj\u0105co:<\/p>\n<p><code><strong>'1'='1' AND VaN_Export=0<\/strong> (dla transakcji krajowej)<\/code><\/p>\n<p>Rodzaj transakcji:<\/p>\n<p>0 - krajowa<\/p>\n<p>1 - eksport\/import<\/p>\n<p>2 - eksport - zwrot VAT<\/p>\n<p>3 - dostawa\/nabycie wewn\u0105trzwsp\u00f3lnotowa<\/p>\n<p>4 - dostawa\/nabycie wewn\u0105trzunijna tr\u00f3jstronna<\/p>\n<p>5 - krajowa - podatnikiem jest nabywca<\/p>\n<p>6 - dostawa poza terytorium kraju<\/p>\n<p>7 - poza terytorium kraju (stawka NP)<\/p>\n<p>8 - wewn\u0105trzunijny - podatnikiem jest nabywca<\/p>\n<p>9 - pozaunijny - podatnikiem jest nabywca<\/p>\n<p>10 \u2013 procedura OSS<\/p>\n<p>11 \u2013 procedura SME<\/p>\n<p><a style=\"color: #6eb8e4; cursor: pointer; background-image: url('img\/anchor.gif');\" name=\"zsk58\"><\/a><\/p>\n<h3><a name=\"_Toc524945597\"><\/a><a name=\"_Toc430949138\"><\/a>58. Jak z poziomu rejestru VAT zaksi\u0119gowa\u0107 dokumenty<br \/>\nw zale\u017cno\u015bci od formy p\u0142atno\u015bci na nich wybranej?<\/h3>\n<p>Aby zaksi\u0119gowa\u0107 faktur\u0119 zap\u0142acon\u0105 got\u00f3wk\u0105 nale\u017cy w warunku schematu ksi\u0119gowego wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' and exists (select * from CDN.FormyPlatnosci where<br \/>\nVaN_FplID=FPl_FPlId and FPl_Nazwa = 'got\u00f3wka')<\/strong><\/code><\/p>\n<p>A dla dokument\u00f3w z pozosta\u0142ymi formami p\u0142atno\u015bci:<\/p>\n<p><code><strong>'1'='1' and exists (select * from CDN.FormyPlatnosci where<br \/>\nVaN_FplID=FPl_FPlId and FPl_Nazwa &lt;&gt; 'got\u00f3wka')<\/strong><\/code><br \/>\n<a name=\"zsk59\"><\/a><\/p>\n<h3><a name=\"_Toc524945598\"><\/a><a name=\"_Toc430949139\"><\/a>59. W jaki spos\u00f3b sprawdzi\u0107 czy zapis kasowy zosta\u0142 automatycznie wygenerowany przy tworzeniu faktury got\u00f3wkowej?<\/h3>\n<p>W schemacie ksi\u0119gowa\u0144 dla zapis\u00f3w automatycznych nale\u017cy wpisa\u0107 warunek:<\/p>\n<p><code><strong>'1'='1' AND BZp_ZapisAutomatyczny=1<\/strong><\/code><\/p>\n<p>Dla pozosta\u0142ych zapis\u00f3w:<\/p>\n<p><code><strong>'1'='1' AND BZp_ZapisAutomatyczny=0<\/strong><\/code><br \/>\n<a name=\"zsk60\"><\/a><\/p>\n<h3><a name=\"_Toc524945599\"><\/a><a name=\"_Toc430949140\"><\/a>60. Jak zaksi\u0119gowa\u0107 dokument Przyj\u0119cia Zewn\u0119trznego<br \/>\nw zale\u017cno\u015bci od statusu kontrahenta?<\/h3>\n<p>Dla kontrahenta krajowego nale\u017cy w warunku schematu wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND TrN_Export=0<\/strong><\/code><\/p>\n<p>Dla kontrahenta unijnego:<\/p>\n<p><code><strong>'1'='1' AND (TrN_Export=3 OR TrN_Export=4)<\/strong><\/code><\/p>\n<p>Dla kontrahenta pozaunijnego:<\/p>\n<p><code><strong>'1'='1' AND TrN_Export=1<\/strong><\/code><\/p>\n<p>Status:<\/p>\n<p>0 - krajowy<\/p>\n<p>1 - eksport\/import<\/p>\n<p>2 - eksport - zwrot VAT<\/p>\n<p>3 - dostawa\/nabycie wewn\u0105trzwsp\u00f3lnotowa<\/p>\n<p>4 - dostawa\/nabycie wewn\u0105trzunijna tr\u00f3jstronna<\/p>\n<p>5 - krajowy - podatnikiem jest nabywca<\/p>\n<p>6 - dostawa poza terytorium kraju<\/p>\n<p>7 - poza terytorium kraju (stawka NP)<\/p>\n<p>8 - wewn\u0105trzunijny - podatnikiem jest nabywca<\/p>\n<p>9 - pozaunijny - podatnikiem jest nabywca<\/p>\n<p>10 \u2013 procedura OSS<\/p>\n<p>11 \u2013 procedura SME<\/p>\n<p><a style=\"color: #6eb8e4; cursor: pointer; background-image: url('img\/anchor.gif');\" name=\"zsk61\"><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc524945600\"><\/a><a name=\"_Toc430949141\"><\/a>61. Jak zaksi\u0119gowa\u0107 dokument PZ w zale\u017cno\u015bci od fragmentu numeru faktury, do kt\u00f3rej zosta\u0142 utworzony np. numer faktury zakupu zaczyna si\u0119 od \u201eFA\u201d i ko\u0144czy si\u0119 na MG lub EU?\u201d<\/h3>\n<p>W warunku schematu ksi\u0119gowego nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>\u00a0<\/strong><strong>'1'='1' And Exists (Select * From CDN.TraNag FA Where CDN.TraNag.TrN_FaId = FA.TrN_TrNId And Fa.TrN_NumerPelny Like 'FA%SERIA')<\/strong><\/code><\/p>\n<p>zast\u0119puj\u0105c s\u0142owo SERIA na ko\u0144cu warunku wybran\u0105 seri\u0105 dokumentu np. MG lub EU.<br \/>\n<a name=\"zsk62\"><\/a><\/p>\n<h3><a name=\"_Toc524945601\"><\/a><a name=\"_Toc430949142\"><\/a>62. Jak podczas ksi\u0119gowania listy p\u0142ac w polu Konto odwo\u0142a\u0107 si\u0119 do kategorii na wyp\u0142acie pracownika (na zak\u0142adce [Og\u00f3lne])?<\/h3>\n<p>Przyk\u0142ad funkcji:<br \/>\n<code>Create Function CDN.A3 (@LplID int, @WPLID int)<br \/>\nReturns varchar(255)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik VarChar(50)<br \/>\nSet @Wynik = ''<br \/>\nselect @Wynik = Kat_KontoSegmentWN<br \/>\nfrom<br \/>\nCDN.Kategorie<br \/>\njoin CDN.Wyplaty on WPL_KatId = Kat_KatID<br \/>\njoin CDN.ListyPlac on WPL_LplId = LPL_LplId<br \/>\nwhere<br \/>\nLPL_LplId=@LplId AND WPL_WPLID=@WPLID<br \/>\nReturn IsNull(@Wynik, '')<br \/>\nEnd<br \/>\nW polu<\/code> Konto Wn lub Konto Ma nale\u017cy wstawi\u0107:<br \/>\n<code>LEFT(@Opis,0)+CDN.A3(Lpl_LplID,WPL_WPLID)<\/code><br \/>\n<a name=\"zsk63\"><\/a><\/p>\n<h3><a name=\"_Toc430949143\"><\/a>63. Jak zaksi\u0119gowa\u0107 kwot\u0119 netto z faktury w Rejestrze VAT z\u00a0podzia\u0142em na magazyny?<\/h3>\n<p>Na Fakturze Sprzeda\u017cy w module Faktury s\u0105 pozycje pochodz\u0105ce z r\u00f3\u017cnych magazyn\u00f3w. Chodzi o to aby zaksi\u0119gowa\u0107 kwot\u0119 netto na r\u00f3\u017cne konta, w zale\u017cno\u015bci od magazynu. Na fakturze w Rejestrze VAT nie ma takiej informacji \u2013 informacja jest tylko na fakturze w module Faktury. Najpro\u015bciej wi\u0119c ksi\u0119gowa\u0107 faktur\u0119 bezpo\u015brednio z modu\u0142u Faktury i wykorzysta\u0107 w schemacie, w warunku pozycji, makro @MagazynElem.<br \/>\nJe\u017celi natomiast istnieje potrzeba wykonania ksi\u0119gowania z Rejestru VAT mo\u017cna doda\u0107 odpowiedni\u0105 funkcj\u0119 serwerow\u0105 i umie\u015bci\u0107 j\u0105 w definicji kwoty schematu:<br \/>\n<code>if exists (select * from sysobjects where name = 'userKwotaFaMagazyny' and xtype = 'FN')<br \/>\ndrop function CDN.userKwotaFaMagazyny<br \/>\nGO<br \/>\ncreate function CDN.userKwotaFaMagazyny (@vanid int, @nazwa varchar(20))<br \/>\nreturns numeric (15,2)<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik numeric (15,2)<br \/>\nselect @wynik = isnull(sum(TrE_WartoscNetto),0)<br \/>\nfrom cdn.tranag<br \/>\njoin cdn.TraElem on TrN_TrNID = TrE_TrNId<br \/>\njoin CDN.Magazyny ON Mag_MagId = TrE_MagId<br \/>\nwhere Mag_Symbol = @nazwa<br \/>\nand trn_vanid = @vanid<br \/>\nreturn @wynik<br \/>\nend<\/code><br \/>\nW definicji kwoty wpisujemy:<br \/>\n<code>'0' + CDN.userKwotaFaMagazyny (VaN_VaNId, 'MAGAZYN')<\/code><br \/>\n<a name=\"zsk64\"><\/a><\/p>\n<h3><a name=\"_Toc524945603\"><\/a><a name=\"_Toc430949145\"><\/a>64. Jak z poziomu listy p\u0142ac zaksi\u0119gowa\u0107 na konkretne konto wyp\u0142at\u0119 pracownika, kt\u00f3ry jest niepe\u0142nosprawny?<\/h3>\n<p>W pozycji schematu dla listy p\u0142ac w polu <strong>Warunek<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (select * from CDN.PracEtaty join CDN.PracKod on Pra_Praid = Pre_Praid where Pra_Praid = Wpl_Praid and Wpl_Lplid\u00a0 = Lpl_Lplid and Pre_StNiepelnosp&lt;&gt;0)<\/strong><\/code><br \/>\n<a name=\"zsk65\"><\/a><\/p>\n<h3><a name=\"_Toc524945604\"><\/a><a name=\"_Toc430949146\"><\/a>65. Jak w schemacie do ksi\u0119gowania paragon\u00f3w odwo\u0142a\u0107 si\u0119 do symbolu magazynu na pozycji paragonu?<\/h3>\n<p>W kwocie nale\u017cy u\u017cy\u0107 makra odwo\u0142uj\u0105cego si\u0119 do pozycji paragonu, np. @PozNetto. W warunku mo\u017cna u\u017cy\u0107 nast\u0119puj\u0105cego zapytania:<\/p>\n<p><code><strong>'1'='1' AND EXISTS(SELECT * FROM CDN.Magazyny WHERE Mag_MagId = TrE_MagId AND Mag_Symbol='MAGAZYN')<\/strong><\/code><br \/>\n<a name=\"zsk66\"><\/a><\/p>\n<h3><a name=\"_Toc524945605\"><\/a><a name=\"_Toc430949147\"><\/a>66.Jak umie\u015bci\u0107 funkcj\u0119 serwerow\u0105 w polu z dat\u0105 ksi\u0119gowania? (na przyk\u0142adzie ksi\u0119gowania faktur za us\u0142ugi transportowe)<\/h3>\n<p>Ksi\u0119gujemy faktury z Rejestru VAT i zak\u0142adamy co nast\u0119puje:<br \/>\n1. je\u017celi dokument jest rozliczony ca\u0142kowicie \u2013 pobieramy dat\u0119 rozliczenia (je\u017celi jest rozliczony kilkoma dokumentami, b\u0119dzie to data ostatniego rozliczenia),<br \/>\n2. je\u017celi jest nierozliczony ca\u0142kowicie i data bie\u017c\u0105ca minus data wystawienia jest wi\u0119ksza od 30 dni, pobieramy dat\u0119 o 30 dni p\u00f3\u017aniejsz\u0105 od daty wystawienia dokumentu,<br \/>\n3. je\u017celi jest to inny przypadek ni\u017c powy\u017csze warunki (np. ca\u0142kowicie nierozliczony ale r\u00f3\u017cnica mi\u0119dzy dat\u0105 bie\u017c\u0105c\u0105 i dat\u0105 wystawienia jest mniejsza ni\u017c 30 dni lub dokument jest cz\u0119\u015bciowo rozliczony) funkcja wstawi zero czyli przy ksi\u0119gowaniu pojawi si\u0119 komunikat o ksi\u0119gowaniu poza bie\u017c\u0105cym okresem obrachunkowym i dokument nie zostanie zaksi\u0119gowany. Funkcj\u0119 mo\u017cna oczywi\u015bcie rozbudowa\u0107 o kolejne warunki.<br \/>\n<code>if exists (select * from sysobjects where name = 'F1' and xtype = 'FN')<br \/>\ndrop function [CDN].[F1]\nGO<br \/>\nCREATE function [CDN].[F1] (@VaNId Int)<br \/>\nreturns Datetime<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik Datetime<br \/>\nselect  @wynik = case when exists(select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE  BZd_Rozliczono=2 AND Van_Vanid=@VaNId) then BZd_DataRoz when exists (select * from CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId AND BZd_DokumentTyp = 2 WHERE BZd_Rozliczono2=1 AND (GetDate()- VaN_DataWys)&gt;30 AND Van_Vanid=@VaNId) then DateADD(day,30,VaN_DataWys) else 0 end<br \/>\nfrom CDN.BnkZdarzenia join CDN.VatNag on BZd_DokumentId = VaN_VaNId and BZd_DokumentTyp = 2 where Van_Vanid=@VaNId<br \/>\nreturn @wynik<br \/>\nend<\/code><br \/>\nW schemacie, w polu Data ksieg. wpisujemy:<br \/>\n<code>@DataWyst-@DataWyst+cdn.F1(VaN_VaNID)<\/code><br \/>\n<a name=\"zsk67\"><\/a><\/p>\n<h3><a name=\"_Toc524945606\"><\/a><a name=\"_Toc430949149\"><\/a>67. Jak w warunku schematu dla faktur zakupu odwo\u0142a\u0107 si\u0119 do opcji Odliczenia VAT: Tak, Nie, Warunkowo na karcie kategorii wybranej na pozycji dokumentu?<\/h3>\n<p>W schemacie ksi\u0119gowym typu <strong>Faktura zakupu<\/strong> w <strong>warunku<\/strong> wklei\u0107 nast\u0119puj\u0105ce wyra\u017cenie:<\/p>\n<p>Dla odlicze\u0144 na <strong>NIE <\/strong><\/p>\n<p><code><strong>'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=0)<\/strong><\/code><\/p>\n<p>Dla odlicze\u0144 na <strong>TAK <\/strong><\/p>\n<p><code><strong>'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=1)<\/strong><\/code><\/p>\n<p>Dla odlicze\u0144 <strong>WARUNKOWO<\/strong><\/p>\n<p><code><strong>'1'='1' and exists (select * from CDN.Kategorie where Tre_Katid=Kat_Katid and Kat_Odliczenia=2)<\/strong><\/code><br \/>\n<a name=\"zsk68\"><\/a><\/p>\n<h3><a name=\"_Toc524945607\"><\/a>68. Jak uzale\u017cni\u0107 ksi\u0119gowanie z Rejestru VAT na dane konto od tego czy dokument wp\u0142yn\u0105\u0142 maksymalnie do 20 dnia kolejnego miesi\u0105ca?<\/h3>\n<p>Poni\u017cszy warunek zaksi\u0119guje dokumenty, kt\u00f3re wp\u0142yn\u0119\u0142y maksymalnie do 20 dnia kolejnego miesi\u0105ca po miesi\u0105cu wystawienia faktury. Data ksi\u0119gowania w schemacie musi by\u0107 ustawiona na dat\u0119 wystawienia:<br \/>\n<code>'1'='1' and VaN_DataZap &lt;= dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))<\/code><br \/>\nPoni\u017cszy warunek zaksi\u0119guje dokumenty, kt\u00f3re wp\u0142yn\u0119\u0142y po 20 dniu kolejnego miesi\u0105ca po miesi\u0105cu wystawienia faktury. Data ksi\u0119gowania w schemacie musi by\u0107 ustawiona na dat\u0119 wp\u0142ywu:<br \/>\n<code>'1'='1' and VaN_DataZap &gt; dateadd(day,20,DATEADD(day,-1,DATEADD(month,DATEDIFF(month,-1,Van_DataWys),0)))<\/code><br \/>\nWarunki powinny by\u0107 wklejone w polu Warunek w nag\u0142\u00f3wku schematu ksi\u0119gowego.<br \/>\n<a name=\"zsk69\"><\/a><\/p>\n<h3><a name=\"_Toc524945608\"><\/a><a name=\"_Toc430949151\"><\/a>69. Jak rozksi\u0119gowa\u0107 dokumenty \u015brodk\u00f3w trwa\u0142ych na podstawie kodu i warto\u015bci liczbowej atrybutu?<\/h3>\n<p>Przyk\u0142ad: \u015brodki trwa\u0142e s\u0105 dzielone na projekty procentowo w danym miesi\u0105cu. Czyli \u015brodek by\u0142 wykorzystywany w\u00a020% w projekcie 1, 30% w drugim i 50% w trzecim. Ka\u017cdy z projekt\u00f3w ma odpowiednie konto ksi\u0119gowe. Na karcie \u015brodka trwa\u0142ego atrybuty w kodzie maj\u0105 zawarte konto ksi\u0119gowe a warto\u015b\u0107 to udzia\u0142 procentowy amortyzacji w danym miesi\u0105cu.<\/p>\n<p>Wygl\u0105da to tak:<\/p>\n<p>Atrybut Kod\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Warto\u015b\u0107<\/p>\n<p>501-1-1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0,30<\/p>\n<p>502-1-1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0,20<\/p>\n<p>504-2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0,50<\/p>\n<p>W schemacie ksi\u0119gowym w polu <strong>Konto<\/strong> odwo\u0142ujemy si\u0119 do numeru konta z kodu atrybutu<\/p>\n<p><code><strong>@ST_AtrybutKod<\/strong><\/code><\/p>\n<p>a w Kwocie przeliczamy amortyzacj\u0119 x warto\u015b\u0107 atrybutu<\/p>\n<p><code><strong>@ST_AtrybutWartosc*@Amortyzacja<\/strong><\/code><\/p>\n<p>Ewentualne korekty groszowe mo\u017cna wyksi\u0119gowa\u0107 za pomoc\u0105 wyra\u017cenia:<\/p>\n<p><code><strong>@ST_AtrybutWartosc * @Amortyzacja - convert(decimal(14,2), @ST_AtrybutWartosc * @Amortyzacja)<\/strong><\/code><a name=\"zsk70\"><\/a><\/p>\n<p>W polu warunek:<\/p>\n<p><code><strong>@ST_AtrybutKod IN (Select DeA_Kod from CDN.DefAtrybuty where DeA_Format=2)<\/strong><br \/>\n<\/code><a name=\"zsk70\"><\/a><\/p>\n<h3><a name=\"_Toc524945609\"><\/a><a name=\"_Toc430949152\"><\/a>70. Jak zaksi\u0119gowa\u0107 z poziomu rejestr\u00f3w VAT dokument Tax Free z dat\u0105 potwierdzenia?<\/h3>\n<p>W schemacie ksi\u0119gowym typu <strong>Rejestr sprzeda\u017cy VAT<\/strong> w polu <strong>Data ksi\u0119g.<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>@DataWyst-@DataWyst+cdn.Data_TF(VaN_VaNID)<\/strong><\/code><\/p>\n<p>Operator z uprawnieniami administratora mo\u017ce uruchomi\u0107 w menu <em>Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie skrypt\u00f3w<\/em> skrypt dodaj\u0105cy funkcj\u0119 serwerow\u0105, z kt\u00f3rej b\u0119dzie korzysta\u0142 schemat.<\/p>\n<p><code>CREATE function CDN.Data_TF (@VaNId Int)<br \/>\nreturns Datetime<br \/>\nas<br \/>\nbegin<br \/>\ndeclare @wynik Datetime<br \/>\nselect @wynik = (select TrN_DataPtwTaxFree from CDN.TraNag join<br \/>\nCDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE<br \/>\nTrN_TaxFreePotwierdzony=1 AND Van_Vanid=@VaNId)<br \/>\nreturn @wynik<br \/>\nend<\/code><\/p>\n<p>Dodatkowo w polu <strong>Warunek<\/strong> mo\u017cna wpisa\u0107 warunek czy zapis w rejestrze VAT ma powi\u0105zanie z potwierdzonym dokumentem Tax Free:<\/p>\n<p><code><strong>'1'='1' AND exists(select * from CDN.TraNag join CDN.VatNag on TrN_VaNId = VaN_VaNId AND TrN_TypDokumentu = 345 WHERE TrN_TaxFreePotwierdzony=1)<\/strong><\/code><br \/>\n<a name=\"zsk71\"><\/a><\/p>\n<h3><a name=\"_Toc524945610\"><\/a><a name=\"_Toc430949153\"><\/a>71. Jak sprawdzi\u0107 podczas ksi\u0119gowania dokumentu z rejestru VAT zakupu czy by\u0142 on rozliczony z delegacj\u0105?<\/h3>\n<p>W schemacie ksi\u0119gowym typu <strong>Rejestr zakup\u00f3w VAT<\/strong> w polu <strong>Warunek<\/strong> nale\u017cy wpisa\u0107:<\/p>\n<p><code><strong>'1'='1' AND EXISTS (SELECT * FROM CDN.BnkZdarzenia JOIN CDN.BnkRozRelacje on BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 JOIN CDN.BnkZapisy ON BRR_ZDokID=BZp_BZpID AND BRR_ZDokTyp=2 WHERE BZd_DokumentTyp=2 AND BZp_NumerString LIKE '%DLG%' AND BZd_DokumentId=VaN_VaNId)<\/strong><\/code><br \/>\n<a name=\"zsk72\"><\/a><\/p>\n<h3><a name=\"_Toc524945611\"><\/a><a name=\"_Toc430949154\"><\/a>72. Jak sprawdzi\u0107 podczas ksi\u0119gowania rozliczonego<br \/>\nz delegacj\u0105 dokumentu z rejestru VAT zakupu na jakiego pracownika zosta\u0142a wystawiona delegacja?<\/h3>\n<p>W schemacie ksi\u0119gowym typu Rejestr zakup\u00f3w VAT w polu Opis nale\u017cy wpisa\u0107:<br \/>\n<code>@Dokument + ' ' + CDN.Pracownik_DLG(VaN_VaNID)<\/code><br \/>\nOperator z uprawnieniami administratora mo\u017ce uruchomi\u0107 w menu Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie skrypt\u00f3w skrypt dodaj\u0105cy funkcj\u0119 serwerow\u0105, z kt\u00f3rej b\u0119dzie korzysta\u0142 schemat.<br \/>\n<code>Create Function CDN.Pracownik_DLG (@VanId Int)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Kod VarChar(20)<br \/>\nSelect @Kod = PRE_Kod<br \/>\nFROM CDN.PracEtaty<br \/>\nJOIN CDN.BnkZapisy ON BZp_PodmiotID=PRE_PreId AND BZp_PodmiotTyp=3 JOIN CDN.BnkRozRelacje ON BRR_ZDokID =<br \/>\nBZp_BZpID AND BRR_ZDokTyp=2 JOIN CDN.BnkZdarzenia ON BRR_DDokID=BZd_BZdID AND BRR_DDokTyp=1 WHERE BZd_DokumentId = @VanId<br \/>\nReturn @Kod<br \/>\nEnd<\/code><br \/>\nDo powy\u017cszej funkcji mo\u017cna r\u00f3wnie\u017c odwo\u0142a\u0107 si\u0119 w polu Warunek (podaj\u0105c na pocz\u0105tku kod okre\u015blonego pracownika):<br \/>\n<code>'KOWALSKI'= CDN.Pracownik_DLG(VaN_VaNID)<\/code><br \/>\n<a name=\"zsk73\"><\/a><\/p>\n<h3><a name=\"_Toc524945612\"><\/a><a name=\"_Toc430949155\"><\/a>73. Jak zaksi\u0119gowa\u0107 dokument RW na konto ksi\u0119gowe zawieraj\u0105ce numer dokumentu powi\u0105zanego zlecenia serwisowego?<\/h3>\n<p>Za\u0142\u00f3\u017cmy, \u017ce dokument RW chcemy zaksi\u0119gowa\u0107 na konto analityczne konta 501, kt\u00f3rego numer jest numerem zlecenia serwisowego (np. 501-SRW_1_2016). W schemacie ksi\u0119gowym typu Rozchody wewn\u0119trzne w polu Konto Wn nale\u017cy wpisa\u0107:<br \/>\n<code>LEFT(@Opis,0)+'501-'+dbo.MojaFunkcja_Numer_SRW (TrN_TrNID)<\/code><br \/>\nOperator z uprawnieniami administratora mo\u017ce uruchomi\u0107 w menu Narz\u0119dzia Serwer bazy danych\/ Wykonywanie skrypt\u00f3w skrypt dodaj\u0105cy funkcj\u0119 serwerow\u0105, z kt\u00f3rej b\u0119dzie korzysta\u0142 schemat.<br \/>\n<code>Create Function dbo.MojaFunkcja_Numer_SRW (@TrNID INT)<br \/>\nReturns VarChar(20)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @numer VarChar(20)<br \/>\nselect @numer = REPLACE (SrZ_NumerPelny,'\/','_')<br \/>\nFROM CDN.SrsZlecenia JOIN CDN.DokRelacje ON DoR_ParentId=SrZ_SrZId AND DoR_ParentTyp=900 JOIN CDN.TraNag ON DoR_DokumentId=TrN_TrNID AND DoR_DokumentTyp=304 WHERE TrN_TrNID= @TrNID<br \/>\nReturn @numer<br \/>\nEnd<\/code><br \/>\nKonta w planie kont musz\u0105 istnie\u0107 przed ksi\u0119gowaniem. Ewentualnie musi istnie\u0107 konto syntetyczne \u2013 je\u017celi b\u0119dzie zaznaczony parametr Automatyczne zak\u0142adanie kont analitycznych nies\u0142ownikowych (w Konfiguracji Firmy\/ Ksi\u0119gowo\u015b\u0107\/ Ksi\u0119gowo\u015b\u0107 kontowa) \u2013 konta si\u0119 za\u0142o\u017c\u0105.<br \/>\n<a name=\"zsk74\"><\/a><\/p>\n<h3><a name=\"_Toc524945613\"><\/a><a name=\"_Toc430949156\"><\/a>74. Jak zaksi\u0119gowa\u0107 z listy p\u0142ac kwot\u0119 wyp\u0142aty w got\u00f3wce dla pracownika?<\/h3>\n<p>Aby w dekrecie utworzonym z zaksi\u0119gowanej listy p\u0142ac uzyska\u0107 kwot\u0119 wynagrodzenia wyp\u0142aconej w got\u00f3wce nale\u017cy utworzy\u0107 odpowiedni\u0105 funkcj\u0119 serwerow\u0105, z kt\u00f3rej b\u0119dzie korzysta\u0142 schemat dla list p\u0142ac. Operator<br \/>\nz uprawnieniami administratora mo\u017ce uruchomi\u0107 w menu Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie skrypt\u00f3w skrypt dodaj\u0105cy t\u0119 funkcj\u0119.<br \/>\n<code>Create Function CDN.MojaFunkcja_wyplaty_gotowka(@LplID int, @WPLID int)<br \/>\nReturns Decimal(15,2)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Kwota Decimal(15,2)<br \/>\nSelect @Kwota = Sum(BZd_KwotaSys)<br \/>\nFrom CDN.BnkZdarzenia join CDN.Wyplaty on BZd_DokumentID=WPL_WplId join CDN.ListyPlac on WPL_LplId = LPL_LplId<br \/>\nWhere LPL_LplId=@LplId AND WPL_WPLID=@WPLID and BZd_DokumentTyp=8 and BZd_FPlId=1<br \/>\nReturn IsNull(@Kwota, 0)<br \/>\nEnd<\/code><br \/>\nWywo\u0142anie funkcji w elemencie schematu ksi\u0119gowego w polu Kwota:<br \/>\n<code>'0' + CDN.MojaFunkcja_wyplaty_gotowka(Lpl_LplID,WPL_WPLID)<\/code><br \/>\n<a name=\"zsk75\"><\/a><\/p>\n<h3><a name=\"_Toc524945614\"><\/a>75. Jak zaksi\u0119gowa\u0107 list\u0119 p\u0142ac z wykorzystaniem atrybut\u00f3w pracownika?<\/h3>\n<p>Dla poszczeg\u00f3lnych pracownik\u00f3w przypisano atrybuty (np. 501, 502,\u2026) z warto\u015bciami w formie wsp\u00f3\u0142czynnik\u00f3w okre\u015blaj\u0105ce udzia\u0142y odpowiednich koszt\u00f3w wydzia\u0142owych. Chc\u0105c zaksi\u0119gowa\u0107 list\u0119 p\u0142ac wykorzystuj\u0105c warto\u015bci odpowiednich atrybut\u00f3w przypisanych do pracownika nale\u017cy z poziomu Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie zapyta\u0144 SQL doda\u0107 nast\u0119puj\u0105c\u0105 funkcj\u0119:<br \/>\n<code>Create Function CDN.Wartosc_Atr_Prac (@WPLId Int, @nazwa varchar(20))<br \/>\nreturns decimal (15,2)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @wartosc decimal (15,2)<br \/>\nSelect @wartosc = REPLACE (ATH_Wartosc,',','.')<br \/>\nFrom CDN.OAtrybutyHist Join CDN.OAtrybuty ON ATH_OatId=OAT_OatId Join CDN.WypElementy On OAT_PrcId = WPE_PraId Join CDN.Wyplaty on WPL_WplId=WPE_WplId<br \/>\nWhere WPL_WPLId = @WPLId AND OAT_NazwaKlasy = @nazwa And (ATH_DataDo &gt;= WPL_DataDo And WPL_DataOd &gt;= ATH_DataOd)<br \/>\nReturn CASE WHEN ISNUMERIC(@wartosc)=1 THEN CAST (@wartosc AS DECIMAL(15,2)) ELSE 0 END<br \/>\nEnd<\/code><br \/>\nWywo\u0142anie funkcji w elemencie schematu ksi\u0119gowego w polu Kwota \u2013 przemno\u017cenie kwoty wynagrodzenia brutto przez warto\u015b\u0107 odpowiedniego wsp\u00f3\u0142czynnika:<br \/>\n<code>@WynagrodzenieBrutto * CDN.Wartosc_Atr_Prac (WPL_WPLId, '501')<\/code><\/p>\n<h3><a name=\"zsk76\"><\/a>76. Jak zaksi\u0119gowa\u0107 r\u00f3\u017cnice kursowe od kwoty netto i VAT odpowiednio na konta KUP i NKUP?<\/h3>\n<p>Zak\u0142adamy, \u017ce dokument od kontrahenta krajowego w walucie obcej zosta\u0142 wprowadzony z poziomu rejestru VAT i na zak\u0142adce [Waluta] dokumentu zaznaczony jest parametr <strong>P\u0142atno\u015b\u0107 VAT w PLN<\/strong>. W takim przypadku w Preliminarzu tworzone s\u0105 2 p\u0142atno\u015bci z dokumentu \u2013 jedna na kwot\u0119 netto w walucie obcej, a druga na kwot\u0119 VAT w PLN. Je\u017celi zap\u0142ata za faktur\u0119 nast\u0105pi\u0142a w walucie obcej na kwot\u0119 brutto dokumentu, w\u00f3wczas (po zmianie na p\u0142atno\u015bci dotycz\u0105cej kwoty VAT waluty rozliczenia z PLN na walut\u0119 obc\u0105) w <em>Kasa\/Bank \/ R\u00f3\u017cnice kursowe<\/em> powstaj\u0105 2 r\u00f3\u017cnice kursowe. Chc\u0105c zaksi\u0119gowa\u0107 je na 2 r\u00f3\u017cne konta nale\u017cy w schemacie o typie <em>R\u00f3\u017cnice kursowe<\/em> doda\u0107 osobne pozycje z odmiennymi kontami i warunkami:<\/p>\n<p style=\"padding-left: 40px;\">a) Zaksi\u0119gowanie r\u00f3\u017cnicy od kwoty netto na konta KUP \u2013 w polu Konto Wn \/ Konto Ma nale\u017cy wskaza\u0107 odpowiednie konta ksi\u0119gowe, jako kwot\u0119 wybra\u0107 @RoznicaMinus lub @RoznicaPlus, natomiast w polu <strong>Warunek<\/strong> wpisa\u0107:<\/p>\n<p><code>'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where ((BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1)) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok &lt;&gt; '' ))<\/code><\/p>\n<p style=\"padding-left: 40px;\">b) Zaksi\u0119gowanie r\u00f3\u017cnicy od kwoty VAT na konta NKUP \u2013 w polu Konto Wn \/ Konto Ma nale\u017cy wskaza\u0107 odpowiednie konta ksi\u0119gowe, jako kwot\u0119 wybra\u0107 @RoznicaMinus lub @RoznicaPlus, natomiast w polu <strong>Warunek <\/strong>wpisa\u0107:<\/p>\n<p><code>'1'='1' AND (EXISTS (Select * FROM CDN.BnkZdarzenia Join CDN.VatNag On BZd_DokumentID=VaN_VaNID Where ((BRKV_LDokID=BZd_BZdID AND BRKV_LDokTyp=1) OR (BRKV_PDokID=BZd_BZdID AND BRKV_PDokTyp=1)) AND BZd_DokumentTyp=2 AND VaN_TrybNettoVAT=1 AND BZd_WalutaDok = '' ))<\/code><br \/>\n<a name=\"zsk77\"><\/a><\/p>\n<h3>77. Jak zaksi\u0119gowa\u0107 sum\u0119 wyp\u0142at wynagrodze\u0144 pracownik\u00f3w z raportu K\/B jako pojedynczy zapis?<\/h3>\n<p>W raporcie kasowym\/bankowym znajduj\u0105 si\u0119 zapisy z wyp\u0142atami wynagrodze\u0144 poszczeg\u00f3lnych pracownik\u00f3w (zawieraj\u0105cych w opisie s\u0142owo \u201eWynagrodzenie\u201d) kt\u00f3re chcemy zaksi\u0119gowa\u0107 jedn\u0105 zbiorcz\u0105 kwot\u0105. W tym celu nale\u017cy z poziomu <em>Narz\u0119dzia\/ Serwer bazy danych\/ Wykonywanie zapyta\u0144 SQL <\/em>doda\u0107 nast\u0119puj\u0105c\u0105 funkcj\u0119:<\/p>\n<p><code>Create Function [CDN].[SumaWynagrodzen] (@BRPid int, @BZPid int)<br \/>\nReturns Decimal (15,2)<br \/>\nAs<br \/>\nBegin<br \/>\nDeclare @Wynik Decimal(15,2)<br \/>\nSelect @Wynik = CASE WHEN (SELECT min(BZp_BZpID) FROM CDN.BnkZapisy<br \/>\nWHERE BZp_BRpID=@BRPid and BZp_PodmiotTyp=3 and BZp_Opis like 'Wynagrodzenie%') = @BZPid<br \/>\nTHEN isnull (sum(BZp_Kwota),0) Else 0<br \/>\nEnd<br \/>\nFrom CDN.BnkZapisy<br \/>\nWhere BZp_BRpID=@BRPid and BZp_PodmiotTyp=3 and BZp_Opis like'Wynagrodzenie%'<br \/>\nreturn IsNull(@wynik,0)<br \/>\nEnd<\/code><\/p>\n<p>Wywo\u0142anie funkcji w elemencie schematu ksi\u0119gowego w polu <strong>Kwota:<\/strong><\/p>\n<p><code>'0'+CDN.SumaWynagrodzen (BRp_BRpID, BZp_BZpID)<\/code><br \/>\n<a name=\"zsk78\"><\/a><\/p>\n<h3>78. Jak zaksi\u0119gowa\u0107 kwot\u0119 VAT w podziale na stawki z dokument\u00f3w w procedurze OSS?<\/h3>\n<p>Dost\u0119pne na schematach ksi\u0119gowych makra dotycz\u0105ce kwot dla stawek VAT odnosz\u0105 si\u0119 do stawek obowi\u0105zuj\u0105cych w Polsce. W celu zaksi\u0119gowania z dokumentu w procedurze OSS kwoty VAT w podziale na stawki obowi\u0105zuj\u0105ce w innych krajach Unii Europejskiej nale\u017cy odwo\u0142a\u0107 si\u0119 do tej stawki w warunku pozycji schematu.<br \/>\nW przypadku ksi\u0119gowania Faktur sprzeda\u017cy z poziomu modu\u0142u Handel\/Faktury nale\u017cy na pozycji schematu wskaza\u0107 odpowiednie konto ksi\u0119gowe dla VAT-u nale\u017cnego w danej stawce, w polu <strong>Kwota<\/strong> wpisa\u0107:<\/p>\n<p><code>@PozBrutto - @PozNetto<\/code><\/p>\n<p>natomiast w polu <strong>Warunek<\/strong>:<\/p>\n<p><code>'1'='1' and TrE_Stawka='13.00'<\/code><\/p>\n<p>W przypadku ksi\u0119gowania dokument\u00f3w z poziomu Rejestru VAT sprzeda\u017cy, w polu<strong> Kwota<\/strong> pozycji schematu nale\u017cy wpisa\u0107:<\/p>\n<p><code>@Vat<\/code><\/p>\n<p>natomiast w polu <strong>Warunek<\/strong>:<\/p>\n<p><code>'1'='1' and VaT_Stawka='13.00'<\/code><\/p>\n<p>Chc\u0105c zaksi\u0119gowa\u0107 kwoty Netto lub Brutto dla okre\u015blonej w warunku stawki, w polu<strong> Kwota<\/strong> pozycji schematu nale\u017cy wpisa\u0107 dla Faktur sprzeda\u017cy <strong>@PozNetto<\/strong> lub <strong>@PozBrutto<\/strong>, natomiast w przypadku ksi\u0119gowania z poziomu Rejestru VAT sprzeda\u017cy \u2013 odpowiednio<strong> @Netto<\/strong> lub <strong>@Brutto<\/strong>.<\/p>\n<p><a name=\"zsk79\"><\/a><\/p>\n<h3>79.\u00a0Jak zaksi\u0119gowa\u0107 z listy p\u0142ac konkretn\u0105 warto\u015b\u0107 kwotow\u0105 podan\u0105 w schemacie ksi\u0119gowym?<\/h3>\n<p>Wpisuj\u0105c w schemacie ksi\u0119gowym dla list p\u0142ac warto\u015b\u0107 kwotow\u0105 bez warunku, b\u0119dzie ona mno\u017cona przez ilo\u015b\u0107 element\u00f3w wyp\u0142at dla pracownik\u00f3w. Nale\u017cy wi\u0119c zastosowa\u0107 warunek:<br \/>\n<code>'1'='1' AND (SELECT min(WPE_WpeId) FROM CDN.WypElementy Join CDN.Wyplaty ON WPE_WplId=WPL_WplId WHERE WPL_LplId =LPL_LplId) = WPE_WpeId<\/code><br \/>\nKwot\u0119 mo\u017cna zdefiniowa\u0107 np. jako:<br \/>\n<code>@WynagrodzenieBrutto - @WynagrodzenieBrutto + 100.00<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data aktualizacji: 02-10-2025 1. Jak mo\u017cna odwo\u0142ywa\u0107 si\u0119 do danych w bazie na poszczeg\u00f3lnych elementach schematu? W polach w nag\u0142\u00f3wku\/pozycjach schematu opr\u00f3cz standardowo dost\u0119pnych makr mo\u017cna odwo\u0142ywa\u0107 si\u0119 do danych w bazie w nast\u0119puj\u0105cy spos\u00f3b: Data ksi\u0119gowania &#8211; bezpo\u015brednie odwo\u0142ania do pola w bazie danych, skalarne funkcje serwerowe, Konto Wn\/Ma &#8211; bezpo\u015brednie odwo\u0142ania do pola [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_ht_kb_usefulness":2,"_ht_kb_post_views_count":10511,"_ht_kb_article_order":0,"_ht_kb_reading_time":79,"footnotes":""},"ht_kb_category":[411],"ht_kb_tag":[],"class_list":["post-14734","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-ksiegowosc-biuletyny"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/14734","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=14734"}],"version-history":[{"count":92,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/14734\/revisions"}],"predecessor-version":[{"id":50662,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb\/14734\/revisions\/50662"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/media?parent=14734"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb_category?post=14734"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/optima\/pl\/2027\/wp-json\/wp\/v2\/ht_kb_tag?post=14734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}