docs: @Override
    public final void process(final Map<String, Object> pReqVars,
      final IRequestData pRequestData) throws Exception {
      retrieveStartData(pReqVars);
      List<PriceCategory> defPcs = this.srvOrm.retrieveListWithConditions(pReqVars, PriceCategory.class, "where DFOL=1");
      if (defPcs.size() != 1) {
        throw new ExceptionWithCode(ExceptionWithCode.CONFIGURATION_MISTAKE, "where_is_no_only_default_online_price_category");
      }
      SettingsAdd settingsAdd = (SettingsAdd) pReqVars.get("setAdd");
      TradingSettings tradSet = (TradingSettings) pReqVars.get("tradSet");
      GoodsInListLuv goodsInListLuv = (GoodsInListLuv) pReqVars.get("goodsInListLuv");
      pReqVars.remove("goodsInListLuv");
      String refreshAll = pRequestData.getParameter("refreshAll");
      List<GoodsSpecifics> goodsSpecificsLst;
      if (refreshAll != null) {
        goodsSpecificsLst = retrieveItemSpecificsLst(pReqVars, null, GoodsSpecifics.class);
      } else {
        goodsSpecificsLst = retrieveItemSpecificsLst(pReqVars, goodsInListLuv.getGoodsSpecificLuv(), GoodsSpecifics.class);
      }
      updateForItemSpecificsList(pReqVars, goodsSpecificsLst, settingsAdd, goodsInListLuv, tradSet, I18nInvItem.class, EShopItemType.GOODS);
      pRequestData.setAttribute("totalUpdatedGdSp", goodsSpecificsLst.size());
      goodsSpecificsLst = null;
      List<PriceGoods> goodsPriceLst;
      if (refreshAll != null) {
        goodsPriceLst = retrieveItemPriceLst(pReqVars, null, PriceGoods.class, defPcs.get(0).getItsId());
      } else {
        goodsPriceLst = retrieveItemPriceLst(pReqVars, goodsInListLuv.getGoodsPriceLuv(), PriceGoods.class, defPcs.get(0).getItsId());
      }
      updateForItemPriceList(pReqVars, goodsPriceLst, settingsAdd, goodsInListLuv, EShopItemType.GOODS);
      pRequestData.setAttribute("totalUpdatedGdPr", goodsPriceLst.size());
      goodsPriceLst = null;
      List<GoodsPlace> goodsPlaceLst;
      if (refreshAll != null) {
        goodsPlaceLst = retrieveItemPlaceLst(pReqVars, null, GoodsPlace.class);
      } else {
        goodsPlaceLst = retrieveItemPlaceLst(pReqVars, goodsInListLuv.getGoodsAvailableLuv(), GoodsPlace.class);
      }
      updateForItemPlaceList(pReqVars, goodsPlaceLst, settingsAdd, goodsInListLuv, EShopItemType.GOODS);
      pRequestData.setAttribute("totalUpdatedGdAv", goodsPlaceLst.size());
      goodsPlaceLst = null;
      List<ServiceSpecifics> serviceSpecificsLst;
      if (refreshAll != null) {
        serviceSpecificsLst = retrieveItemSpecificsLst(pReqVars, null, ServiceSpecifics.class);
      } else {
        serviceSpecificsLst = retrieveItemSpecificsLst(pReqVars, goodsInListLuv.getServiceSpecificLuv(), ServiceSpecifics.class);
      }
      updateForItemSpecificsList(pReqVars, serviceSpecificsLst, settingsAdd, goodsInListLuv, tradSet, I18nServiceToSale.class, EShopItemType.SERVICE);
      pRequestData.setAttribute("totalUpdatedServSp", serviceSpecificsLst.size());
      serviceSpecificsLst = null;
      List<ServicePrice> servicePriceLst;
      if (refreshAll != null) {
        servicePriceLst = retrieveItemPriceLst(pReqVars, null, ServicePrice.class, defPcs.get(0).getItsId());
      } else {
        servicePriceLst = retrieveItemPriceLst(pReqVars, goodsInListLuv.getServicePriceLuv(), ServicePrice.class, defPcs.get(0).getItsId());
      }
      updateForItemPriceList(pReqVars, servicePriceLst, settingsAdd, goodsInListLuv, EShopItemType.SERVICE);
      pRequestData.setAttribute("totalUpdatedServPr", servicePriceLst.size());
      servicePriceLst = null;
      List<ServicePlace> servicePlaceLst;
      if (refreshAll != null) {
        servicePlaceLst = retrieveItemPlaceLst(pReqVars, null, ServicePlace.class);
      } else {
        servicePlaceLst = retrieveItemPlaceLst(pReqVars, goodsInListLuv.getServicePlaceLuv(), ServicePlace.class);
      }
      updateForItemPlaceList(pReqVars, servicePlaceLst, settingsAdd, goodsInListLuv, EShopItemType.SERVICE);
      pRequestData.setAttribute("totalUpdatedServAv", servicePlaceLst.size());
      servicePlaceLst = null;
      List<SeGoodsSpecifics> seGoodSpecificsLst;
      if (refreshAll != null) {
        seGoodSpecificsLst = retrieveItemSpecificsLst(pReqVars, null, SeGoodsSpecifics.class);
      } else {
        seGoodSpecificsLst = retrieveItemSpecificsLst(pReqVars, goodsInListLuv.getSeGoodSpecificLuv(), SeGoodsSpecifics.class);
      }
      updateForItemSpecificsList(pReqVars, seGoodSpecificsLst, settingsAdd, goodsInListLuv, tradSet, I18nSeGoods.class, EShopItemType.SEGOODS);
      pRequestData.setAttribute("totalUpdatedSeGoodSp", seGoodSpecificsLst.size());
      seGoodSpecificsLst = null;
      List<SeGoodsPrice> seGoodPriceLst;
      if (refreshAll != null) {
        seGoodPriceLst = retrieveItemPriceLst(pReqVars, null, SeGoodsPrice.class, defPcs.get(0).getItsId());
      } else {
        seGoodPriceLst = retrieveItemPriceLst(pReqVars, goodsInListLuv.getSeGoodPriceLuv(), SeGoodsPrice.class, defPcs.get(0).getItsId());
      }
      updateForItemPriceList(pReqVars, seGoodPriceLst, settingsAdd, goodsInListLuv, EShopItemType.SEGOODS);
      pRequestData.setAttribute("totalUpdatedSeGoodPr", seGoodPriceLst.size());
      seGoodPriceLst = null;
      List<SeGoodsPlace> seGoodPlaceLst;
      if (refreshAll != null) {
        seGoodPlaceLst = retrieveItemPlaceLst(pReqVars, null, SeGoodsPlace.class);
      } else {
        seGoodPlaceLst = retrieveItemPlaceLst(pReqVars, goodsInListLuv.getSeGoodPlaceLuv(), SeGoodsPlace.class);
      }
      updateForItemPlaceList(pReqVars, seGoodPlaceLst, settingsAdd, goodsInListLuv, EShopItemType.SEGOODS);
      pRequestData.setAttribute("totalUpdatedSeGoodAv", seGoodPlaceLst.size());
      seGoodPlaceLst = null;
      List<SeServiceSpecifics> seServiceSpecificsLst;
      if (refreshAll != null) {
        seServiceSpecificsLst = retrieveItemSpecificsLst(pReqVars, null, SeServiceSpecifics.class);
      } else {
        seServiceSpecificsLst = retrieveItemSpecificsLst(pReqVars, goodsInListLuv.getSeServiceSpecificLuv(), SeServiceSpecifics.class);
      }
      updateForItemSpecificsList(pReqVars, seServiceSpecificsLst, settingsAdd, goodsInListLuv, tradSet, I18nSeService.class, EShopItemType.SESERVICE);
      pRequestData.setAttribute("totalUpdatedSeServiceSp", seServiceSpecificsLst.size());
      seServiceSpecificsLst = null;
      List<SeServicePrice> seServicePriceLst;
      if (refreshAll != null) {
        seServicePriceLst = retrieveItemPriceLst(pReqVars, null, SeServicePrice.class, defPcs.get(0).getItsId());
      } else {
        seServicePriceLst = retrieveItemPriceLst(pReqVars, goodsInListLuv.getSeServicePriceLuv(), SeServicePrice.class, defPcs.get(0).getItsId());
      }
      updateForItemPriceList(pReqVars, seServicePriceLst, settingsAdd, goodsInListLuv, EShopItemType.SESERVICE);
      pRequestData.setAttribute("totalUpdatedSeServicePr", seServicePriceLst.size());
      seServicePriceLst = null;
      List<SeServicePlace> seServicePlaceLst;
      if (refreshAll != null) {
        seServicePlaceLst = retrieveItemPlaceLst(pReqVars, null, SeServicePlace.class);
      } else {
        seServicePlaceLst = retrieveItemPlaceLst(pReqVars, goodsInListLuv.getSeServicePlaceLuv(), SeServicePlace.class);
      }
      updateForItemPlaceList(pReqVars, seServicePlaceLst, settingsAdd, goodsInListLuv, EShopItemType.SESERVICE);
      pRequestData.setAttribute("totalUpdatedSeServiceAv", seServicePlaceLst.size());
      seServicePlaceLst = null;
      pReqVars.remove("langPreferences");
    }