Změny pro vývojáře 04/2026
Technický přehled změn za duben 2026, korelovaný napříč repozitáři (backend, terminal, vue-design-system, elasticr-admin-assets, elasticr-assets). Zákaznický přehled najdete na stránce Novinky: Release notes 04/2026.
Vozíky ve vychystávání (terminál)
Repozitáře: terminal (6.2.7)
Do terminálu přibyla kompletní funkce vychystávacích vozíků. Skladník zakládá a spravuje vozíky (pevné i dynamické, s volitelným názvem a způsobem číslování pozic), naskenováním vozík přiřadí k dávce objednávek a systém naviguje umístění zboží do pozic a přepravek; podporováno je obnovení rozdělané práce opětovným naskenováním vozíku (4a50aeca, d4d918c1, 71308a17, fea7717d, 26aa5d37, 6323d3ed, 4a030b20, 8e951b18, 7dc21cdf, 671f5a47, fbb21bc4, 4200321c). Přidány kapacitní kontroly vozíku vůči počtu objednávek, průběhové a načítací dialogy a ikonové zobrazení kódu přepravky na kartách produktů (d101b985, 1f93fbc4, 4bdafe89, b2c926ea). Kompletní seznam commitů release 6.2.7 je v sekci ## Ostatní.
Nové administrační sekce a jednotný základ výpisů (EP-248)
Repozitáře: backend (56.10.0, 56.10.1), vue-design-system (unreleased)
Vznikl jednotný systém tvorby administračních výpisů (konfigurace sloupců, filtrů, řazení, KPI, štítků a hromadných akcí) a na něm nové sekce Prodejní kanály, Stupně kvality, Důvody vrácení a přehled rout s podporou fulltextu, filtrace a CRUD (ddbe2669, 447bb553, 38505161, 128ac6c8, a5934a76, 48b152fc, f02b867f, e96214b5, 52416e0d, 5e570b5d, 9cb1d1db, cce63579, f7f12064, aa1e965d). Frontendovou infrastrukturu tvoří unreleased práce ve vue-design-system (config-renderer, data-grid, form-builder, systém akcí a panelů) — viz ## Ostatní.
Dynamická pokladna a doručovací adresy
Repozitáře: backend (56.10.1, 56.11.0, 56.15.0, 56.16.0, 56.18.0, 56.20.0, 56.20.1, 56.22.0, 56.23.4), elasticr-assets (unreleased), elasticr-admin-assets (unreleased) · Jira: INGREDIEU-905, BODOVKA26-140, MATEZA-1001, MATEZAWMS-813, VETERIX-441
Krok doručení v pokladně nově dynamicky vykresluje bloky (fakturační údaje, dodací adresa, firemní údaje) podle konfigurace pořadí, viditelnosti a povinnosti; přibylo pole „stejná adresa pro fakturaci i doručení", řazení uložených adres podle posledního použití a sjednocení souhlasů a konfigurace tlačítka po dokončení objednávky (988b2cb5, c4cb54c1, fedb8027, 05108810, 013361e6, 1d88980). Při změně způsobu dopravy se automaticky aktualizuje doručovací adresa (výdejní místo, box) včetně přenosu e-mailu, u výdejních míst se do adresy propisuje název pobočky a přibyla podpora adres výdejních boxů i lepší chybové hlášky (97dfdc61, 6d4f562c, 7d03c03b, 1504e3e2, f85c574e, 816373d6, 7a5dede4, 822de625, 376ed529, d60ec4c6, 9b38cf3e, b755243f1).
Šablony obsahu, publikační práva a dynamické směrování
Repozitáře: backend (56.13.2, 56.17.0, 56.19.0, 56.22.0, 56.23.4, 57.0.3), elasticr-admin-assets (unreleased) · Jira: BODOVKA26-88, BODOVKA26-90, BODOVKA26-138, MATEZA-994, EP-283
Pro články a stránky přibyl výběr šablon/rozložení i možnost vlastní šablony obsahu, rozšířená editace (datum vytvoření, nepovinná doba čtení, nové sloupce, řazení a rychlé filtry ve výpisu) a samostatná publikační role (obsah bez publikačního práva se ukládá jako nezveřejněný) (29f67de5, 1072fa37, b95b1e6b, 68126f1c, d6ab2ec8, e9c85166, 4cf0308c, 507859a09, a2a9f9005, e7ef8edfa). Odkazy v obsahu se překládají dynamicky podle jazyka, přibyl výběr interních odkazů a ikony u typů rout; opraveno ukládání jazykových verzí rout a náhled v editoru (f7f78e49, 595ae95e, fb27aff8, ae41689d, 4af04369, bd1218d4, afa2b3ad, dd3914b0, 31d834d73, a2c1961be).
Hromadné úpravy a export/import katalogu
Repozitáře: backend (56.9.2, 56.20.1, 57.0.3) · Jira: EP-264, MATEZA-974, MATEZA-989
Po hromadné úpravě produktů probíhá automatická reindexace zasažených produktů, takže se změny ihned projeví ve vyhledávání a výpisech (c118a359, bb45d885, aa0abcc4). Hromadný XLSX export/import byl rozšířen o další sloupce a umožňuje zakládat nové produkty importem; snížena byla paměťová náročnost a přidáno stránkování pro stabilní velké exporty produktů i zákazníků (3625db6a, 6db908ad).
Zobrazení cen s DPH i bez DPH v košíku (INGREDIEU-927)
Repozitáře: backend (56.9.5, 56.13.0) · Jira: INGREDIEU-927
Zobrazení hlavní a doplňkové ceny v košíku respektuje nastavení obchodu i stav plátce DPH; do vyhodnocení nároku na osvobození lze předat konkrétního zákazníka a byla opravena celková cena košíku pro případ, kdy stav plátce DPH není znám (12041eac, f2c59ae6, 9ba2442b, be9f6fc4, 94770d75, cb7ff00f).
Doskladnění a skladové pozice
Repozitáře: backend (56.9.5, 56.10.0, 56.18.0, 56.21.0, 56.22.0, 56.23.2, 56.23.4), elasticr-admin-assets (unreleased) · Jira: INGREDIEU-920, INGREDIEU-921, INGREDIEU-933, MATEZAWMS-783, MATEZAWMS-760
Doplňování umožňuje určit typy zdrojových a cílových pozic a nabízí přepínače pro pouhou optimalizaci pozic bez doplnění a pro zákaz přesunů v rámci stejné zóny; přibyl import skladových pozic z CSV s ochranou obsazených pozic proti smazání a lepší řazení pozic při vychystávání s podporou cross-docku. Výpočet tras nově ignoruje smazané pozice (20c1cef8, 53e1fe88, cd87bf67, cc63b863, df53ebb0, 36160d83, 8de7ae3d, d8815632, 7c18b51f, 8fdda3c0, 27cb1b86, cf77f4753, 18b81252d).
Úprava položek WMS dokladů, příjemky a kontejnery
Repozitáře: backend (56.11.0, 56.22.0, 56.23.3, 56.23.4, 57.0.0, 57.0.4), elasticr-admin-assets (unreleased) · Jira: MATEZAWMS-819, MATEZAWMS-800
Položky skladových dokladů (výdejky, příjemky, naskladnění, inventury, převodky) se editují jednotným způsobem a načítají se odděleně, což zrychluje otevírání dokladů; při tvorbě příjemek přibyly validace kontejnerů (slučování jen u povolených dokladů) a nový mechanismus tvorby dokladů z fyzických skladových položek (f5dd5ce7, 6e380c24, 6d2dbe3a, c3fa9755, c0502cdc, 7f83718b, 6b462cef, 0ad5c2d2, a4ad57e5, c45e9b09, acbece612, 56afb1758).
Workflow podmínky a automatizační akce
Repozitáře: backend (56.9.5, 56.10.1, 56.13.2, 56.14.3, 56.15.0, 56.21.0, 56.22.0, 57.0.0), elasticr-admin-assets (unreleased) · Jira: LUMAX-728, VETERIX-416
Přibyl negativní režim validační podmínky, možnost nepřeskakovat přechody s porušením pravidel, přeskočení přechodu u dokladu ve finálním stavu a robustnější dávkové přidávání objednávek (limit váhy, minimální počet kusů, porovnávací operátory); doplněno vyhodnocování shody dokladů podle platebních a dodacích podmínek (d6365d91, 188337c0, 208ed640, f31e0cf2, aa69961d, dae7babc, 3bfb39a7, bda6cc4e, f9a17852, b46ed0e1, a5473a56, 4c5966a38, c4df39e29, 6a6caa51a).
Číselné řady u převodek (INGREDIEU-928)
Repozitáře: backend (56.16.0), elasticr-admin-assets (unreleased) · Jira: INGREDIEU-928
U převodek lze nastavit výchozí číselné řady pro naskladnění i příjem podle kontextu a prodejního kanálu; API převodek tyto hodnoty vrací a nastavení je konfigurovatelné v administraci (029ec801, d87ece1e, d2a62f01, 033eb7b6, eb5002f4, ddcfa80f, 747bc5e0, 090e8d82, 45deae7b, 93079c501).
Více e-mailových adres u dodavatele (LUMAX-741)
Repozitáře: backend (56.11.0, 56.13.0), elasticr-admin-assets (unreleased) · Jira: LUMAX-741
Dodavatel může mít více e-mailových adres místo jediné; odchozí e-maily (nákupní objednávky, zrušení položek) chodí na všechny adresy a fulltextové vyhledávání dodavatelů je prohledává. Adresy se ukládají i zobrazují v seznamu a editačním formuláři (53cb4a7e, 33251057, 978e5f9b, 9e03e016, bef56ef2d).
Tisk štítků produktů a zásilek
Repozitáře: backend (56.13.0, 56.19.0), elasticr-admin-assets (unreleased) · Jira: MATEZAWMS-801, QSWMS-69
Tisk štítků produktů dostal robustnější ošetření chyb (neplatný typ štítku už neshodí aplikaci) a byly vyřešeny duplicitní ceny bránící tisku; štítky zásilek lze tisknout přímo z jejich obsahu (PDF z příloh), přibylo rušení zásilek a auditní logování (39ae6f02, bc41d17b, 7b58ec71, 42bf66051).
Sériová čísla při předání zboží (LUMAX-663)
Repozitáře: backend (56.9.4), elasticr-admin-assets (unreleased) · Jira: LUMAX-663
Opravena chyba, kdy terminál při předání zboží zákazníkovi nevyžadoval sériová čísla zadaná při vyskladnění; sériová čísla se nyní správně propisují do navazujících dokladů, což zabraňuje kolizím při uzavírání více objednávek v jedné rozvozové dávce (0bc26af7, b81871c7, e40f1ac8, 0b7d705a, 85754f3cd).
Daňové doklady — přesnost výpočtu
Repozitáře: backend (56.9.5, 56.18.3)
Opravena přesnost výpočtu u daňových dokladů: při plném krytí zálohou se korektně vynulují všechny cenové složky a přeskakují se nulové položky; přibyla podpora automatizací nad vydanými daňovými doklady (6ef47908, d0d28769, 99c0e841).
Integrace ESO9 / ESB
Repozitáře: backend (56.9.3, 56.9.5, 56.18.2, 56.20.1, 56.23.x, 57.0.0) · Jira: EP-273, MATEZAWMS-784, MATEZAWMS-809, MATEZA-970
Synchronizace s ESO9/ESB byla zpřesněna — stavy dokladů se přenášejí obecněji (nejen objednávky), kanál se určuje podle země a měny, chybové stavy se vracejí zpět do ESO9 a chyby už nejsou mylně vyhodnoceny jako úspěch; řada oprav řeší doručovací adresy při doručení na pobočku a rozšiřuje exportovaná data produktů (6f8b89c3, 2440f020, 8dd80ab8, 54634ab3, a2d12748, 7e40b3a4, 8549ed12, 8521aec4, 36e6ce3d, 9351a658, d5251baa, 4c5c4338).
Terminál — provozní vylepšení (mimo vozíky)
Repozitáře: terminal (6.2.3–6.2.7)
Kiosek reaguje okamžitě na dotyk, přibyla ochrana proti dvojímu skenování pozice, složené řazení dokumentů a práce s kontejnery; telefonní čísla v detailu dokladu jsou klikatelná, přidána podpora polštiny a vylepšen převozní příjem s režimem vykládky kontejnerů (71acb307, ed13429e, 638d94e9, 6b061954, 18b11779, 756a5499, 8a2c48b7, 13cce8ef, 20c63cc7, bcdb9d4f, 3deb6bfc, 95ddf4d3).
Ostatní
Kompletní seznam všech změn za měsíc po repozitářích (shortId — title).
backend
c118a359— Reindex affected products after bulk editbb45d885— Změna na return type na arrayaa0abcc4— remove chunking from handler2cf4b816— rename invoicedAdvancePayment translation61778495— Úprava zobrazování hodnot v tabulkách dokumentů5b489847— Update assetů125c55e4— SyncStockTransferCommandHandler - sortputAwayitems by ID before processing...8aee8173— Update assetů88e29287— Temporary cache on the second hetzner serverc709e235— Worklog CSV export find batch by originsc10c0955— Refactor search renderers & enumc51d0d0c— Addinactiveproperty to PriceListDto and update related services0bc26af7— feature flags fixture - use in the beggining so all related fixtures use them properlyb81871c7— UpdateFirebaseDocumentItemsDataFromCoverageTransitionHandler init - fetch from selfe40f1ac8— serial numbers FS enhancing deduplicated and more common usable0b7d705a— UpdateFirebaseDocumentItemsDataFromCoverageTransitionHandler addedf30b0ba2— upd assets6619157c— refactor Shopify order processing: update order number referenceb46ed0e1— extension for AddOrdersToDocumentBatchAutomationAction731c36f5— extended Eso9 product item data6ef47908— fix DocumentToIssuedTaxDocumentDataTransformer and covers with testsd0d28769— prevent cumulative floating-point for billable docs621cf430— invalid pagination return 404be9f6fc4— allow to show both prices even for vat payers8de7ae3d— position sorting by route better support in AvailablePickupPositionsHelper, extra position priorities support (to begin, to end)fecb2da5— fix phpstan DocumentToIssuedTaxDocumentDataTransformerTest016af29b— fix rector BillableBaseDocumentTest94770d75— revert allow to show both prices even for vat payerscb7ff00f— fix Delivery.vuea1ddd2c0— delete unused Value in DocumentToIssuedTaxDocumentDataTransformerTestdcc834bc— Oprava řazení položek u souvisejících variant41595e88— updated queue operation for return documentsddbe2669— Add resource list builder system with DtoListConfig auto-reflection447bb553— Add generic EntityExists and LocaleExists validation constraints38505161— Add CrudRepositoryAwareContract to decouple unique-property validation128ac6c8— Add Route admin resource list pagea5934a76— Add Channel admin resource list page with create/edit48b152fc— Add ReturnQualityGrade and ReturnReason admin resource list pagesf02b867f— Update CurrencyResource to use DtoListConfig builder and add menu itemse96214b5— Add E2E smoke tests for Vite resource list pages52416e0d— Add translations for resource list pages and builder labels5e570b5d— Refactor existing providers and filters for DtoListConfig compatibility9cb1d1db— Update documentation for resource list systemcce63579— Address MR review feedback for resource list builder systemf7f12064— Address remaining MR review feedback53db7b6e— update vdsa0123f5b— add sourceGroups config for multi-source product availability merge in SalesConnectd8815632— better support for ordering positions for pickup strategies (even for merged items)bda6cc4e— settings fallback in DocumentItemsCoverageHandlers3574dab9— fix for LabelPrinterShipmentServiceb0693372— revert fix for LabelPrinterShipmentService3a31d9b2— Přesunutí konfigurací produktových gridů do template_variables97dfdc61— BillableDocumentShippingAddressProvider will return empty address as default fallbackeb5ff01f— Prefix skill names with elasticr- for correct autocompleteaa1e965d— Fix constraint validator resolution85d8557b— extend BillableDocumentShippingAddressProvider8c35cd12— fixes for BillableDocumentShippingAddressProvider1504e3e2— add PickupBoxShippingAddressProvidere5c2c077— updated complaint create from items coverage handler92e205c9— fix title escaping03134500— fix transforming Eso9 document addressfb3d4355— fix product list and fix return reasons and quality grades menu items71671ddc— refactor ReceivedOrderFromDocumentDtoFactory to handle empty shipping address6d2dbe3a— Add CreateDocumentFromStockPhysicalItemsAutomationHandler and fix StocksPhysicalItemDetailsRepository filters53cb4a7e— changed supplier email to collection of emails33251057— store only valid emails for Supplier978e5f9b— upd assets6d4f562c— when shipping method is changed then shipping address is updated to, add pickup box address provider7d03c03b— add email to ShippingAddressProviders16276892— edit parent product validation - it must have at least one variant and attribute7d753688— index pro performance boost importua03d1c96— refactored kpi adaptersf8f4c9cd— fix testu39ae6f02— controller to print product labels error handling updatebc41d17b— Price duplication resolved in CalculatedPriceRepositoryffef4447— move AmountToWords into frameworkd8d32060— invalid units in ExecuteTransactionsOnStockDocumentAction log updatef9886fcd— added photo category on return documents provider12041eac— show price in checkout by customer vat payer status or by priceSettingf2c59ae6— allow to pass customer into CanApplyVatExemptionCheck9ba2442b— testsff883bd6— fix some FF aware migrations to work properly9e03e016— migrate suppliers resource settings after the column changefaa3d8e6— Oprava typu odkazu u telefonních číself31e0cf2— negative mode for RunValidationWorkflowConditionf9a17852— settings of CreateReceiptFromStockTransferTransitionHandler extended, putAway context fallback4dd8d5a2— fix address for Eso9ShippingAddressTransformer1c4d9308— Přidání elasticr_tag_valueb95b1e6b— Přidání možnosti vlastní šablony v modulu článkůea63acf0— Update assetů26acf124— document number trigger bugfix to omit suffixed numbers35aeec93— fix Eso9ShippingAddressTransformer8acd41bf— move translation from finance to frameworkd6365d91— preset pointer is removed when any specific one is set from outside (solving setting the same pointer bug causing LUMAX-728)188337c0— PerformDocumentWorkflowTransitionAutomationHandler: ability to DO NOT SKIP violated transitions, error handling improved988b2cb5— allow to build dynamic delivery in checkout by blocksc4cb54c1— Layout edits; asssets updatea5473a56— extends settings for minTotalQuantityd60ec4c6— ignore country in ShippingAddressData::exists90ee184b— select default bankAccount when existsb28867c5— prevent from failing inquiry offer confirmation029ec801— StockTransfer putAway and receipt documentSeries resolving logic updated (can set defaults by context)d87ece1e— update other places to create StockTransfer with the same document series resolving logicd2a62f01— exception message fix in DocumentDtoMustHaveValidCustomerEmailConstraint033eb7b6— migrate legacy parameters to the new version of database config (stockTransfer API and doc. series)eb5002f4— move ConfigurationAwareTestTrait to a correct NS for sharing between packagesddcfa80f— StockTranser API - dto read show missing props747bc5e0— upd assets090e8d82— create docs for creating install migration for new package in project - 001-install-migration-guide.md45deae7b— minor update of wms_stock_transfer_api_defaults_by_context config structure (default key)8689145e— add ID to getIssuedDeliveryNotes in IssuedDeliveryNoteApiService05108810— fix for registered customer and pickup shipping methode96ea1e0— Úprava ParametersExtension29f67de5— Úprava vyběru šablon pro stránky a články1072fa37— Rozšíření možností editace článku a vykreslování číselníku v administracica2c7483— Update assetůdf53ebb0— added stock position import service20c1cef8— added position types on replenishments53e1fe88— renamed stockroomSettings to replenishmentStockSettingsfedb8027— fix delivery address for registered customer54634ab3— error handling update for status updates from ESB2440f020— ServiceBus/Model/OrderStatusDto replaced with ServiceBus/Model/DocumentStatusDto8dd80ab8— filter out unavailable transitions in UpdateBaseDocumentStatusCommandHandler6f8b89c3— get channel is ESB directly by country and currency, not using extra mappinga2d12748— logger metada extended (URL and command)d24cb79a— generate reference number on EntityStoredEventgsf3625e72— better exception handling when creating DTO in SyncOrdersService99c0e841— create IssuedTaxDocumentAutomationDataProvider7ab48299— Comgate payment handle - get data from request no matter its raw-form or JSON777b1da9— using symfony request implicit getPayload to get data in PaymentHandleControllerd7715a7e— ability to omit operation for Eso9 PUT Delivery9351a658— status update method for Eso9OrdersFacadea81cb0c9— refactor SyncStocksQuantityCommandHandlerff4dc59a— add document:write to BaseCurrencyDto202c43ee— enhance LogDocumentWasEditedEventSubscriber619d8a1c— prevent for mutating billing addressa049d198— Addsupplier_codesto Eso9 product item data6fcdc93a— add systemFlagOnCovered support to MoneyS5IssuedDeliveryNoteTransferConfig and related services306ae419— add stock to labs fixturese1cbca77— codeowners test7055dbaf— Edit CODEOWNERSf2cae36c— labs fixtures support6b6d173b— negative array filtering support for baseDocs paymentCondition.code and shippingCondition.code9d574939— Yarn job separation. Gitlab token loaded from variables.423fdeb9— ItemStockValueData::createAvailableIntersection bugfix when SNs not present at all3a576db6— labs seedsc8765db3— fix SanitizedDataDenormalizer to prevent change thousandSeparator from currency8a8b0b6e— add toArray methods for DocumentPaymentCondition a DocumentShippingCondition7b58ec71— add logging, work with decoded pdf file, support printing attachment when labels are emptyaca9c5ec— doctrine/orm update67003849— fixtures update164a2c9a— composer update21d3950a— update zavislosti68126f1c— added publish user role for articles and pages with appropriete checks0d43c10a— handle exception in CustomerExtension when session does not exist8b94a684— in inquiry confirmation redirect to channel from inquiry and hide chnnel dropdown822de625— hide shipping adress block in new_order_detail.html.twig when shippingAddress is not filled376ed529— fix ProductReservationExtension for boxShippingMethod when is not availabledd3a72ba— fix country rendering in one_page_checkout/delivery_anonymous_customer.html.twig8fce9259— fix JsonCartViewModelFactory for loading all countries in active channele8d93c72— oprava migracef85c574e— branch address providing update - take care about channel, BillableDocumentShippingAddressProviderTest NS fix816373d6— shipping address resolve error handling updateb3c2f4ee— narovnani composer.lock3625db6a— export xlsx memory usage + pagination for products and customers bulk edit0bedf6c5— narovnani namespaces7e40b3a4— ability of custom fallback state mapping in Eso9DeliveryDocumentTransformer7b8c9dc3— set user when updating order state in E98521aec4— order masking extension to pass it to ESBa3441a6f— dont store automation pointer preset when automation is aborted1a5c4152— Eso9DeliveryDocumentTransformer dtExpedice format bugfix8549ed12— ESO9 SyncOrderCommandHandler - dont treat error response as OKc2a8a25e— ServiceBusDocumentExceptionHelperService - omit logging already handled violations02c07630— add SalesConnectAvailabilityEnhancerContract and integrate enhancers into ProductsFacadeddfffaf6— New runner in komtesa office - new cache storage911b98a8— better error handling when storing reservations (keep track of details)7c18b51f— added document series on activities from firebase and worklog activities8fdda3c0— set create context for replenishments494b820f— Remove throwing exceptions for missing indexing behaviordae7babc— DocumentMaskMatchShippingConditionService added3bfb39a7— DocumentMaskMatchPaymentConditionService added1d9130d9— add heading stylingaa69961d— more safe reading settings in UserWorkflowConditiona8d394d2— Build Id replacement in .env.testing7a5dede4— VETERIX-441 stop propagant billing addresses for ShippingAddressProviders, fix document email templatescd87bf67— add doReplenishment and allowReplenishmentWithinSameZone toggles for stock replenishmentcc63b863— include position types on stocks optimizing servicea4ad57e5— change edit method on BaseWmsDocumentItemc45e9b09— add edit method on BaseWmsDocumentItem875292d6— rename data to dataWms on BaseWmsDocumentItem5ae44aff— refactoring data on wms items21762965— drop BaseDocumentItemDataProcessor7e742086— create test for documentsb6e04194— delete rabased deleted files6e380c24— enhance wms document item dto with product dtof5dd5ce7— wms documents loads without items + added endpoints for wms documents items77328325— include WmsDocumentItemsApiDataProvider into FinalXmlEntityAwareFixer783d6769— change WmsDocumentItemAdditionalDataNormalizer for non existing WmsDocument144cf397— assets updatef7f78e49— updated links in content rendering to find routes dynamically with route parameters instead of static path595ae95e— route API: add locale/uuid filters, expose locale field, add image to metadatafb27aff8— route types page data provider with extensible iconsae41689d— admin content builder preview: fix Vue template compilation with Twig expressions4af04369— internal links migration minor updatebd1218d4— minor update for content links MR96cc2c0e— update assets5137bf40— fix encoding fixtures9b38cf3e— fix BillableDocumentShippingAddressProvider when shipping and billing addresses are emptyf4845a3c— ExternalOrderFixtures Fix4b9aa9c6— AbstractEntityTranslator fixafa2b3ad— preserve embedded route localedd3914b0— upd assets9643a75e— optimalizace prepoctu cen57a77e64— revert AbstractEntityTranslator, prenastaveni listenerud5251baa— unify action strings for syncing orders through ESB84a8c0f4— fix branch fixtures4c5c4338— fix transfers to eso when branch id is filled3ef5ca32— fix Pickupbox fixtures2e371310— fix pickup-box.json8e5cbc3d— fixes Eso9DocumentTransformerd3069d3b— another fix for Eso9DocumentTransformer36160d83— included delete validation logic to skip positions with items2ff90c6f— add gift product with zero price, transformation shipment fixesf6526f1c— use original price for gifts in AccountingDocumentInvoiceItemsFactory72e1d1c2— order WF seed fixf79a09ed— patch for preventing doctrine bug with prefixd8cb0cc1— start logging exceptions from ES to ElasticrLogger and handling these exceptionsae0f5874— Add product mask resolution + filtering for category and product sitemap providers36e6ce3d— order status update to eso9 when validation exception was thrown7f83718b— minor updates to create receipt from transfer (at the source positions)013361e6— Úprava one-page checkoutued506fde— Přidání pozic do produktové galerie10acf672— Update assetů27cb1b86— exclude deleted positions from route ordering calculation and doctrine 3 queries update0ad5c2d2— CompleteReceiptPositionsWorkflowHandler enhanced with forceStrict toggled6ab2ec8— update for publish rights so resources would be publishable from UI with only publish rights7dd9dc10— handle empty shipping address in PurchaseOrderApiService and add testebb58a19— Add ShipmentPackage parameter to Balikobot enhancers and update related contracts and factories43c69681— Fix lightbox loading4cf0308c— updated ResourceCrudController edit for publish rights caseaa8299e9— versioner - update vue3 assetů32abe3e7— Fix Type editing - setGroups reuses instead of replacing collection0ccda6b3— enhance EditTypeActionTest4374442e— add FF for Zbozi/Tracking/TrackOrderEventSubscriber85715c48— EP-291: surface framework version in OpenAPI info instead of default 0.0.00d0be8d7— allow to type multiple phrasesa073aa12— RunCommandAutomationHandler logging update208ed640— PerformDocumentWorkflowTransitionAutomationHandler skipWhenIsInFinalState switch added into settingsc3fa9755— ReceiptCreateFromItemsCoverageHandler - labels handling update (set before document create/store), container validationsc0502cdc— container validations update - only whitelisted documents can merge containersde47be9c— extend DocumentDto from ESO9 HanMove, dispatch DocumentDtoWasLoadedEvent on transfer's putAway0c37c165— inherit uuid from existing discount item in DocumentDiscountService579abef7— ecs fix DocumentDiscountService6ac4e6b7— Patch for preventing doctrine bug with prefix in support501f8e14— fulltext search in externalNumber for StockTransferf349aea7— assets update99445909— do NOT clone externalNumber to receipt on transformation16fb1bb9— fix: restore symfony polyfills in composer.lockdb1385e2— add JsonDataRenderer to logging in AbstractElasticsearchDocumentRepository6db908ad— extended bulk export and importe9c85166— update to make menu items that have publish rights editable58dc119e— support handling of duplicate SKUs in ProductApiService and update inventory logic accordinglyd2e8dd2a— AbstractDocumentProcessStatusUpdateService skip update origins when originItemId is missing (while the doc reference is not empty)6b462cef— ReceiptCreateFromItemsCoverageHandler - pass real origin to the containers merge validation4690f6c5— better exception thrown in InventoryItemDtoFactory when item does not existefe7327b— trace original exception on import parsing errors
terminal
9307e0b7— Odebrání správy aplikací, odebrání CI71acb307— Kontextově závislý checkout pro košíky — nastavení a kroky vratek v košíkued13429e— Reakce kiosku na dotyk místo na tap pro rychlejší odezvu638d94e9— Povolení práce s kontejnery pro zákazníka Veterix6b061954— Merge branch 'master' of gitlab.com:elasticr/terminals18b11779— Zavedení DocumentOrderBy pro složené řazení dokumentů756a5499— Ochrana proti vícenásobnému spuštění akce při skenování pozice8a2c48b7— Zobrazení JSON detailu položky v přehledu cachovaných dat13cce8ef— Oprava chybějících skladů při prvním načtení obrazovky převodu1cf90be3— Lokalizace: základní widgety (kamera, dismissible card, printer type, stock coverage)107da779— Lokalizace: sheet pro výběr tiskárny a akce nad košíkem (4 soubory)dcd431d8— Lokalizace: akce dokumentu - přiřazení a načítání kontejnerů (5 souborů)cbd402fa— Lokalizace: akce přesunu položek a odebrání kontejnerů, modely plateb (5 souborů)b2d65e8c— Lokalizace: modely dokumentů, typy dokumentů, obrazovka kontejnerů (5 souborů)278679cc— Lokalizace: widgety dokumentů (5 souborů)b3ade175— Lokalizace: widgety dokumentů a akční sheety (5 souborů)ce676903— Lokalizace: navigace a akce produktů (5 souborů)00d3fd59— Lokalizace: akce skenování a poskytovatelé produktů (5 souborů)a359ff90— Lokalizace: obrazovky produktů a buildery kroků (5 souborů)4fecced6— Lokalizace: widgety a obrazovky produktů (5 souborů)97af18a4— Lokalizace: widgety produktů – parametry, ceny a výroba (5 souborů)af69240e— Lokalizace: widgety produktů – skenování a vrácení (5 souborů)5ba48d26— Lokalizace: akce tisku a akční sheety produktů (5 souborů)4333b157— Lokalizace: akce skladu a widgety stockroom (5 souborů)aead9be9— Lokalizace: workflow akce a sheet pozice skladu (5 souborů)b20d32e8— Lokalizace: notifikace a podpisové pole (5 souborů)23da7d8b— Lokalizace: notifikace widgety a navigační služba (5 souborů)4e329525— Lokalizace: pokladna, tiskárny Brother a generické tiskárny (5 souborů)9bca3aef— Lokalizace: generické tiskárny a obrazovky skeneru (5 souborů)6d0c2987— Lokalizace: tiskárna notifier, info zařízení, nastavení zobrazení a barev (5 souborů)4f94c472— Lokalizace: nastavení zařízení, daňové doklady a dávky objednávek (5 souborů)7ef6bed8— Lokalizace: dávky objednávek a obrazovky objednávek (5 souborů)103f048e— Lokalizace: příjemky, výdejní box a putaway obrazovky (5 souborů)764b83b3— Lokalizace: inventura, převody, záložky dokumentů a Lumax delegát (5 souborů)73092f3c— Lokalizace: retail POS komponenty a tiskárna pořadových čísel (6 souborů)729aa436— Lokalizace: retail POS a queue obrazovky (5 souborů)5062c01b— Lokalizace: fronta zákazníků, vzdálené přihlášení, login a lokace (5 souborů)ae54e67b— Lokalizace: výkazy práce – akce, listenery, obrazovky a sheety (8 souborů)3a5a9cb9— Lokalizace: oprava přeskočených řetězců v kontejnerových akcích a retail (8 souborů)d974cab4— Lokalizace: záložky dokumentů a akce přidávání produktu (7 souborů)3ca28d8d— Lokalizace: chybové hlášky skenování produktu a sériových čísel (5 souborů)12c126f9— Lokalizace: listenery výkazů práce – migrace a oprava lint (2 soubory)58dfa15c— Oprava: česká texty v interních výjimkách a logu převedeny do angličtiny (7 souborů)6e181e0a— Lokalizace: odznak šarže v product_card.dart (1 soubor)77ba37fe— Lokalizace: barvy, klávesnice, konfigurace a měna (5 souborů)3172730f— Lokalizace: ESC štítky a testovací příkazy tiskárny (2 soubory)c872b826— Aktualizace generovaných lokalizačních souborů (flutter gen-l10n)3deb6bfc— localisation3c398aa5— update ota update20c63cc7— Refaktor adres v BillableDocument: mapa nahrazena samostatnými vlastnostmi, dodací adresa volitelná s fallbackem na fakturačníbcdb9d4f— Přidání pobočky Green buttikd2f3bae6— Add: trolley feature progress tracker5f8f945e— Trolley: přidání ObjectType.trolley4a50aeca— Trolley: registrace TRL prefixu pro skenerfd173d35— Trolley: feature flag v AppSettings8dc7a216— Trolley: zapnutí flagu v dev flavoru328c5219— Trolley: doménový model Trolley/TrolleyRow/TrolleyType16c33d8b— Trolley: Firestore path helper843b5f63— Trolley: Firestore provider (stream/future/documentFuture)c57d6bf4— Trolley: služba pro CRUD a navázání na batch75840c3d— Trolley: zrušení dedikovaného barcode processoru, řeší ObjectTypeBarcodeProcessoref19125c— Trolley: registrace služby a provideru v DId258bf52— Trolley: displayLabel helper na StockRoomContaineru pro slot label516b4930— Trolley: pole trolleyId v OrderBatch z requestData88c9fa5e— Trolley: prohození pořadí 1.13 a 1.14 (vnitřní akce musí přijmout parametr dřív)77bca2c4— Trolley: extraContainerContext na AssignDocumentToContainerAction (čerstvá mapa, bez aliasingu)f4b86594— Trolley: extraContainerContext na AssignContainerToBatchAction (pass-through)4f8e2b68— Trolley: ověření Fáze 1 (formátování + analyzer)d4d918c1— Trolley: list screen s FAB (placeholdery pro 2.2 navigaci a 2.4 lokalizaci)71308a17— Trolley: edit screen (kód, typ, layout, sloty) + propojení s list screenemfea7717d— Trolley: karta správy v nastavení (gated feature flagem)8b86ed9a— Trolley: lokalizační klíče (en/cs/pl) + náhrada placeholderů26aa5d37— Trolley: AssignTrolleyToBatchAction (preflight + fixed flow; TODOs pro 3.2/5.1)6323d3ed— Trolley: overlay pro dynamické přiřazení (matrix UI + ScannerAware)4a030b20— Trolley: napojení skenu vozíku v assignment screenu (s guardem _isAssigning)41f0f000— Trolley: ProductListSubCard zobrazuje displayLabel místo container.code30060f04— Trolley: ProductCard badge zobrazuje displayLabel místo container.coded691d7c5— Trolley: DocumentContainerAssignScreen list zobrazuje displayLabel987e0f0e— Trolley: filtr trolleyId v OrderBatchProvider (excludeCompleted řeší isPickupDone)8e951b18— Trolley: resume-by-scan na seznamu batchů (skenování vozíku navede na batch)ae8333ee— Trolley: audit flavor DI kontejnerů (všech 5 flavorů kompatibilních)4bfe11d2— Trolley: finální ověření — formát, analyzer, testy procházejí73b69170— Trolley: oprava setState v list screenu (arrow body vracel Future)729d7607— Trolley: posun slotu jen při skutečném úspěchu (přes onDone signál akce)81316eaf— Trolley: zastavit přiřazování po naplnění všech objednávek (dynamic i fixed)4200321c— Trolley: overlay s perzistencí stavu, statusy slotů a tlačítkem k vyzvednutí17f009c3— Trolley: overlay s multiline appbarem, ListItems layoutem a ikonami stavů6767d723— Trolley: roundedTop body, idle ikona remove_circle_rounded; oprava parent screenu7dc21cdf— Trolley: zobrazit slot/code (např. 1.1 / C002) i v product_container kartě671f5a47— Trolley: title, číslování (row.col/sequential) a layout edit screenu pomocí ListItems+ElsCardColumnf8bd95b5— Trolley: zachovat kontejnery při změně číslování + toaster pro prázdný fixed vozík24f9f6ae— Trolley: typ a číslování jako ListTile s ElsBottomSheet pickerem v ElsCard872f60e5— Trolley: bez podtržení textových polí; pickery v ElsCard se zelenou fajfkou a popisky450d1687— Trolley: nahrazení matoucí zkratky Řada.poz. za Po řadách97df7ac1— Trolley: smazání řady přes swipe (oboustranný) místo trash ikonyfbb21bc4— Trolley: scanner v edit screenu, akce vyčistit kontejnery, validace plné sady u pevných1a76c87f— Trolley: sloty bez TextFieldu (řeší úniky kláves ze skeneru do focusovaného pole)c3389b33— Trolley: ruční editace slotu přes ElsBottomSheet, sdílená validace s skeneremce681ec7— Trolley: oprava _dependents.isEmpty assert (předčasný dispose controlleru editoru slotu)0acbbabd— Trolley: editor slotu zabaleny do ElsCardColumn (jako ostatní bottom sheety)b1f499a4— Trolley: list tile - title z trolley.title, subtitle kód · počet pozic (bez typu)a02536e8— Trolley: odstranění nepoužívaných lokalizačních klíčů (assigning, done, appBarSubtitle, alreadyInUse, scanContainerForSlot)13ad418b— Trolley: re-entrancy guard _scanBusy bez setState (UI na něm nezávisí)059eb420— Trolley: nepřipojit trolleyId k batchi, pokud žádný slot fixed loopu neuspělc66d3323— Trolley: setState při nastavení _isAssigning, ne jen při uvolněníeee92789— Trolley: mounted check i před úspěšným setState v _onScan7b06a100— Trolley: ochrana proti dělení nulou v _cellSize (vozík bez řad)de3a6d2b— Trolley: displayLabel - dual-key check + volitelný batchTrolleyId pro přísnější ověřeníb2c926ea— Trolley: badge v product list - ikona vozíku a krabice místo textu slot/coded5b7c8c2— Trolley: stejný icon-based vizuál i v DocumentProductContainer (umístěte do přepravky)98009b3c— Trolley: ikony v DocumentProductContainer na poloviční velikost textu138b81c2— Trolley: zarovnání ikon a textu na spodní hranu v DocumentProductContainer1bdba278— Trolley: čisté zarovnání bez padding (jen CrossAxisAlignment.end)dbb029b9— Trolley: zaoblení rohů karty Umístěte do přepravky stejné jako u pozice (20px)515a8979— Trolley: ikony nadzvedneme o 20% velikosti písma na úroveň baseline textub9484ac1— Trolley: zpět na čisté CrossAxisAlignment.end bez paddingu (box-bottom alignment)bb6faa80— Trolley: srovnání ikon a textu přes CrossAxisAlignment.baseline (ikona bottom = text baseline)ad27b709— Trolley: action ValidateTrolleyContainerAction se loading dialogem (Kontroluji dostupnost…)4bdafe89— Trolley: loading dialog při scanu kontejneru a progress dialog při fixed loop přiřazování13f98a5a— Trolley: streamy v assignment screenu vytvořit jednou (žádné re-subscribe při dialogu)1f93fbc4— Trolley: progress dialog s determinate indikátorem, x/y počítadlem a tichým silent módemd101b985— Trolley: kapacitní kontrola (málo slotů → toaster) a progress podle počtu objednávek7e1791b3— Trolley: odstranění nepoužívaného klíče assigningContainerToSlotdede3226— Trolley: sjednocení duální kontroly trolleySlot/displayLabele8abfd96— Trolley: zjednodušení _runFixed - jednotný updateExecution místo větvení28d2843c— Trolley: čitelnější subtitle slotu v editoru95ddf4d3— Ladeni kontejneru v ramci převozniho prijmu
elasticr-admin-assets
8971919d2— PriceRuleStore: guard mask init against missing window.elasticr.item89857e52c— ShippingAndPaymentRule items hold ProductMask collection per negation ruledfebb9d79— PriceRule mask uses ProductMask collection (mask: { masks, customerGroups, strategies })64fe653e8— Coupon mask uses ProductMask collection (mask: { masks, customerGroups })6959e5f1f— RelatedProductsBehaviorCustomization uses masks: ProductMask[] collectionb00ccb9e4— ProductContentBehaviorCustomization uses masks: ProductMask[] collection2acfa218f— ProductCartRequirement uses masks: ProductMask[] collectionbb2f65c68— preventing empty ZonesProvider56afb1758— CompleteReceiptPositionsWorkflowHandler enhanced with forceStrict toggle34c9a458d— extraContext field added to CreateDocumentFromAnotherOneWorkflowHandlerForma2c1961be— preserve route locale31d834d73— internal link pickeracbece612— adjust edit item endpoint when editing base document itemscf77f4753— add doReplenishment and allowReplenishmentWithinSameZone toggles for stock replenishment6b95d6325— Ep 247078549aad— dont show 100% coverage when its still below 100, like 99.99%b755243f1— render empty TableAddressData when address is not filled18b81252d— added replenishment position type ui507859a09— Rozšíření možností editace článku a vykreslování číselníku v administracia2a9f9005— Úprava výběru šablon u stránek a článků93079c501— stockTransfer documentSeries configuration extendedcbb34d91f— Rozšíření base documentue7ef8edfa— Přidání možnosti vlastní šablony v modulu článků6a6caa51a— settings of CreateReceiptFromStockTransferTransitionHandler extended, context selection bugfix4c5966a38— negative mode for RunValidationWorkflowCondition42bf66051— product labels printing fixbef56ef2d— changed supplier email to collection of emails in list and edit formc4df39e29— DocumentChildrenTransitionSettingsForm updated to work properly with default value85754f3cd— UpdateFirebaseDocumentItemsDataFromCoverageForm added
elasticr-assets
1d88980— Úprava one-page checkoutua1e5059— Úprava galleryf8cf67d— Úprava sidebar-nav a heading-wrapperu5d61865— Úprava karty a typob8ad494— Úprava formulářových prvků; drobné úpravyba7fa1b— Úprava alertu kvůli Firefoxu v115
vue-design-system
a495399— form lifecycle + types polish13c1ba8— data-grid — typed items via Omit + intersection, memoize filterDefinitionMapc4ae351— action/panel infra — ActionOverlay a PanelRenderer error handling44693f4— Update CLAUDE.md and docs/ for module reshape3087532— Polish: form-less PanelRenderer submit, ApiSelect clearable, drop unused h6f82db9— Add @configuration/locales (cs, en) and merge into root i18n5822338— Add @config-renderer/list module bridging PHP configs to library data-grid98812a9— Relocate data-grid into @library and pivot form-builder onto FieldDefinition0436627— Relocate actionStore from @app to @config-renderer/actionc6a577a— Consolidate useDisabled/useVisibility into useConditionGatee8eb3ce— Add config-renderer type tree mirroring PHP builder emits34f92ea— List-page and filter-editor fixes0274a66— Panel stacking, filter fields, layout/text/select polishcfc4cfb— Extend param and content model4751ffc— Add condition grammar, context registry, visibility wiringda3d3e6— Move Elasticr types to infrastructure; make Select generic665da63— Add bulk edit and action/Interaction systemfefe39f— Add page data store and FilterParam resolver4824c86— Add LayoutRenderer and Content type systemb02c957— Add month/year navigation to Calendar, hide panels during selection967793c— Wire action handlers, panel lifecycle, and resource settings into ListPaged9624c8— Add action/panel/form/list types, new cell renderers, ActionRenderer, and route resolution