Numer telefonu i mail operatora w stopce wydruku GenRap (proforma, zamówienie) w Comarch ERP Optima

Handlowiec wystawia proformę, wysyła ją mailem do klienta, a w stopce widnieje tylko ogólny numer centrali. Klient chce dopytać o szczegóły – dzwoni na recepcję, tam ktoś musi go przełączyć, potem drugi raz, przy trzecim podejściu rezygnuje. Dane kontaktowe operatora są w systemie, ale nie tam, gdzie powinny być – na wydruku. To klasyczny przypadek, w którym Optima ma potrzebne informacje, ale standardowa definicja GenRap ich nie wyciąga.

Dlaczego dane operatora nie pojawiają się same z siebie

Standardowe wydruki GenRap w Optimie są projektowane pod dane firmy jako wystawcy, a nie osoby konkretnej. Operator jest zapisany na dokumencie (jako Operator zakł. i Operator mod.), ale jego numer telefonu i mail siedzą w innej tabeli – w konfiguracji użytkownika (Konfiguracja Programu / Użytkowe / Operatorzy). Żeby te dane pojawiły się na wydruku, GenRap musi je aktywnie połączyć przez ID operatora. Bez tego połączenia sekcja stopki nie ma skąd ich wziąć, choć są zapisane 5 kliknięć dalej.

Ścieżka rozwiązania krok po kroku

Krok 1 – skopiuj standardową definicję wydruku

Otwórz dokument proforma lub zamówienie, który chcesz modyfikować. Użyj Ctrl + F2 (Konfiguracja wydruków), znajdź definicję GenRap dla tego typu dokumentu i zrób jej kopię. Nigdy nie edytuj oryginału Comarcha – przy następnej aktualizacji Optimy zmiany zostaną nadpisane.

<screen>

Krok 2 – sprawdź istniejące źródła danych

W edytorze GenRap wejdź w drzewko źródeł danych. Część nowszych definicji ma już gotowe zmienne typu OperatorWystawiajacyTelefon czy OperatorWystawiajacyEmail. Jeśli są – wystarczy przeciągnąć je do sekcji Footer, sformatować, zapisać i skończone.

<screen>

Krok 3 – dopnij źródło, jeśli go brakuje

Gdy w standardowej definicji nie ma pola z kontaktem do operatora, dodajesz nowe źródło danych. W edytorze GenRap tworzysz zapytanie SQL, które łączy tabelę dokumentu z tabelą operatorów (Ope_Ident, Ope_Telefon, Ope_Email) po ID operatora wystawiającego. Następnie w Footer wstawiasz pola tekstowe i wskazujesz nowe zmienne jako źródło zawartości.

<screen>

Krok 4 – alternatywa dla małych zespołów (filtr po nazwisku)

Jeżeli w firmie handluje 3-5 osób i nie chce ci się grzebać w SQL, można położyć w definicji wydruku filtr warunkowy – dokładnie takie rozwiązanie zaproponowała jedna z użytkowniczek pod pytaniem na forum. Filtr sprawdza, jakie nazwisko operatora jest w standardowym polu i podstawia mu przypisany numer telefonu i mail. To rozwiązanie działa od ręki, wdraża się je w kilkanaście minut i nie wymaga rozbudowy definicji o dodatkowe zapytania SQL. Haczyk jest jeden – przy zmianach kadrowych trzeba pamiętać o aktualizacji tej listy warunków w definicji, bo inaczej nowy handlowiec będzie miał pusty telefon w stopce.

<screen>

Krok 5 – test na kilku dokumentach

Zanim ustawisz zmodyfikowany wydruk jako domyślny, przetestuj go na proformie, zamówieniu i ofercie wystawionej przez różnych operatorów. Klucz to sprawdzić, że w stopce pojawia się kontakt do osoby, która wystawiła dokument, a nie do aktualnie zalogowanego użytkownika (to dwie różne wartości w bazie).

<screen>

Perspektywa ELTE-S

Wydruki w Optimie to obszar, który często traktuje się po macoszemu – działa, to nie ruszamy. Tyle że standardowa definicja GenRap projektowana jest pod dane firmy, a nie pod konkretnego handlowca, i w B2B to realnie kosztuje – klient zamiast oddzwonić do swojego opiekuna, ląduje na centrali albo w ogóle rezygnuje z kontaktu. Dwóch pułapek należy przy tym unikać: edytowania oryginału Comarcha (nadpisze się przy najbliższej aktualizacji) oraz mylenia operatora wystawiającego z operatorem zalogowanym – to dwie różne wartości w bazie i pomyłka tutaj oznacza, że w stopce będzie kontakt do przypadkowej osoby. Dobrze zaprojektowany wydruk to taką samą część procesu sprzedaży jak sam dokument – warto poświęcić parę godzin, żeby ustawić go raz a porządnie.

Porozmawiajmy o usprawnieniach wydruków w Twojej Optimie.

Zła kartoteka na fakturze wysłanej do KSeF (bez WZ) – jak to skorygować w Optimie?

Krajowy System e-Faktur działa w czasie rzeczywistym. Wystawiasz fakturę, klikasz wyślij, a dokument natychmiast staje się prawnie wiążący w urzędzie. Co jednak w sytuacji, gdy chwilę po wysyłce orientujesz się, że popełniłeś błąd?

Wyobraź sobie klasyczny scenariusz: na fakturze widnieje poprawna kwota i ilość, ale wybrana została zła kartoteka towarowa (np. zły indeks lub wariant produktu). Faktura poszła do KSeF, ale pracownik magazynu nie zdążył jeszcze wygenerować do niej dokumentu Wydania Zewnętrznego (WZ). Zastanawiasz się: skoro WZ jeszcze nie ma, to może po prostu wystawię je od nowa, już z poprawnym towarem, i w jakiś sposób zepnę z tą fakturą?

System klasy ERP rządzi się jednak żelazną logiką powiązań. Zignorowanie jej to najprostsza droga do zablokowania magazynu.

Zachowaj ciągłość obiegu dokumentów

Na wstępie warto zaznaczyć, że cała ta sytuacja jest mocno nietypowa. Wysyłanie faktury do KSeF przed fizycznym zdjęciem towaru z magazynu (brak WZ) rodzi ogromne ryzyko rozjechania się stanów. Niemniej jednak, skoro dokument jest już w systemie ministerialnym, musimy naprawić błąd zgodnie ze sztuką.

Nie możesz w Optimie wystawić “luźnego” dokumentu WZ z innym asortymentem (poprawną kartoteką A) i spróbować na siłę połączyć go z wysłaną Fakturą Sprzedaży, na której widnieje błędny asortyment (kartoteka B). System na to nie pozwoli. Powiązanie dokumentów handlowych i magazynowych wymaga absolutnej zgodności indeksów towarowych.

Jak naprawić błąd krok po kroku?

Musisz naprawić błąd “jadąc do przodu” i zamykając błędny obieg, a nie próbując go cofać. Aby poprawnie skorygować ten problem, trzymaj się następującej ścieżki:

Wystaw “błędne” WZ

Wygeneruj dokument Wydania Zewnętrznego (WZ) do wysłanej faktury, dokładnie w takiej postaci, w jakiej żąda tego system – czyli z błędną kartoteką towarową (kartoteką B). W ten sposób domkniesz obieg pierwotnego dokumentu sprzedaży.

Wykonaj Korektę Faktury Sprzedaży (KOR FS)

Odszukaj w rejestrze błędną fakturę i wygeneruj do niej korektę, poprawiając na niej pozycje (zdejmując kartotekę B i wprowadzając poprawną kartotekę A).

Wykonaj Korektę Wydania Zewnętrznego (KOR WZ)

Zatwierdzenie korekty faktury wymusi również korektę na dokumencie magazynowym. System zdejmie z WZ błędny towar i pozwoli wydać ten poprawny.

Wyślij korektę do KSeF

Wygenerowaną i zatwierdzoną korektę faktury wyślij do KSeF.

Tylko takie przejście przez cały proces gwarantuje, że nie powstaną rezerwacje widmo, a towar powróci na prawidłowe stany magazynowe.

<screeny>

Perspektywa ELTE-S: Wdrażaj zabezpieczenia procesowe

Ten przypadek doskonale obnaża słabości procesowe w wielu firmach. Wystawianie faktur (i co gorsza, wysyłanie ich do rządowych platform) przed fizycznym wygenerowaniem dokumentów magazynowych to igranie z ogniem.

Dobrze zaprojektowany system blokad i uprawnień w Comarch ERP Optima powinien wymuszać na operatorach generowanie obiegu handlowego na podstawie gotowych i zatwierdzonych dokumentów z magazynu, a nie odwrotnie.

Jeśli w Twojej firmie obiegi dokumentów często ulegają “zapętleniu”, a pracownicy omijają standardowe procedury (np. wystawiając faktury bez powiązań), warto przeprowadzić audyt konfiguracyjny. Chętnie ułożymy te procesy od nowa, by zabezpieczyć Cię przed ryzykownymi pomyłkami w erze KSeF.

Porozmawiajmy o usprawnieniach.

Powrót do starszej wersji i odtwarzanie kopii bezpieczeństwa w Optimie

Wielu użytkowników po problematycznej aktualizacji oprogramowania staje przed koniecznością szybkiego odzyskania środowiska pracy. Kiedy nowa wersja systemu generuje błędy uniemożliwiające codzienne operacje, naturalnym odruchem jest chęć odtworzenia kopii bezpieczeństwa zrobionej przed podniesieniem wersji. Niestety, często na tym etapie pojawia się problem: Comarch ERP Optima odrzuca próbę odtworzenia backupu.

Powstaje wtedy koncepcja “downgrade’u”: całkowitego usunięcia programu, zainstalowania na czysto starej wersji (np. 2026.1), odtworzenia bazy i powtórzenia procesu aktualizacji do wyższej wersji (np. 2026.4). Czy to zadziała i skąd w ogóle biorą się takie blokady?

Dlaczego system odrzuca odtworzenie kopii zapasowej?

Zanim zdecydujesz się na drastyczny krok w postaci deinstalacji oprogramowania, warto zrozumieć, dlaczego Optima w ogóle odrzuca Twoją próbę przywrócenia bazy.

Wielu użytkowników zakłada, że nowa wersja programu (w tym przypadku 2026.4) intencjonalnie blokuje kopie z wersji poprzednich (np. 2026.1). W praktyce jednak powód bywa znacznie bardziej prozaiczny. Z naszych wdrożeniowych doświadczeń wynika, że gdy pojawia się problem z odtworzeniem bazy, w 90% przypadków dotyczy on braku dostępu do folderu, w którym została zapisana kopia.

Mechanizm przywracania bazy wykonuje się na poziomie usługi SQL Server. Zdarza się, że po aktualizacjach lub zmianach w systemie operacyjnym usługa SQL traci uprawnienia do odczytu z folderu z backupami. Przeniesienie pliku kopii do innego, w pełni udostępnionego folderu lub poprawienie uprawnień dla konta uruchamiającego SQL Server często natychmiast odblokowuje możliwość odtworzenia danych.

Downgrade Optimy – czy instalacja starszej wersji zadziała?

Jeśli jednak problem jest głębszy i baza w nowej wersji całkowicie odmawia posłuszeństwa, powrót do starszej edycji (downgrade) poprzez czystą instalację jest możliwy.

Ścieżka, w której odinstalowujesz Optimę, instalujesz na nowo wersję 2026.1, a następnie odtwarzasz w niej kopię bezpieczeństwa wykonaną dokładnie w tej samej wersji przed feralną aktualizacją, ma dużą szansę powodzenia.

Jest to szczególnie bezpieczne w przypadku przejścia między wersjami 2026.1 a 2026.4, ponieważ operujesz jeszcze w środowisku 32-bitowym (nowa architektura x64 weszła na rynek dopiero od wersji 2026.5). Przeskoki architektoniczne bywają dużo bardziej problematyczne dla baz danych, ale w tym wypadku nie musisz się tym martwić.

Skąd wziąć starszą wersję instalatora? Comarch nie udostępnia starych wersji na otwartych serwerach po wydaniu nowszych edycji. Pliki te jednak posiadają autoryzowani Partnerzy Comarch i w razie potrzeby udostępniają je klientom.

Perspektywa ELTE-S: Działaj na podstawie logów, a nie intuicji

Próby ratowania bazy metodą reinstalacji bez wcześniejszej diagnozy błędu to zawsze ryzykowna gra. Jeśli aktualizacja się nie powiodła, kluczowe jest zbadanie dokładnego komunikatu błędu, który generuje instalator lub SQL Server w logach. Brak konkretnego kodu błędu uniemożliwia rzetelną ocenę tego, co uległo awarii na serwerze.

Działanie “na ślepo” często skutkuje tym, że przy ponownej próbie aktualizacji (nawet z poprawnie przywróconej starszej wersji) system ponownie się zawiesi dokładnie w tym samym miejscu, a Ty stracisz kolejne godziny.

Zamiast tracić czas na poszukiwanie instalatorów i formatowanie serwera, zleć analizę problemu profesjonalistom. Przeprowadzimy diagnozę logów i podniesiemy wersję oprogramowania bezpiecznie.

Porozmawiajmy o usprawnieniach.

Optima zamyka się przy imporcie pliku XML w Pracy Rozproszonej – jak to naprawić?

Wdrażasz nową wersję Comarch ERP Optima, wszystko działa sprawnie, ale następnego dnia praca w księgowości zostaje sparaliżowana. Przy próbie zaimportowania dokumentów (np. z innej bazy Optima przez Narzędzia -> Praca rozproszona BR), system zachowuje się bardzo dziwnie. Wskazujesz plik do importu, program rusza i po 2-4 sekundach okno po prostu znika. Bez komunikatu, bez widocznego błędu – aplikacja natychmiast wyłącza się do pulpitu.

To niezwykle frustrujące zjawisko, tym bardziej że w standardowych logach programu najczęściej nie ma żadnego śladu awarii. Dlaczego Optima nagle odrzuca pliki XML i jak diagnozować awarię, o której system nie informuje wprost?

Różnica wersji i zmiana struktury plików XML

Niewidzialny “crash” aplikacji przy imporcie danych bez generowania konkretnych błędów najczęściej wskazuje na jeden bardzo techniczny powód: program napotkał w pliku wejściowym znacznik, format lub układ danych, którego w obecnej wersji nie potrafi prawidłowo zinterpretować.

Mechanizm Pracy Rozproszonej w Optimie jest niezwykle wrażliwy na niezgodność wersji. Po każdej większej aktualizacji, producent często optymalizuje, dodaje lub całkowicie zmienia obsługę określonych elementów wewnątrz struktury przesyłanych plików XML.

Jeżeli klient pracujący na starszej wersji Optimy (lub na zewnętrznym programie księgowo-magazynowym) wygeneruje plik w przestarzałym formacie i wyśle go do biura rachunkowego, które dopiero co zaktualizowało system do najnowszego wydania – nowa Optima może “zadławić się” podczas odczytywania nieznanych lub wycofanych tagów, co skutkuje zamknięciem programu.

Jak zweryfikować i naprawić plik XML do importu?

Jeśli podejrzewasz różnicę w wersjach, możesz bardzo szybko zweryfikować, czy struktura problematycznego pliku jest poprawna w stosunku do najnowszych wymogów Optimy.

Przeprowadź testowy eksport

Otwórz zaktualizowaną Optimę i mechanizm Pracy Rozproszonej. Wybierz dowolne dokumenty i wykonaj testowy eksport do pliku XML na swoim komputerze.

<screen>

Porównaj strukturę plików

Otwórz oba pliki w dowolnym edytorze tekstu (np. Notatniku) – plik testowy z nowego systemu oraz problematyczny plik przesłany przez klienta.

Zlokalizuj różnice w budowie

Zwróć uwagę na nagłówki oraz sposób budowania znaczników poszczególnych rekordów. Jeżeli zauważysz, że w pliku od klienta brakuje wymaganych sekcji lub użyto wycofanych tagów wewnątrz dokumentów, znalazłeś winowajcę.

Aby usunąć problem definitywnie, jedynym słusznym i w pełni bezpiecznym rozwiązaniem jest dbanie o to, by obie strony wymiany danych pracowały na zaktualizowanych systemach Comarch ERP Optima. Ujednolicenie wersji po obu stronach gwarantuje zgodność przesyłanych plików XML.

Perspektywa ELTE-S: Błędy importu w nowych wersjach to stały problem

Automatyczna komunikacja na styku różnych systemów firmowych to fundament szybkiego księgowania, jednak bywa zawodna. Każda aktualizacja ERP niesie za sobą ryzyko, że ręcznie ustawiane dotąd importy i specyficzne schematy po prostu przestaną działać, a praca zostanie wstrzymana na czas żmudnej diagnozy i analizy plików tekstowych.

Jeżeli Twoja Optima notorycznie zamyka się podczas wczytywania dokumentów z pracy rozproszonej lub borykasz się z importowaniem niestandardowych XML-i od zewnętrznych dostawców e-commerce, i masz wrażenie, że wymiana danych przynosi więcej kłopotów niż pożytku – daj nam znać. Chętnie zajrzymy w logi Twojego środowiska i ułożymy proces komunikacji tak, aby działał stabilnie.

Towar za 1 grosz a metoda średniej ważonej w Comarch ERP Optima – jak uniknąć błędów w wycenie?

Faktury zakupowe z pozycjami “za złotówkę” lub za przysłowiowy grosz to rynkowy standard. Dostawcy bardzo często dokładają towary promocyjne w celu obniżenia ogólnej, średniej ceny zakupu w ramach większego kontraktu.

W systemach ERP takie działanie potrafi jednak wywołać organizacyjny ból głowy. Jeśli w Comarch ERP Optima stosujesz dla danego towaru metodę wyceny magazynu opartą na średniej ważonej, dodanie do dostawy partii za 0,01 zł natychmiast zaniży wartość ewidencyjną całego zapasu tego konkretnego indeksu na Twoim magazynie.

Wielu użytkowników próbuje to omijać “kombinując” z dokumentami – np. zmieniając kolejność pozycji na wystawianej fakturze zakupu. Czy to zadziała?

Kolejność pozycji nie ma znaczenia

Zmiana ułożenia wierszy na dokumencie (przestawienie towaru za 20 zł pod towar za grosz) to mit, który krąży po forach. Przy wybranej metodzie średniej ważonej każda nowa dostawa wpływa na ostateczną wartość magazynu zgodnie z sumaryczną ilością i łączną wartością przyjętego towaru w ramach jednego dokumentu.

Oznacza to, że po zapisaniu Faktury Zakupu (FZ) lub Przyjęcia Zewnętrznego (PZ), system weźmie cały koszyk, doda wartości, podzieli przez ilość i uśredni wynik. Przerzucanie wierszy w górę lub w dół nie zmieni matematyki.

Jak ewidencjonować gratisy, by zachować porządek?

Jeżeli celowo nie chcesz, aby pozycje promocyjne zaburzały lub zaniżały Twoją reprezentatywną cenę magazynową (ponieważ np. mocno zakrzywi to późniejsze raporty rentowności sprzedaży), musisz zastosować inne podejście do ewidencji takich dostaw.

Oto 3 sprawdzone modele rozwiązywania tego problemu:

Ujęcie rabatu na poziomie całej dostawy

Zamiast rozbijać fakturę na towary pełnopłatne i groszowe (które lądują na tym samym indeksie magazynowym), poproś dostawcę (lub skalkuluj to samodzielnie na dokumencie), by zastosował ogólny rabat procentowy na całym zamówieniu. Wtedy każda sztuka towaru przyjmie się na magazyn po jednolitej, zrabatowanej cenie.

Wykazanie gratisów na oddzielnych pozycjach (inny indeks)

Wiele firm, w zgodzie ze swoją polityką rachunkową, rozdziela asortyment. Towar pełnopłatny trafia na standardowy indeks, a gratisy za 1 grosz trafiają na osobne, wydzielone indeksy towarowe przeznaczone wyłącznie do ewidencji materiałów promocyjnych/gratisowych. Dzięki temu “brudny” towar za grosze nie miesza się ze średnią ważoną na koncie Twojego podstawowego produktu.

Korekty wartości

Jeśli dokument musi zostać wprowadzony 1:1 ze specyfikacją od dostawcy, a Ty z jakiegoś powodu musisz zachować pierwotną cenę bazową na magazynie, ratunkiem pozostaje skorzystanie z funkcji dedykowanych korekt wartości po stronie systemu.

Co z plikiem JPK przy takich operacjach?

Przy okazji wprowadzania gratisów i towarów za grosze wielu księgowych obawia się o poprawność raportowania do urzędu skarbowego. Należy pamiętać, że sam sposób “rozrzucenia” towarów na magazynie (czy zrobisz to na dwóch wierszach, zrabatujesz, czy wrzucisz na osobny indeks) nie generuje błędów w plikach JPK.

Z punktu widzenia deklaracji JPK_V7 istotne są sumy kwoty netto i VAT dla całej faktury zakupu, a nie jej powiązania magazynowe w tle. Jeżeli w używanych przez Ciebie narzędziach do wysyłki deklaracji (np. systemach zewnętrznych) pojawiają się komunikaty typu “Weryfikacja negatywna – dokument niezgodny ze schematem XSD”, wynikają one najczęściej z brakujących wymogów stricte podatkowych – np. kodów JPK (OFF, BFK, DI) dla rejestrów VAT, a nie z faktu przyjęcia towaru za 1 grosz.

Jeżeli potrzebujesz pomocy w zoptymalizowaniu przepływu towarów promocyjnych przez magazyn tak, by nie niszczyły one analityki Twoich cen zakupu, skontaktuj się z nami. Pomożemy ułożyć procesy wyceny towarów.

Porozmawiajmy o usprawnieniach.