{"id":61473,"date":"2025-03-06T12:14:16","date_gmt":"2025-03-06T12:14:16","guid":{"rendered":"https:\/\/skyplanner.ai\/docs\/dzienniki-czasowe\/"},"modified":"2025-10-07T11:25:40","modified_gmt":"2025-10-07T11:25:40","password":"","slug":"dzienniki-czasowe","status":"publish","type":"docs","link":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/","title":{"rendered":"Dzienniki czasowe"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Struktura danych Skyplanner<\/h4>\n\n<p>Zanim zag\u0142\u0119bimy si\u0119 w dzienniki czasowe, musimy om\u00f3wi\u0107 nieco struktur\u0119 danych w Skyplanner i spos\u00f3b dzia\u0142ania pod mask\u0105. Wszystko to zostanie om\u00f3wione p\u00f3\u017aniej. <\/p>\n\n<p>Je\u015bli zintegrowa\u0142e\u015b swoje dane dotycz\u0105ce zam\u00f3wie\u0144\/zlece\u0144\/zada\u0144 w Skyplanner, najprawdopodobniej korzysta\u0142e\u015b przynajmniej z tych punkt\u00f3w ko\u0144cowych API:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>phaser-orders<\/li>\n\n\n\n<li>phaser-order-rows<\/li>\n\n\n\n<li>phaser-jobs<\/li>\n<\/ul>\n\n<p>W rzeczywisto\u015bci dane wprowadzane do tych punkt\u00f3w ko\u0144cowych s\u0105 reprezentowane w interfejsie u\u017cytkownika Skyplanner w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-large\"><img decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\" alt=\"\" class=\"wp-image-55194\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-300x209.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-768x535.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-360x251.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png 1142w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 1.<\/strong>  Zam\u00f3wienie (phaser-orders)<\/figcaption><\/figure>\n<\/div>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"715\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-1024x715.png\" alt=\"\" class=\"wp-image-55228\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-1024x715.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-300x210.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-768x536.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26-360x251.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-26.png 1144w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 2.<\/strong>  Pozycje zam\u00f3wienia (phaser-order-rows (czerwony)), Kroki procesu (phaser-jobs (zielony))<\/figcaption><\/figure>\n\n<p>Po wstawieniu zam\u00f3wie\u0144 do Skyplannera nale\u017cy <strong>je wyeksportowa\u0107<\/strong> (mo\u017cna to zrobi\u0107 za po\u015brednictwem interfejsu u\u017cytkownika lub punktu ko\u0144cowego \/phaser-orders\/export-endpoint) do modu\u0142u planowania produkcji:<\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-1024x596.png\" alt=\"\" class=\"wp-image-55288\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-1024x596.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-300x175.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-768x447.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27-360x209.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-27.png 1074w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 3.<\/strong>  Eksportowanie przez interfejs u\u017cytkownika<\/figcaption><\/figure>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-1024x597.png\" alt=\"\" class=\"wp-image-55326\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-1024x597.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-300x175.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-768x448.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28-360x210.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-28.png 1074w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 4.<\/strong>  Wyeksportowane zlecenie w harmonogramie produkcji<\/figcaption><\/figure>\n\n<p>Podczas eksportowania zam\u00f3wie\u0144 Skyplanner skutecznie kopiuje dane zam\u00f3wienia z jednej tabeli bazy danych do drugiej. Je\u015bli wi\u0119c zmienisz co\u015b, na przyk\u0142ad za pomoc\u0105 punktu ko\u0144cowego \/phaser-orders, musisz ponownie wyeksportowa\u0107 dane, aby zaktualizowa\u0107 je w Harmonogramie produkcji. Oznacza to r\u00f3wnie\u017c, \u017ce aby uzyska\u0107 dost\u0119p do zam\u00f3wie\u0144 widocznych w oknie harmonogramu produkcji, nale\u017cy u\u017cy\u0107 r\u00f3\u017cnych punkt\u00f3w ko\u0144cowych API!  <\/p>\n\n<p>&#8222;Zmienione&#8221; punkty ko\u0144cowe wygl\u0105daj\u0105 nast\u0119puj\u0105co:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>\/phaser-orders \u2192 \/orders<\/li>\n\n\n\n<li>\/phaser-order-rows \u2192 \/order-rows<\/li>\n\n\n\n<li>\/phaser-jobs \u2192 \/jobs<\/li>\n<\/ul>\n\n<p>Warto o tym wiedzie\u0107, poniewa\u017c podczas korzystania z punktu <strong>ko\u0144cowego<\/strong> \/timelogs do rejestrowania zdarze\u0144 produkcyjnych itp. <strong>nale\u017cy u\u017cywa\u0107 powi\u0105zanych jednostek znajduj\u0105cych si\u0119 w punktach ko\u0144cowych harmonogramu produkcji!<\/strong><\/p>\n\n<p>Na przyk\u0142ad, potrzebujesz <strong>production_planning_job_id <\/strong>(aby powt\u00f3rzy\u0107: production_planning_jobs to jednostki dost\u0119pne z punktu ko\u0144cowego \/jobs), aby POST nowy dziennik czasu:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"867\" height=\"603\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29.png\" alt=\"\" class=\"wp-image-55407\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29.png 867w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-300x209.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-768x534.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-29-360x250.png 360w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 5.<\/strong>  \u017b\u0105danie POST dziennika czasu<\/figcaption><\/figure>\n\n<p>Potrzebny identyfikator production_planning_job_id mo\u017cna znale\u017a\u0107 w punkcie ko\u0144cowym \/phaser-jobs:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"924\" height=\"870\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30.png\" alt=\"\" class=\"wp-image-55455\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30.png 924w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-300x282.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-768x723.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-30-360x339.png 360w\" sizes=\"(max-width: 924px) 100vw, 924px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 6.<\/strong> \u017b\u0105danie GET zadania Phaser (czerwony to phaser_job_id, <strong>NIE U\u017bYWAJ GO W TIMELOGACH<\/strong>)<\/figcaption><\/figure>\n\n<p>Lub z punktu ko\u0144cowego \/job:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"926\" height=\"872\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31.png\" alt=\"\" class=\"wp-image-55490\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31.png 926w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-300x283.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-768x723.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-31-360x339.png 360w\" sizes=\"(max-width: 926px) 100vw, 926px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 7.<\/strong>  \/job GET request<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Tworzenie dziennik\u00f3w czasu przy u\u017cyciu interfejsu REST-API<\/h4>\n\n<p>Tworzenie dziennik\u00f3w czasowych do Skyplanner przez API wykorzystuje te same zasady i systemy, kt\u00f3re s\u0105 w interfejsie u\u017cytkownika. Warto wi\u0119c zapozna\u0107 si\u0119 z dzia\u0142aniem systemu w interfejsie u\u017cytkownika przed podj\u0119ciem pr\u00f3by korzystania z niego za po\u015brednictwem API. <\/p>\n\n<h5 class=\"wp-block-heading\">Podstawy dziennika czasu<\/h5>\n\n<p>Skyplanner posiada cztery typy zdarze\u0144 dziennika czasu:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>shift_begin<\/li>\n\n\n\n<li>wstrzymany<\/li>\n\n\n\n<li>cd.<\/li>\n\n\n\n<li>shift_end<\/li>\n<\/ul>\n\n<p>Zdarzenie Shift_begin jest wysy\u0142ane, gdy zadanie jest uruchamiane po raz pierwszy.  <strong>Nigdy nie wysy\u0142aj wi\u0119cej ni\u017c jednego zdarzenia shift_begin dla ka\u017cdego zadania!<\/strong><\/p>\n\n<p>Wstrzymane &#8211; zdarzenie wstrzymuje zadanie.<\/p>\n\n<p>Zdarzenie kontynuowane wznawia wstrzymane zadanie.<\/p>\n\n<p>Shift_end ko\u0144czy zadanie.  <strong>Nigdy nie wysy\u0142aj wi\u0119cej ni\u017c jednego zdarzenia shift_end dla ka\u017cdego zadania!<\/strong><\/p>\n\n<p>Wymagane dane dla dziennik\u00f3w czasowych:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>person_id\n<ul class=\"wp-block-list\">\n<li>Mo\u017cna go znale\u017a\u0107 w punkcie ko\u0144cowym \/people<\/li>\n\n\n\n<li>To nie to samo co user_id!<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>planned_workstation_id\n<ul class=\"wp-block-list\">\n<li>Stanowisko pracy, na kt\u00f3rym wykonywane jest zadanie<\/li>\n\n\n\n<li>Mo\u017cna go znale\u017a\u0107 w punkcie ko\u0144cowym \/workstations<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>date_time\n<ul class=\"wp-block-list\">\n<li>Moment, w kt\u00f3rym zdarzenie jest wykonywane<\/li>\n\n\n\n<li>Format: 2024-01-01 10:30:11<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<p>Aby okre\u015bli\u0107, kt\u00f3ry dziennik czasu Skyplanner jest powi\u0105zany z dziennikiem czasu z dowolnego u\u017cywanego systemu zewn\u0119trznego, mo\u017cna u\u017cy\u0107 pola <strong>external_id <\/strong>. Nast\u0119pnie mo\u017cna na przyk\u0142ad wysy\u0142a\u0107 \u017c\u0105dania GET przy u\u017cyciu tego identyfikatora w celu znalezienia okre\u015blonego dziennika czasowego ze Skyplanner. <\/p>\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-1024x438.png\" alt=\"\" class=\"wp-image-55587\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-1024x438.png 1024w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-300x128.png 300w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-768x328.png 768w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32-360x154.png 360w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-32.png 1415w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 8.<\/strong>  External_id w dziennikach czasowych<\/figcaption><\/figure>\n\n<h4 class=\"wp-block-heading\">Rozpocz\u0119cie pracy<\/h4>\n\n<p>Zadania mo\u017cna uruchamia\u0107, wysy\u0142aj\u0105c do interfejsu API \u017c\u0105danie POST w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"624\" height=\"766\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33.png\" alt=\"\" class=\"wp-image-55638\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33.png 624w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33-244x300.png 244w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-33-360x442.png 360w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 9.<\/strong>  Shift_begin timelog<\/figcaption><\/figure>\n\n<p>Podczas ustawiania danych POST dla dziennik\u00f3w czasowych ustaw <strong>workshift_id <\/strong>na 0 i <strong>timelog_finalized <\/strong>na <strong>true<\/strong>.<\/p>\n\n<h4 class=\"wp-block-heading\">Wstrzymywanie zadania<\/h4>\n\n<p>Wstrzymaj zadania, wysy\u0142aj\u0105c \u017c\u0105danie POST w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"697\" height=\"760\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34.png\" alt=\"\" class=\"wp-image-55676\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34.png 697w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34-275x300.png 275w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-34-360x393.png 360w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 10.<\/strong>  Wstrzymany dziennik czasu<\/figcaption><\/figure>\n\n<p>W dziennikach czasu typu wstrzymanego mo\u017cna ustawi\u0107 <strong>kwot\u0119 <\/strong>i <strong>faulty_amount<\/strong>. Nale\u017cy r\u00f3wnie\u017c zwr\u00f3ci\u0107 uwag\u0119 na <strong>typ <\/strong>dziennika czasu i <strong>date_time<\/strong>. <\/p>\n\n<h4 class=\"wp-block-heading\">Kontynuacja pracy<\/h4>\n\n<p>Oto jak kontynuowa\u0107 wstrzymany dziennik czasu:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"713\" height=\"722\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35.png\" alt=\"\" class=\"wp-image-55715\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35.png 713w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35-296x300.png 296w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-35-360x365.png 360w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 11.<\/strong>  Ci\u0105g dalszy dziennika czasu<\/figcaption><\/figure>\n\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce pr\u00f3ba kontynuowania zadania, kt\u00f3re zosta\u0142o zako\u0144czone przez zdarzenie shift_end, spowoduje wy\u015bwietlenie b\u0142\u0119du.<\/p>\n\n<h4 class=\"wp-block-heading\">Zako\u0144czenie pracy<\/h4>\n\n<p>Oto jak zako\u0144czy\u0107 zadanie za pomoc\u0105 dziennika czasu shift_end:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"711\" height=\"764\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36.png\" alt=\"\" class=\"wp-image-55761\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36.png 711w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36-279x300.png 279w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-36-360x387.png 360w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 12.<\/strong>  Dziennik czasu Shift_end<\/figcaption><\/figure>\n\n<p>W shift_end-events mo\u017cna poda\u0107 warto\u015bci <strong>amount <\/strong>i <strong>faulty_amount <\/strong>, tak jak w paused-events. Nale\u017cy pami\u0119ta\u0107, \u017ce pr\u00f3ba wykonania zdarzenia shift_end dla zadania, kt\u00f3re nie jest uruchomione, spowoduje wy\u015bwietlenie b\u0142\u0119du. <\/p>\n\n<h4 class=\"wp-block-heading\">Aktualizacja dziennik\u00f3w czasowych<\/h4>\n\n<p>Dane dziennika czasu mo\u017cna aktualizowa\u0107, wysy\u0142aj\u0105c \u017c\u0105dania PUT do punktu ko\u0144cowego \/timelogs-endpoint w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"694\" height=\"757\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37.png\" alt=\"\" class=\"wp-image-55796\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37.png 694w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37-275x300.png 275w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-37-360x393.png 360w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 13.<\/strong>  Edycja dziennik\u00f3w czasowych<\/figcaption><\/figure>\n\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce aby wykona\u0107 aktualizacj\u0119, trzeba mie\u0107 ustawione zar\u00f3wno dane <strong>beginTimelog <\/strong>, jak i <strong>endTimelog <\/strong>. Dzienniki czasowe w Skyplanner s\u0105 przechowywane w nast\u0119puj\u0105cy spos\u00f3b: ka\u017cdy &#8222;pe\u0142ny&#8221; (dziennik czasowy, kt\u00f3ry ma zar\u00f3wno pocz\u0105tek, jak i koniec (np. shift_begin\/continued &amp; paused\/shift_end) dziennik czasowy ma oddzieln\u0105 jednostk\u0119 dla pocz\u0105tku i ko\u0144ca. <\/p>\n\n<p>S\u0105 one sparowane przez warto\u015b\u0107 <strong>begin_id <\/strong>znalezion\u0105 w endlog. W powy\u017cszym przyk\u0142adzie beginTimelog ma warto\u015b\u0107 id r\u00f3wn\u0105 1, a zatem jego endTimelog ma warto\u015b\u0107 <strong>begin_id <\/strong>r\u00f3wn\u0105 1. <\/p>\n\n<p>Musisz r\u00f3wnie\u017c poda\u0107 warto\u015bci <strong>person_id <\/strong>i <strong>endTimelog <\/strong>za ka\u017cdym razem, gdy wykonujesz \u017c\u0105danie aktualizacji, nawet je\u015bli ich nie zmieniasz.<\/p>\n\n<h4 class=\"wp-block-heading\">Alternatywne sposoby tworzenia dziennik\u00f3w czasowych<\/h4>\n\n<p>Oto kilka alternatywnych sposob\u00f3w logowania si\u0119 do zada\u0144 przy u\u017cyciu interfejsu API.<\/p>\n\n<h5 class=\"wp-block-heading\">Logfull<\/h5>\n\n<p>Je\u015bli chcesz wys\u0142a\u0107 zar\u00f3wno pocz\u0105tkowe, jak i ko\u0144cowe dzienniki czasowe w jednym \u017c\u0105daniu, mo\u017cesz u\u017cy\u0107 punktu ko\u0144cowego <strong>\/timelogs\/log-full<\/strong>, jak poni\u017cej:<\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"691\" height=\"721\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38.png\" alt=\"\" class=\"wp-image-55828\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38.png 691w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38-288x300.png 288w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-38-360x376.png 360w\" sizes=\"(max-width: 691px) 100vw, 691px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 14.<\/strong>  \u017b\u0105danie logfull<\/figcaption><\/figure>\n\n<p>Zwr\u00f3\u0107 uwag\u0119, w jaki spos\u00f3b przesy\u0142ane s\u0105 tutaj kwoty: pierwsza warto\u015b\u0107 &#8222;amount&#8221; oznacza <strong>b\u0142\u0119dn\u0105 kwot\u0119<\/strong>, a druga <strong>kwot\u0119<\/strong>. To \u017c\u0105danie tworzy encje beginlog i endlog w jednym \u017c\u0105daniu. <\/p>\n\n<h5 class=\"wp-block-heading\">Quicklog<\/h5>\n\n<p>&#8222;Szybkie logowanie&#8221; do zadania ko\u0144czy je w jednym \u017c\u0105daniu, ustawia uko\u0144czon\u0105 ilo\u015b\u0107 produkt\u00f3w, aby odpowiada\u0142a warto\u015bci ustawionej w pozycji zam\u00f3wienia. Szybkie logowanie odbywa si\u0119 za pomoc\u0105 punktu ko\u0144cowego <strong>\/timelogs\/quick-log<\/strong>: <\/p>\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"695\" height=\"723\" src=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39.png\" alt=\"\" class=\"wp-image-55857\" srcset=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39.png 695w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39-288x300.png 288w, https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-39-360x375.png 360w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><figcaption class=\"wp-element-caption\"><strong>Rys. 15.<\/strong>  Szybkie logowanie<\/figcaption><\/figure>\n\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce tutaj wystarczy poda\u0107 tylko <strong>production_planning_job_id<\/strong>, <strong>planned_workstation_id <\/strong>i <strong>person_id<\/strong>. Warto\u015bci czasu i kwoty s\u0105 wype\u0142niane automatycznie. Nale\u017cy r\u00f3wnie\u017c pami\u0119ta\u0107, \u017ce szybkie rejestrowanie zada\u0144 jest zawsze zako\u0144czone zdarzeniem shift_end, wi\u0119c dalsze rejestrowanie nie jest mo\u017cliwe po szybkim rejestrowaniu!  <\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Struktura danych Skyplanner Zanim zag\u0142\u0119bimy si\u0119 w dzienniki czasowe, musimy om\u00f3wi\u0107 nieco struktur\u0119 danych w Skyplanner i spos\u00f3b dzia\u0142ania pod mask\u0105. Wszystko to zostanie om\u00f3wione p\u00f3\u017aniej. Je\u015bli zintegrowa\u0142e\u015b swoje dane dotycz\u0105ce zam\u00f3wie\u0144\/zlece\u0144\/zada\u0144 w Skyplanner, najprawdopodobniej korzysta\u0142e\u015b przynajmniej z tych punkt\u00f3w ko\u0144cowych API: W rzeczywisto\u015bci dane wprowadzane do tych punkt\u00f3w ko\u0144cowych s\u0105 reprezentowane w interfejsie u\u017cytkownika &#8230; <a title=\"Dzienniki czasowe\" class=\"read-more\" href=\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\" aria-label=\"Read more about Dzienniki czasowe\">Czytaj dalej<\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","footnotes":""},"doc_category":[659],"doc_tag":[660,1537],"class_list":["post-61473","docs","type-docs","status-publish","hentry","doc_category-integracje","doc_tag-api-pl","doc_tag-integracja"],"acf":[],"year_month":"2026-04","word_count":1092,"total_views":"155","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Sami","author_nicename":"sami","author_url":"https:\/\/skyplanner.ai\/pl\/author\/sami\/"},"doc_category_info":[{"term_name":"Integracje","term_url":"https:\/\/skyplanner.ai\/pl\/docs-category\/integracje\/"}],"doc_tag_info":[{"term_name":"API","term_url":"https:\/\/skyplanner.ai\/pl\/docs-tag\/api-pl\/"},{"term_name":"Integracja","term_url":"https:\/\/skyplanner.ai\/pl\/docs-tag\/integracja\/"}],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dzienniki czasowe &#8211; SkyPlanner<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dzienniki czasowe\" \/>\n<meta property=\"og:description\" content=\"Struktura danych Skyplanner Zanim zag\u0142\u0119bimy si\u0119 w dzienniki czasowe, musimy om\u00f3wi\u0107 nieco struktur\u0119 danych w Skyplanner i spos\u00f3b dzia\u0142ania pod mask\u0105. Wszystko to zostanie om\u00f3wione p\u00f3\u017aniej. Je\u015bli zintegrowa\u0142e\u015b swoje dane dotycz\u0105ce zam\u00f3wie\u0144\/zlece\u0144\/zada\u0144 w Skyplanner, najprawdopodobniej korzysta\u0142e\u015b przynajmniej z tych punkt\u00f3w ko\u0144cowych API: W rzeczywisto\u015bci dane wprowadzane do tych punkt\u00f3w ko\u0144cowych s\u0105 reprezentowane w interfejsie u\u017cytkownika ... Czytaj dalej\" \/>\n<meta property=\"og:url\" content=\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\" \/>\n<meta property=\"og:site_name\" content=\"SkyPlanner\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-07T11:25:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1142\" \/>\n\t<meta property=\"og:image:height\" content=\"796\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\",\"url\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\",\"name\":\"Dzienniki czasowe &#8211; SkyPlanner\",\"isPartOf\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\",\"datePublished\":\"2025-03-06T12:14:16+00:00\",\"dateModified\":\"2025-10-07T11:25:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage\",\"url\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\",\"contentUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/skyplanner.ai\/pl\/strona-glowna-2\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/skyplanner.ai\/pl\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dzienniki czasowe\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/#website\",\"url\":\"https:\/\/skyplanner.ai\/pl\/\",\"name\":\"SkyPlanner\",\"description\":\"AI-powered production scheduling and planning software\",\"publisher\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/skyplanner.ai\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/#organization\",\"name\":\"SkyPlanner APS\",\"url\":\"https:\/\/skyplanner.ai\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/skyplanner.ai\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg\",\"contentUrl\":\"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg\",\"width\":223,\"height\":43,\"caption\":\"SkyPlanner APS\"},\"image\":{\"@id\":\"https:\/\/skyplanner.ai\/pl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/skyplanner-aps\/\",\"https:\/\/www.youtube.com\/@SkyPlannerAPS\",\"https:\/\/www.capterra.com\/p\/265911\/SkyPlanner-APS\/\",\"https:\/\/www.trustradius.com\/products\/skyplanner-aps\/reviews\",\"https:\/\/www.saasworthy.com\/product\/skyplanner-aps\",\"https:\/\/sourceforge.net\/software\/product\/SkyPlanner-APS\/\",\"https:\/\/www.g2.com\/products\/skyplanner-aps\/\",\"https:\/\/www.getapp.com\/project-management-planning-software\/a\/skyplanner-aps\/\",\"https:\/\/www.softwareadvice.com\/cmms\/skyplanner-aps-profile\/\"],\"description\":\"AI-powered production scheduling and planning software for manufacturing\",\"foundingDate\":\"1997\",\"legalName\":\"Skycode Oy\",\"alternateName\":\"SkyPlanner\",\"knowsAbout\":[\"Production Scheduling\",\"Advanced Planning and Scheduling\",\"Manufacturing AI\",\"Finite Capacity Scheduling\",\"ERP Integration\"],\"areaServed\":\"Worldwide\",\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"sales\",\"url\":\"https:\/\/skyplanner.ai\/trial\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dzienniki czasowe &#8211; SkyPlanner","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/","og_locale":"pl_PL","og_type":"article","og_title":"Dzienniki czasowe","og_description":"Struktura danych Skyplanner Zanim zag\u0142\u0119bimy si\u0119 w dzienniki czasowe, musimy om\u00f3wi\u0107 nieco struktur\u0119 danych w Skyplanner i spos\u00f3b dzia\u0142ania pod mask\u0105. Wszystko to zostanie om\u00f3wione p\u00f3\u017aniej. Je\u015bli zintegrowa\u0142e\u015b swoje dane dotycz\u0105ce zam\u00f3wie\u0144\/zlece\u0144\/zada\u0144 w Skyplanner, najprawdopodobniej korzysta\u0142e\u015b przynajmniej z tych punkt\u00f3w ko\u0144cowych API: W rzeczywisto\u015bci dane wprowadzane do tych punkt\u00f3w ko\u0144cowych s\u0105 reprezentowane w interfejsie u\u017cytkownika ... Czytaj dalej","og_url":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/","og_site_name":"SkyPlanner","article_modified_time":"2025-10-07T11:25:40+00:00","og_image":[{"width":1142,"height":796,"url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Szacowany czas czytania":"5 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/","url":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/","name":"Dzienniki czasowe &#8211; SkyPlanner","isPartOf":{"@id":"https:\/\/skyplanner.ai\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage"},"image":{"@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage"},"thumbnailUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png","datePublished":"2025-03-06T12:14:16+00:00","dateModified":"2025-10-07T11:25:40+00:00","breadcrumb":{"@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#primaryimage","url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png","contentUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2025\/03\/image-25-1024x714.png"},{"@type":"BreadcrumbList","@id":"https:\/\/skyplanner.ai\/pl\/docs\/dzienniki-czasowe\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/skyplanner.ai\/pl\/strona-glowna-2\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/skyplanner.ai\/pl\/docs\/"},{"@type":"ListItem","position":3,"name":"Dzienniki czasowe"}]},{"@type":"WebSite","@id":"https:\/\/skyplanner.ai\/pl\/#website","url":"https:\/\/skyplanner.ai\/pl\/","name":"SkyPlanner","description":"AI-powered production scheduling and planning software","publisher":{"@id":"https:\/\/skyplanner.ai\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/skyplanner.ai\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/skyplanner.ai\/pl\/#organization","name":"SkyPlanner APS","url":"https:\/\/skyplanner.ai\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/skyplanner.ai\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg","contentUrl":"https:\/\/skyplanner.ai\/wp-content\/uploads\/2022\/05\/Skyplanner-logo-2.svg","width":223,"height":43,"caption":"SkyPlanner APS"},"image":{"@id":"https:\/\/skyplanner.ai\/pl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/skyplanner-aps\/","https:\/\/www.youtube.com\/@SkyPlannerAPS","https:\/\/www.capterra.com\/p\/265911\/SkyPlanner-APS\/","https:\/\/www.trustradius.com\/products\/skyplanner-aps\/reviews","https:\/\/www.saasworthy.com\/product\/skyplanner-aps","https:\/\/sourceforge.net\/software\/product\/SkyPlanner-APS\/","https:\/\/www.g2.com\/products\/skyplanner-aps\/","https:\/\/www.getapp.com\/project-management-planning-software\/a\/skyplanner-aps\/","https:\/\/www.softwareadvice.com\/cmms\/skyplanner-aps-profile\/"],"description":"AI-powered production scheduling and planning software for manufacturing","foundingDate":"1997","legalName":"Skycode Oy","alternateName":"SkyPlanner","knowsAbout":["Production Scheduling","Advanced Planning and Scheduling","Manufacturing AI","Finite Capacity Scheduling","ERP Integration"],"areaServed":"Worldwide","contactPoint":{"@type":"ContactPoint","contactType":"sales","url":"https:\/\/skyplanner.ai\/trial\/"}}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"betterdocs-category-thumb":false},"uagb_author_info":{"display_name":"Sami","author_link":"https:\/\/skyplanner.ai\/pl\/author\/sami\/"},"uagb_comment_info":0,"uagb_excerpt":"Struktura danych Skyplanner Zanim zag\u0142\u0119bimy si\u0119 w dzienniki czasowe, musimy om\u00f3wi\u0107 nieco struktur\u0119 danych w Skyplanner i spos\u00f3b dzia\u0142ania pod mask\u0105. Wszystko to zostanie om\u00f3wione p\u00f3\u017aniej. Je\u015bli zintegrowa\u0142e\u015b swoje dane dotycz\u0105ce zam\u00f3wie\u0144\/zlece\u0144\/zada\u0144 w Skyplanner, najprawdopodobniej korzysta\u0142e\u015b przynajmniej z tych punkt\u00f3w ko\u0144cowych API: W rzeczywisto\u015bci dane wprowadzane do tych punkt\u00f3w ko\u0144cowych s\u0105 reprezentowane w interfejsie u\u017cytkownika&hellip;","knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/docs\/61473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/comments?post=61473"}],"version-history":[{"count":0,"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/docs\/61473\/revisions"}],"wp:attachment":[{"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/media?parent=61473"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/doc_category?post=61473"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/skyplanner.ai\/pl\/wp-json\/wp\/v2\/doc_tag?post=61473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}