|
Modified: ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/bom/BOMServices.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/bom/BOMServices.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/bom/BOMServices.java (original) +++ ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/bom/BOMServices.java Mon Mar 26 20:56:02 2012 @@ -84,9 +84,8 @@ public class BOMServices { if (bomType == null) { try { List<GenericValue> bomTypesValues = delegator.findByAnd("ProductAssocType", UtilMisc.toMap("parentTypeId", "PRODUCT_COMPONENT")); - Iterator<GenericValue> bomTypesValuesIt = bomTypesValues.iterator(); - while (bomTypesValuesIt.hasNext()) { - bomTypes.add((bomTypesValuesIt.next()).getString("productAssocTypeId")); + for(GenericValue bomTypesValue : bomTypesValues) { + bomTypes.add(bomTypesValue.getString("productAssocTypeId")); } } catch (GenericEntityException gee) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingBomErrorRunningMaxDethAlgorithm", UtilMisc.toMap("errorString", gee.getMessage()), locale)); @@ -97,10 +96,8 @@ public class BOMServices { int depth = 0; int maxDepth = 0; - Iterator<String> bomTypesIt = bomTypes.iterator(); try { - while (bomTypesIt.hasNext()) { - String oneBomType = bomTypesIt.next(); + for(String oneBomType : bomTypes) { depth = BOMHelper.getMaxDepth(productId, oneBomType, fromDate, delegator); if (depth > maxDepth) { maxDepth = depth; @@ -149,10 +146,8 @@ public class BOMServices { UtilMisc.toMap("productIdTo", productId, "productAssocTypeId", "PRODUCT_VARIANT")); virtualProducts = EntityUtil.filterByDate(virtualProducts); int virtualMaxDepth = 0; - Iterator<GenericValue> virtualProductsIt = virtualProducts.iterator(); - while (virtualProductsIt.hasNext()) { + for(GenericValue oneVirtualProductAssoc : virtualProducts) { int virtualDepth = 0; - GenericValue oneVirtualProductAssoc = virtualProductsIt.next(); GenericValue virtualProduct = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", oneVirtualProductAssoc.getString("productId"))); if (virtualProduct.get("billOfMaterialLevel") != null) { virtualDepth = virtualProduct.getLong("billOfMaterialLevel").intValue(); @@ -190,9 +185,7 @@ public class BOMServices { List<GenericValue> variantProducts = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")); variantProducts = EntityUtil.filterByDate(variantProducts, true); - Iterator<GenericValue> variantProductsIt = variantProducts.iterator(); - while (variantProductsIt.hasNext()) { - GenericValue oneVariantProductAssoc = variantProductsIt.next(); + for(GenericValue oneVariantProductAssoc : variantProducts) { GenericValue variantProduct = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", oneVariantProductAssoc.getString("productId"))); variantProduct.set("billOfMaterialLevel", llc); variantProduct.store(); @@ -220,20 +213,16 @@ public class BOMServices { try { List<GenericValue> products = delegator.findList("Product", null, null, UtilMisc.toList("isVirtual DESC"), null, false); - Iterator<GenericValue> productsIt = products.iterator(); Long zero = Long.valueOf(0); List<GenericValue> allProducts = FastList.newInstance(); - while (productsIt.hasNext()) { - GenericValue product = productsIt.next(); + for(GenericValue product : products) { product.set("billOfMaterialLevel", zero); allProducts.add(product); } delegator.storeAll(allProducts); Debug.logInfo("Low Level Code set to 0 for all the products", module); - productsIt = products.iterator(); - while (productsIt.hasNext()) { - GenericValue product = productsIt.next(); + for(GenericValue product : products) { try { Map<String, Object> depthResult = dispatcher.runSync("updateLowLevelCode", UtilMisc.<String, Object>toMap("productIdTo", product.getString("productId"), "alsoComponents", Boolean.valueOf(false), "alsoVariants", Boolean.valueOf(false))); Debug.logInfo("Product [" + product.getString("productId") + "] Low Level Code [" + depthResult.get("lowLevelCode") + "]", module); @@ -414,10 +403,8 @@ public class BOMServices { // also return a componentMap (useful in scripts and simple language code) List<Map<String, Object>> componentsMap = FastList.newInstance(); - Iterator<BOMNode> componentsIt = components.iterator(); - while (componentsIt.hasNext()) { + for(BOMNode node : components) { Map<String, Object> componentMap = FastMap.newInstance(); - BOMNode node = componentsIt.next(); componentMap.put("product", node.getProduct()); componentMap.put("quantity", node.getQuantity()); componentsMap.add(componentMap); @@ -466,9 +453,7 @@ public class BOMServices { } catch (GenericEntityException gee) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingBomErrorCreatingBillOfMaterialsTree", UtilMisc.toMap("errorString", gee.getMessage()), locale)); } - Iterator<BOMNode> componentsIt = components.iterator(); - while (componentsIt.hasNext()) { - BOMNode oneComponent = componentsIt.next(); + for(BOMNode oneComponent : components) { if (!oneComponent.isManufactured()) { notAssembledComponents.add(oneComponent); } @@ -503,11 +488,9 @@ public class BOMServices { } catch (GenericEntityException gee) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingBomErrorLoadingShipmentItems", locale)); } - Iterator<GenericValue> shipmentItemsIt = shipmentItems.iterator(); Map<String, Object> orderReadHelpers = FastMap.newInstance(); Map<String, Object> partyOrderShipments = FastMap.newInstance(); - while (shipmentItemsIt.hasNext()) { - GenericValue shipmentItem = shipmentItemsIt.next(); + for(GenericValue shipmentItem : shipmentItems) { // Get the OrderShipments List<GenericValue> orderShipments = null; try { Modified: ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java (original) +++ ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/jobshopmgt/ProductionRunServices.java Mon Mar 26 20:56:02 2012 @@ -125,9 +125,7 @@ public class ProductionRunServices { UtilMisc.toMap("workEffortId", productionRunId, "workEffortGoodStdTypeId", "PRUN_PROD_DELIV", "statusId", "WEGS_CREATED")); if (!UtilValidate.isEmpty(products)) { - Iterator<GenericValue> productsIt = products.iterator(); - while (productsIt.hasNext()) { - GenericValue product = productsIt.next(); + for(GenericValue product : products) { product.set("statusId", "WEGS_CANCELLED"); product.store(); } @@ -135,10 +133,8 @@ public class ProductionRunServices { // change the tasks status to PRUN_CANCELLED List<GenericValue> tasks = productionRun.getProductionRunRoutingTasks(); - GenericValue oneTask = null; String taskId = null; - for (int i = 0; i < tasks.size(); i++) { - oneTask = tasks.get(i); + for(GenericValue oneTask : tasks) { taskId = oneTask.getString("workEffortId"); serviceContext.clear(); serviceContext.put("workEffortId", taskId); @@ -150,9 +146,7 @@ public class ProductionRunServices { UtilMisc.toMap("workEffortId", taskId, "workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", "statusId", "WEGS_CREATED")); if (!UtilValidate.isEmpty(components)) { - Iterator<GenericValue> componentsIt = components.iterator(); - while (componentsIt.hasNext()) { - GenericValue component = componentsIt.next(); + for(GenericValue component : components) { component.set("statusId", "WEGS_CANCELLED"); component.store(); } @@ -305,11 +299,8 @@ public class ProductionRunServices { } // Multi creation (like clone) ProductionRunTask and GoodAssoc - Iterator<GenericValue> rt = routingTaskAssocs.iterator(); boolean first = true; - while (rt.hasNext()) { - GenericValue routingTaskAssoc = rt.next(); - + for(GenericValue routingTaskAssoc : routingTaskAssocs) { if (EntityUtil.isValueActive(routingTaskAssoc, startDate)) { GenericValue routingTask = null; try { @@ -368,11 +359,9 @@ public class ProductionRunServices { // Now we iterate thru the components returned by the getManufacturingComponents service // TODO: if in the BOM a routingWorkEffortId is specified, but the task is not in the routing // the component is not added to the production run. - Iterator<BOMNode> pb = components.iterator(); - while (pb.hasNext()) { + for(BOMNode node : components) { // The components variable contains a list of BOMNodes: // each node represents a product (component). - BOMNode node = pb.next(); GenericValue productBom = node.getProductAssoc(); if ((productBom.getString("routingWorkEffortId") == null && first) || (productBom.getString("routingWorkEffortId") != null && productBom.getString("routingWorkEffortId").equals(routingTask.getString("workEffortId")))) { serviceContext.clear(); @@ -433,9 +422,7 @@ public class ProductionRunServices { } if (workEffortPartyAssignments != null) { - Iterator<GenericValue> i = workEffortPartyAssignments.iterator(); - while (i.hasNext()) { - GenericValue workEffortPartyAssignment = i.next(); + for(GenericValue workEffortPartyAssignment : workEffortPartyAssignments) { Map<String, Object> partyToWorkEffort = UtilMisc.<String, Object>toMap( "workEffortId", productionRunTaskId, "partyId", workEffortPartyAssignment.getString("partyId"), @@ -600,9 +587,7 @@ public class ProductionRunServices { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); } // change the production run tasks status to PRUN_SCHEDULED - Iterator<GenericValue> tasks = productionRun.getProductionRunRoutingTasks().iterator(); - while (tasks.hasNext()) { - GenericValue task = tasks.next(); + for(GenericValue task : productionRun.getProductionRunRoutingTasks()) { serviceContext.clear(); serviceContext.put("workEffortId", task.getString("workEffortId")); serviceContext.put("currentStatusId", statusId); @@ -634,9 +619,7 @@ public class ProductionRunServices { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); } // change the production run tasks status to PRUN_DOC_PRINTED - Iterator<GenericValue> tasks = productionRun.getProductionRunRoutingTasks().iterator(); - while (tasks.hasNext()) { - GenericValue task = tasks.next(); + for(GenericValue task : productionRun.getProductionRunRoutingTasks()) { serviceContext.clear(); serviceContext.put("workEffortId", task.getString("workEffortId")); serviceContext.put("currentStatusId", "PRUN_DOC_PRINTED"); @@ -726,9 +709,7 @@ public class ProductionRunServices { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunStatusNotChanged", locale)); } // change the production run tasks status to PRUN_CLOSED - Iterator<GenericValue> tasks = productionRun.getProductionRunRoutingTasks().iterator(); - while (tasks.hasNext()) { - GenericValue task = tasks.next(); + for(GenericValue task : productionRun.getProductionRunRoutingTasks()) { serviceContext.clear(); serviceContext.put("workEffortId", task.getString("workEffortId")); serviceContext.put("currentStatusId", "PRUN_CLOSED"); @@ -996,13 +977,11 @@ public class ProductionRunServices { List<GenericValue> costComponents = EntityUtil.filterByDate(delegator.findByAnd("CostComponent", UtilMisc.toMap("workEffortId", workEffortId))); result.put("costComponents", costComponents); - Iterator<GenericValue> costComponentsIt = costComponents.iterator(); // TODO: before doing these totals we should convert the cost components' costs to the // base currency uom of the owner of the facility in which the task is running BigDecimal totalCost = ZERO; BigDecimal totalCostNoMaterials = ZERO; - while (costComponentsIt.hasNext()) { - GenericValue costComponent = costComponentsIt.next(); + for(GenericValue costComponent : costComponents) { BigDecimal cost = costComponent.getBigDecimal("cost"); totalCost = totalCost.add(cost); if (!"ACTUAL_MAT_COST".equals(costComponent.getString("costComponentTypeId"))) { @@ -1027,14 +1006,12 @@ public class ProductionRunServices { try { List<GenericValue> tasks = delegator.findByAnd("WorkEffort", UtilMisc.toMap("workEffortParentId", workEffortId), UtilMisc.toList("workEffortId")); - Iterator<GenericValue> tasksIt = tasks.iterator(); BigDecimal totalCost = ZERO; Map<String, Object> outputMap = dispatcher.runSync("getWorkEffortCosts", UtilMisc.<String, Object>toMap("userLogin", userLogin, "workEffortId", workEffortId)); BigDecimal productionRunHeaderCost = (BigDecimal)outputMap.get("totalCost"); totalCost = totalCost.add(productionRunHeaderCost); - while (tasksIt.hasNext()) { - GenericValue task = tasksIt.next(); + for(GenericValue task : tasks) { outputMap = dispatcher.runSync("getWorkEffortCosts", UtilMisc.<String, Object>toMap("userLogin", userLogin, "workEffortId", task.getString("workEffortId"))); BigDecimal taskCost = (BigDecimal)outputMap.get("totalCost"); @@ -1085,9 +1062,7 @@ public class ProductionRunServices { UtilMisc.toMap("workEffortId", productionRunTaskId)); workEffortCostCalcs = EntityUtil.filterByDate(workEffortCostCalcs); - Iterator<GenericValue> workEffortCostCalcsIt = workEffortCostCalcs.iterator(); - while (workEffortCostCalcsIt.hasNext()) { - GenericValue workEffortCostCalc = workEffortCostCalcsIt.next(); + for (GenericValue workEffortCostCalc : workEffortCostCalcs) { GenericValue costComponentCalc = workEffortCostCalc.getRelatedOne("CostComponentCalc"); GenericValue customMethod = costComponentCalc.getRelatedOne("CustomMethod"); if (UtilValidate.isEmpty(customMethod) || UtilValidate.isEmpty(customMethod.getString("customMethodName"))) { @@ -1164,11 +1139,9 @@ public class ProductionRunServices { } // materials costs: these are the costs derived from the materials used by the production run task try { - Iterator<GenericValue> inventoryAssignIt = delegator.findByAnd("WorkEffortAndInventoryAssign", - UtilMisc.toMap("workEffortId", productionRunTaskId)).iterator(); Map<String, BigDecimal> materialsCostByCurrency = FastMap.newInstance(); - while (inventoryAssignIt.hasNext()) { - GenericValue inventoryConsumed = inventoryAssignIt.next(); + for(GenericValue inventoryConsumed : delegator.findByAnd("WorkEffortAndInventoryAssign", + UtilMisc.toMap("workEffortId", productionRunTaskId))) { BigDecimal quantity = inventoryConsumed.getBigDecimal("quantity"); BigDecimal unitCost = inventoryConsumed.getBigDecimal("unitCost"); if (UtilValidate.isEmpty(unitCost) || UtilValidate.isEmpty(quantity)) { @@ -1182,9 +1155,7 @@ public class ProductionRunServices { materialsCost = materialsCost.add(unitCost.multiply(quantity)).setScale(decimals, rounding); materialsCostByCurrency.put(currencyUomId, materialsCost); } - Iterator<String> currencyIt = materialsCostByCurrency.keySet().iterator(); - while (currencyIt.hasNext()) { - String currencyUomId = currencyIt.next(); + for(String currencyUomId : materialsCostByCurrency.keySet()) { BigDecimal materialsCost = materialsCostByCurrency.get(currencyUomId); Map<String, Object> inMap = UtilMisc.<String, Object>toMap("userLogin", userLogin, "workEffortId", productionRunTaskId); @@ -1539,9 +1510,7 @@ public class ProductionRunServices { Debug.logError(e.getMessage(), module); } if (workEffortPartyAssignments != null) { - Iterator<GenericValue> i = workEffortPartyAssignments.iterator(); - while (i.hasNext()) { - GenericValue workEffortPartyAssignment = i.next(); + for(GenericValue workEffortPartyAssignment : workEffortPartyAssignments) { Map<String, Object> partyToWorkEffort = UtilMisc.<String, Object>toMap( "workEffortId", productionRunTaskId, "partyId", workEffortPartyAssignment.getString("partyId"), @@ -1980,21 +1949,17 @@ public class ProductionRunServices { // are currently assigned to this task. // If less than passed quantity then return an error message. try { - Iterator<GenericValue> issuances = (delegator.findByAnd("WorkEffortAndInventoryAssign", - UtilMisc.toMap("workEffortId", productionRunTaskId, "productId", productId))).iterator(); BigDecimal totalIssued = BigDecimal.ZERO; - while (issuances.hasNext()) { - GenericValue issuance = issuances.next(); + for(GenericValue issuance : delegator.findByAnd("WorkEffortAndInventoryAssign", + UtilMisc.toMap("workEffortId", productionRunTaskId, "productId", productId))) { BigDecimal issued = issuance.getBigDecimal("quantity"); if (issued != null) { totalIssued = totalIssued.add(issued); } } - Iterator<GenericValue> returns = (delegator.findByAnd("WorkEffortAndInventoryProduced", - UtilMisc.toMap("workEffortId", productionRunTaskId, "productId", productId))).iterator(); BigDecimal totalReturned = BigDecimal.ZERO; - while (returns.hasNext()) { - GenericValue returned = returns.next(); + for(GenericValue returned : delegator.findByAnd("WorkEffortAndInventoryProduced", + UtilMisc.toMap("workEffortId", productionRunTaskId, "productId", productId))) { GenericValue returnDetail = EntityUtil.getFirst(delegator.findByAnd("InventoryItemDetail", UtilMisc.toMap("inventoryItemId", returned.getString("inventoryItemId")), UtilMisc.toList("inventoryItemDetailSeqId"))); if (returnDetail != null) { BigDecimal qtyReturned = returnDetail.getBigDecimal("quantityOnHandDiff"); @@ -2342,15 +2307,11 @@ public class ProductionRunServices { String productionRunId = (String)resultService.get("productionRunId"); result.put("productionRunId", productionRunId); - Iterator<ConfigOption> options = config.getSelectedOptions().iterator(); Map<String, BigDecimal> components = FastMap.newInstance(); - while (options.hasNext()) { - ConfigOption co = options.next(); + for(ConfigOption co : config.getSelectedOptions()) { //components.addAll(co.getComponents()); - Iterator<GenericValue> selComponents = co.getComponents().iterator(); - while (selComponents.hasNext()) { + for(GenericValue selComponent : co.getComponents()) { BigDecimal componentQuantity = null; - GenericValue selComponent = selComponents.next(); if (selComponent.get("quantity") != null) { componentQuantity = selComponent.getBigDecimal("quantity"); } @@ -3073,9 +3034,7 @@ public class ProductionRunServices { if (UtilValidate.isEmpty(components)) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingProductionRunCannotDecomposingInventoryItemNoComponentsFound", UtilMisc.toMap("productId", inventoryItem.getString("productId")), locale)); } - Iterator<Map<String, Object>> componentsIt = components.iterator(); - while (componentsIt.hasNext()) { - Map<String, Object> component = componentsIt.next(); + for(Map<String, Object> component : components) { // get the component's standard cost serviceContext.clear(); serviceContext = UtilMisc.toMap("productId", ((GenericValue)component.get("product")).getString("productId"), @@ -3120,9 +3079,7 @@ public class ProductionRunServices { List<GenericValue> resultList = delegator.findByAnd("WorkEffortAndGoods", UtilMisc.toMap("workEffortGoodStdTypeId", "PRUN_PROD_DELIV", "statusId", "WEGS_CREATED", "workEffortTypeId", "PROD_ORDER_HEADER")); - Iterator<GenericValue> iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - GenericValue genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { if ("PRUN_CLOSED".equals(genericResult.getString("currentStatusId")) || "PRUN_CREATED".equals(genericResult.getString("currentStatusId"))) { continue; @@ -3163,11 +3120,9 @@ public class ProductionRunServices { resultList = delegator.findByAnd("OrderHeaderAndItems", UtilMisc.toMap("orderTypeId", "PURCHASE_ORDER", "itemStatusId", "ITEM_APPROVED"), UtilMisc.toList("orderId")); - iteratorResult = resultList.iterator(); String orderId = null; GenericValue orderDeliverySchedule = null; - while (iteratorResult.hasNext()) { - GenericValue genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String newOrderId = genericResult.getString("orderId"); if (!newOrderId.equals(orderId)) { orderDeliverySchedule = null; @@ -3218,9 +3173,7 @@ public class ProductionRunServices { List<GenericValue> backorders = delegator.findList("OrderItemAndShipGrpInvResAndItem", EntityCondition.makeCondition(backordersCondList, EntityOperator.AND), null, UtilMisc.toList("shipBeforeDate"), null, false); - Iterator<GenericValue> backordersIt = backorders.iterator(); - while (backordersIt.hasNext()) { - GenericValue genericResult = backordersIt.next(); + for(GenericValue genericResult : backorders) { String productId = genericResult.getString("productId"); GenericValue orderItemShipGroup = delegator.findByPrimaryKey("OrderItemShipGroup", UtilMisc.toMap("orderId", genericResult.get("orderId"), "shipGroupSeqId", genericResult.get("shipGroupSeqId"))); @@ -3238,9 +3191,7 @@ public class ProductionRunServices { TreeMap<Timestamp, Object> productMap = products.get(productId); SortedMap<Timestamp, Object> subsetMap = productMap.headMap(requiredByDate); // iterate and 'reserve' - Iterator<Timestamp> subsetMapKeysIt = subsetMap.keySet().iterator(); - while (subsetMapKeysIt.hasNext()) { - Timestamp currentDate = subsetMapKeysIt.next(); + for(Timestamp currentDate : subsetMap.keySet()) { Map<String, Object> currentDateMap = UtilGenerics.checkMap(subsetMap.get(currentDate)); //List reservations = (List)currentDateMap.get("reservations"); BigDecimal remainingQty = (BigDecimal)currentDateMap.get("remainingQty"); Modified: ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java (original) +++ ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/mrp/MrpServices.java Mon Mar 26 20:56:02 2012 @@ -103,9 +103,7 @@ public class MrpServices { } if (listResult != null) { try { - Iterator<GenericValue> listResultIt = listResult.iterator(); - while (listResultIt.hasNext()) { - GenericValue tmpRequirement = listResultIt.next(); + for(GenericValue tmpRequirement : listResult) { listResultRoles.addAll(tmpRequirement.getRelated("RequirementRole")); //int numOfRecordsRemoved = delegator.removeRelated("RequirementRole", tmpRequirement); } @@ -129,10 +127,8 @@ public class MrpServices { } } - GenericValue genericResult = null; Map<String, Object> parameters = null; List<GenericValue> resultList = null; - Iterator<GenericValue> iteratorResult = null; // ---------------------------------------- // Loads all the approved sales order items and purchase order items // ---------------------------------------- @@ -147,7 +143,6 @@ public class MrpServices { notAssignedDate = new Timestamp(calendar.getTimeInMillis()); } resultList = null; - iteratorResult = null; parameters = UtilMisc.<String, Object>toMap("orderTypeId", "SALES_ORDER", "oiStatusId", "ITEM_APPROVED"); parameters.put("facilityId", facilityId); try { @@ -157,9 +152,7 @@ public class MrpServices { Debug.logError(e, "Error : parameters = "+parameters,module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventFindError", locale)); } - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String productId = genericResult.getString("productId"); BigDecimal reservedQuantity = genericResult.getBigDecimal("reservedQuantity"); BigDecimal shipGroupQuantity = genericResult.getBigDecimal("quantity"); @@ -211,7 +204,6 @@ public class MrpServices { // Loads all the approved product requirements (po requirements) // ---------------------------------------- resultList = null; - iteratorResult = null; parameters = UtilMisc.<String, Object>toMap("requirementTypeId", "PRODUCT_REQUIREMENT", "statusId", "REQ_APPROVED", "facilityId", facilityId); try { @@ -219,9 +211,7 @@ public class MrpServices { } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventFindError", locale)); } - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String productId = genericResult.getString("productId"); BigDecimal eventQuantityTmp = genericResult.getBigDecimal("quantity"); if (productId == null || eventQuantityTmp == null) { @@ -244,7 +234,6 @@ public class MrpServices { // Loads all the approved purchase order items // ---------------------------------------- resultList = null; - iteratorResult = null; String orderId = null; GenericValue orderDeliverySchedule = null; try { @@ -259,9 +248,7 @@ public class MrpServices { } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventFindError", locale)); } - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String newOrderId = genericResult.getString("orderId"); if (!newOrderId.equals(orderId)) { orderDeliverySchedule = null; @@ -321,14 +308,11 @@ public class MrpServices { // PRODUCTION Run: components // ---------------------------------------- resultList = null; - iteratorResult = null; parameters = UtilMisc.<String, Object>toMap("workEffortGoodStdTypeId", "PRUNT_PROD_NEEDED", "statusId", "WEGS_CREATED", "facilityId", facilityId); try { resultList = delegator.findByAnd("WorkEffortAndGoods", parameters); - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { if ("PRUN_CLOSED".equals(genericResult.getString("currentStatusId")) || "PRUN_COMPLETED".equals(genericResult.getString("currentStatusId")) || "PRUN_CANCELLED".equals(genericResult.getString("currentStatusId"))) { @@ -359,14 +343,11 @@ public class MrpServices { // PRODUCTION Run: product produced // ---------------------------------------- resultList = null; - iteratorResult = null; parameters = UtilMisc.<String, Object>toMap("workEffortGoodStdTypeId", "PRUN_PROD_DELIV", "statusId", "WEGS_CREATED", "workEffortTypeId", "PROD_ORDER_HEADER", "facilityId", facilityId); try { resultList = delegator.findByAnd("WorkEffortAndGoods", parameters); - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { if ("PRUN_CLOSED".equals(genericResult.getString("currentStatusId")) || "PRUN_COMPLETED".equals(genericResult.getString("currentStatusId")) || "PRUN_CANCELLED".equals(genericResult.getString("currentStatusId"))) { @@ -402,7 +383,6 @@ public class MrpServices { // Products without upcoming events but that are already under minimum quantity in warehouse // ---------------------------------------- resultList = null; - iteratorResult = null; parameters = UtilMisc.<String, Object>toMap("facilityId", facilityId); try { resultList = delegator.findByAnd("ProductFacility", parameters); @@ -410,9 +390,7 @@ public class MrpServices { Debug.logError(e, "Unable to retrieve ProductFacility records.", module); return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpCannotFindProductFacility", locale)); } - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String productId = genericResult.getString("productId"); BigDecimal minimumStock = genericResult.getBigDecimal("minimumStock"); if (minimumStock == null) { @@ -444,7 +422,6 @@ public class MrpServices { // SALES FORECASTS // ---------------------------------------- resultList = null; - iteratorResult = null; GenericValue facility = null; try { facility = delegator.findOne("Facility", UtilMisc.toMap("facilityId", facilityId), false); @@ -457,9 +434,7 @@ public class MrpServices { } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpCannotFindSalesForecasts", locale)); } - iteratorResult = resultList.iterator(); - while (iteratorResult.hasNext()) { - genericResult = iteratorResult.next(); + for(GenericValue genericResult : resultList) { String customTimePeriodId = genericResult.getString("customTimePeriodId"); GenericValue customTimePeriod = null; try { @@ -472,24 +447,21 @@ public class MrpServices { continue; } else { List<GenericValue> salesForecastDetails = null; - Iterator<GenericValue> sfdIter = null; try { salesForecastDetails = delegator.findByAnd("SalesForecastDetail", UtilMisc.toMap("salesForecastId", genericResult.getString("salesForecastId"))); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpCannotFindSalesForecastDetails", locale)); } - sfdIter = salesForecastDetails.iterator(); - while (sfdIter.hasNext()) { - genericResult = sfdIter.next(); - String productId = genericResult.getString("productId"); - BigDecimal eventQuantityTmp = genericResult.getBigDecimal("quantity"); + for(GenericValue sfd : salesForecastDetails) { + String productId = sfd.getString("productId"); + BigDecimal eventQuantityTmp = sfd.getBigDecimal("quantity"); if (productId == null || eventQuantityTmp == null) { continue; } eventQuantityTmp = eventQuantityTmp.negate(); parameters = UtilMisc.toMap("mrpId", mrpId, "productId", productId, "eventDate", customTimePeriod.getDate("fromDate"), "mrpEventTypeId", "SALES_FORECAST"); try { - InventoryEventPlannedServices.createOrUpdateMrpEvent(parameters, eventQuantityTmp, null, genericResult.getString("salesForecastDetailId"), false, delegator); + InventoryEventPlannedServices.createOrUpdateMrpEvent(parameters, eventQuantityTmp, null, sfd.getString("salesForecastDetailId"), false, delegator); } catch (GenericEntityException e) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpEventProblemInitializing", UtilMisc.toMap("mrpEventTypeId", "SALES_FORECAST"), locale)); } @@ -564,9 +536,7 @@ public class MrpServices { Delegator delegator = product.getDelegator(); if (UtilValidate.isNotEmpty(listComponent)) { - Iterator<BOMNode> listComponentIter = listComponent.iterator(); - while (listComponentIter.hasNext()) { - BOMNode node = listComponentIter.next(); + for(BOMNode node : listComponent) { GenericValue productComponent = node.getProductAssoc(); // read the startDate for the component String routingTask = node.getProductAssoc().getString("routingWorkEffortId"); @@ -629,9 +599,7 @@ public class MrpServices { if (UtilValidate.isEmpty(facilities)) { return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ManufacturingMrpFacilityGroupIsNotAssociatedToFacility", UtilMisc.toMap("facilityGroupId", facilityGroupId), locale)); } - Iterator<GenericValue> facilitiesIt = facilities.iterator(); - while (facilitiesIt.hasNext()) { - GenericValue facilityMember = facilitiesIt.next(); + for(GenericValue facilityMember : facilities) { GenericValue facility = facilityMember.getRelatedOne("Facility"); if ("WAREHOUSE".equals(facility.getString("facilityTypeId")) && UtilValidate.isEmpty(facilityId)) { facilityId = facility.getString("facilityId"); @@ -672,7 +640,6 @@ public class MrpServices { Map<String, Object> parameters = null; List<GenericValue> listInventoryEventForMRP = null; ListIterator<GenericValue> iteratorListInventoryEventForMRP = null; - GenericValue inventoryEventForMRP = null; // Initialization of the MrpEvent table, This table will contain the products we want to buy or build. parameters = UtilMisc.<String, Object>toMap("mrpId", mrpId, "reInitialize", Boolean.TRUE, "defaultYearsOffset", defaultYearsOffset, "userLogin", userLogin); @@ -703,11 +670,9 @@ public class MrpServices { if (UtilValidate.isNotEmpty(listInventoryEventForMRP)) { bomLevelWithNoEvent = 0; - iteratorListInventoryEventForMRP = listInventoryEventForMRP.listIterator(); oldProductId = ""; - while (iteratorListInventoryEventForMRP.hasNext()) { - inventoryEventForMRP = iteratorListInventoryEventForMRP.next(); + for(GenericValue inventoryEventForMRP : listInventoryEventForMRP) { productId = inventoryEventForMRP.getString("productId"); eventQuantity = inventoryEventForMRP.getBigDecimal("quantity"); Modified: ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/TechDataServices.java URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/TechDataServices.java?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/TechDataServices.java (original) +++ ofbiz/branches/20111205EmailHandling/applications/manufacturing/src/org/ofbiz/manufacturing/techdata/TechDataServices.java Mon Mar 26 20:56:02 2012 @@ -132,9 +132,7 @@ public class TechDataServices { } if (listRoutingTaskAssoc != null) { - Iterator<GenericValue> i = listRoutingTaskAssoc.iterator(); - while (i.hasNext()) { - GenericValue routingTaskAssoc = i.next(); + for(GenericValue routingTaskAssoc : listRoutingTaskAssoc) { if (! workEffortIdFrom.equals(routingTaskAssoc.getString("workEffortIdFrom")) || ! workEffortIdTo.equals(routingTaskAssoc.getString("workEffortIdTo")) || ! workEffortAssocTypeId.equals(routingTaskAssoc.getString("workEffortAssocTypeId")) || Modified: ofbiz/branches/20111205EmailHandling/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml (original) +++ ofbiz/branches/20111205EmailHandling/applications/manufacturing/webapp/manufacturing/WEB-INF/controller.xml Mon Mar 26 20:56:02 2012 @@ -466,7 +466,7 @@ under the License. </request-map> <request-map uri="ShowProductionRun"> <security https="true" auth="true"/> - <event type="groovy" path="component://manufacturing/webapp/manufacturing/jobshopmgt/" invoke="ShowProductionRun.groovy"/> + <event type="groovy" path="component://manufacturing/webapp/manufacturing/jobshopmgt/ShowProductionRun.groovy"/> <response name="docs_not_printed" type="view" value="EditProductionRun"/> <response name="docs_printed" type="view" value="ProductionRunDeclaration"/> <response name="error" type="view" value="FindProductionRun"/> Modified: ofbiz/branches/20111205EmailHandling/applications/marketing/config/MarketingUiLabels.xml URL: http://svn.apache.org/viewvc/ofbiz/branches/20111205EmailHandling/applications/marketing/config/MarketingUiLabels.xml?rev=1305581&r1=1305580&r2=1305581&view=diff ============================================================================== --- ofbiz/branches/20111205EmailHandling/applications/marketing/config/MarketingUiLabels.xml (original) +++ ofbiz/branches/20111205EmailHandling/applications/marketing/config/MarketingUiLabels.xml Mon Mar 26 20:56:02 2012 @@ -27,6 +27,7 @@ <value xml:lang="pt_BR">Custo real</value> <value xml:lang="ro">Cost Actual</value> <value xml:lang="th">ราà¸à¸²à¸à¸£à¸´à¸</value> + <value xml:lang="vi">Chi phà thá»±c tế</value> <value xml:lang="zh">å®é è´¹ç¨</value> <value xml:lang="zh_TW">實éè²»ç¨</value> </property> @@ -68,6 +69,7 @@ <value xml:lang="fr">Prospects convertis</value> <value xml:lang="it">Leads convertiti</value> <value xml:lang="pt_BR">Leads concretizados</value> + <value xml:lang="vi">Các Äầu má»i ÄÆ°á»£c chuyá»n Äá»i</value> <value xml:lang="zh">转åäºç线索</value> <value xml:lang="zh_TW">è½åäºçç·ç´¢</value> </property> @@ -197,6 +199,7 @@ <value xml:lang="pt_BR">Campanha de Marketing</value> <value xml:lang="ro">Campania Vanzare</value> <value xml:lang="th">à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Chiến dá»ch tiếp thá»</value> <value xml:lang="zh">å¸åºæ»å¿</value> <value xml:lang="zh_TW">è¡é·æ´»å</value> </property> @@ -210,6 +213,7 @@ <value xml:lang="pt_BR">Criar Campanha de Marketing</value> <value xml:lang="ro">Creare Campanie Vanzare</value> <value xml:lang="th">สรà¹à¸²à¸à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Tạo Chiến dá»ch tiếp thá»</value> <value xml:lang="zh">æ°å»ºå¸åºæ»å¿</value> <value xml:lang="zh_TW">æ°å»ºè¡é·æ´»å</value> </property> @@ -223,6 +227,7 @@ <value xml:lang="pt_BR">ID de Campanha de Marketing</value> <value xml:lang="ro">Cod Campanie Vanzare</value> <value xml:lang="th">รหัสà¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Mã chiến dá»ch tiếp thá»</value> <value xml:lang="zh">å¸åºæ»å¿æ è¯</value> <value xml:lang="zh_TW">è¡é·æ´»åID</value> </property> @@ -234,6 +239,7 @@ <value xml:lang="nl">Fout emailadres opgegeven.</value> <value xml:lang="pt_BR">Endereço de e-mail inválido</value> <value xml:lang="th">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¸à¸à¸à¸à¸µà¹à¸¡à¸¥à¹à¹à¸¡à¹à¹à¸à¹</value> + <value xml:lang="vi">Äá»a chá» email nháºp và o không phù hợp.</value> <value xml:lang="zh">è¾å ¥ççµåé®ä»¶å°åæ æã</value> <value xml:lang="zh_TW">è¼¸å ¥çé»åéµä»¶ä½åç¡æã</value> </property> @@ -247,6 +253,7 @@ <value xml:lang="pt_BR">Nome de campanha</value> <value xml:lang="ro">Nume Campanie</value> <value xml:lang="th">à¸à¸·à¹à¸à¹à¸à¸£à¸à¸à¸²à¸£</value> + <value xml:lang="vi">Tên chiến dá»ch</value> <value xml:lang="zh">æ»å¿åç§°</value> <value xml:lang="zh_TW">æ´»åå稱</value> </property> @@ -260,6 +267,7 @@ <value xml:lang="pt_BR">Relatório de campanha de marketing</value> <value xml:lang="ro">Tiparire Campanie de Vanzare</value> <value xml:lang="th">รายà¸à¸²à¸à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Báo cáo chiến dá»ch tiếp thá»</value> <value xml:lang="zh">å¸åºæ»å¿æ¥å</value> <value xml:lang="zh_TW">è¡é·æ´»åå ±å</value> </property> @@ -273,6 +281,7 @@ <value xml:lang="pt_BR">Criar papel de campanha de marketig</value> <value xml:lang="ro">Creare Rol Campanie Vanzare</value> <value xml:lang="th">สรà¹à¸²à¸à¸ªà¸à¸²à¸à¸°à¸à¸²à¸£à¸§à¸²à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Khá»i tạo vai trò trong chiến dá»ch</value> <value xml:lang="zh">æ°å»ºå¸åºæ»å¿è§è²</value> <value xml:lang="zh_TW">æ°å»ºè¡é·æ´»åè§è²</value> </property> @@ -286,6 +295,7 @@ <value xml:lang="pt_BR">Descrição da campanha</value> <value xml:lang="ro">Sumar Campanie</value> <value xml:lang="th">สรุà¸à¹à¸à¸£à¸à¸à¸²à¸£</value> + <value xml:lang="vi">Tóm tắt chiến dá»ch</value> <value xml:lang="zh">æ»å¿æè¦</value> <value xml:lang="zh_TW">æ´»åæè¦</value> </property> @@ -299,6 +309,7 @@ <value xml:lang="pt_BR">OFBiz: Gerente de Marketing</value> <value xml:lang="ro">OFBiz: Gestione Vendite</value> <value xml:lang="th">OFBiz: à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">OFBiz: Quản lý tiếp thá»</value> <value xml:lang="zh">OFBiz: å¸åºå®£ä¼ 管ç</value> <value xml:lang="zh_TW">OFBiz: è¡é·ç®¡ç</value> </property> @@ -329,6 +340,7 @@ <value xml:lang="pt_BR">Lista de contatos</value> <value xml:lang="ro">Lista Contact</value> <value xml:lang="th">รายà¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Danh sách liên há»</value> <value xml:lang="zh">èç³»å表</value> <value xml:lang="zh_TW">è¯ç³»å表</value> </property> @@ -341,6 +353,7 @@ <value xml:lang="pt_BR">Criar envento de comunicação</value> <value xml:lang="ro">Creare Noua Lista Contact Eveniment Comunicatie</value> <value xml:lang="th">สรà¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸¥à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i danh sách liên há» cho sá»± kiá»n</value> <value xml:lang="zh">æ°å»ºèç³»å表æ²éäºä»¶</value> <value xml:lang="zh_TW">æ°å»ºè¯ç³»å表æºéäºä»¶</value> </property> @@ -353,6 +366,7 @@ <value xml:lang="pt_BR">ID de evento de comunicação</value> <value xml:lang="ro">Cod Eveniment Comunicatie</value> <value xml:lang="th">รหัสà¸à¸¥à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Mã sá»± kiá»n truyá»n thông</value> <value xml:lang="zh">æ²éäºä»¶æ è¯</value> <value xml:lang="zh_TW">éè¨äºä»¶ID</value> </property> @@ -370,6 +384,7 @@ <property key="MarketingContactListCommStatus"> <value xml:lang="en">Contact List Communication Status</value> <value xml:lang="pt_BR">Estado da comunicação com Lista de contatos</value> + <value xml:lang="vi">Tình trạng danh sách liên há» truyá»n thông</value> <value xml:lang="zh">èç³»å表æ²éç¶æ</value> <value xml:lang="zh_TW">è¯çµ¡å表æºéçæ </value> </property> @@ -382,6 +397,7 @@ <value xml:lang="pt_BR">ID de lista de contatos</value> <value xml:lang="ro">Cod Lista Contact</value> <value xml:lang="th">รหัสรายà¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Mã danh sách liên há»</value> <value xml:lang="zh">èç³»å表æ è¯</value> <value xml:lang="zh_TW">è¯çµ¡å表ID</value> </property> @@ -394,6 +410,7 @@ <value xml:lang="pt_BR">Nome da lista de contatos</value> <value xml:lang="ro">Nume Lista Contact</value> <value xml:lang="th">รายà¸à¸·à¹à¸à¸à¸µà¹à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Tên danh sách liên há»</value> <value xml:lang="zh">èç³»å表åç§°</value> <value xml:lang="zh_TW">è¯ç³»å表å稱</value> </property> @@ -406,6 +423,7 @@ <value xml:lang="pt_BR">ID do tipo de lista de contato</value> <value xml:lang="ro">Tip Lista Contact</value> <value xml:lang="th">รหัสà¸à¸£à¸°à¹à¸ à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Mã phân loại danh sách liên há»</value> <value xml:lang="zh">èç³»åè¡¨ç±»åæ è¯</value> <value xml:lang="zh_TW">è¯çµ¡å表é¡åID</value> </property> @@ -430,6 +448,7 @@ <value xml:lang="pt_BR">Criar nova lista de contatos</value> <value xml:lang="ro">Creare Noua Lista Contact</value> <value xml:lang="th">สรà¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i danh sách liên há»</value> <value xml:lang="zh">æ°å»ºèç³»å表</value> <value xml:lang="zh_TW">æ°å»ºè¯ç³»å表</value> </property> @@ -441,6 +460,7 @@ <value xml:lang="pt_BR">Encontrar lista de contato</value> <value xml:lang="ro">Cauta Liste Contact</value> <value xml:lang="th">à¸à¹à¸à¸«à¸²à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸</value> + <value xml:lang="vi">Tìm kiếm danh sách liên há»</value> <value xml:lang="zh">æ¥æ¾èç³»å表</value> <value xml:lang="zh_TW">æ¥æ¾è¯ç³»å表</value> </property> @@ -454,6 +474,7 @@ <value xml:lang="pt_BR">à pública ?</value> <value xml:lang="ro">Este Public ?</value> <value xml:lang="th">à¹à¸à¹à¸à¸ªà¸²à¸à¸²à¸£à¸à¸° ?</value> + <value xml:lang="vi">Nó ÄÆ°á»£c phá» biến không ?</value> <value xml:lang="zh">å ¬å¼å?</value> <value xml:lang="zh_TW">å ¬éå?</value> </property> @@ -466,6 +487,7 @@ <value xml:lang="pt_BR">à de uso único ?</value> <value xml:lang="ro">Este pentru un unic utilizatir?</value> <value xml:lang="th">à¹à¸à¹à¹à¸à¹à¸à¸£à¸±à¹à¸à¹à¸à¸µà¸¢à¸§ ?</value> + <value xml:lang="vi">Nó ÄÆ°á»£c sá» dụng Äá»c láºp không ?</value> <value xml:lang="zh">åä¸ç¨éå?</value> <value xml:lang="zh_TW">å®ä¸ç¨éå?</value> </property> @@ -477,6 +499,7 @@ <value xml:lang="pt_BR">Não foi possÃvel encontrar lista de e-mail [${contactListId}].</value> <value xml:lang="ro">Nu este posibila gasirea listei e-mail [${contactListId}].</value> <value xml:lang="th">à¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¹à¸à¸«à¸²à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸ [${contactListId}]</value> + <value xml:lang="vi">Không tìm thấy danh sách email [${contactListId}].</value> <value xml:lang="zh">æ æ³æ¾å°çµåé®ä»¶å表 [${contactListId}]ã</value> <value xml:lang="zh_TW">ç¡æ³æ¾å°é»åéµä»¶å表 [${contactListId}]ã</value> </property> @@ -511,6 +534,7 @@ <value xml:lang="pt_BR">ID do proprietário</value> <value xml:lang="ro">Cod Subiect Proprietar</value> <value xml:lang="th">รหัสà¸à¸à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹</value> + <value xml:lang="vi">Mã Äá»i tượng sá» hữu</value> <value xml:lang="zh">æ¥æäººä¼åæ è¯</value> <value xml:lang="zh_TW">ææè æå¡ID</value> </property> @@ -523,6 +547,7 @@ <value xml:lang="pt_BR">Participante de Lista de contatos</value> <value xml:lang="ro">Lista Contacte Subiecti</value> <value xml:lang="th">รายà¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹</value> + <value xml:lang="vi">Danh sách liên há» tá»i Äá»i tượng</value> <value xml:lang="zh">èç³»å表ä¼å</value> <value xml:lang="zh_TW">è¯çµ¡å表æå¡</value> </property> @@ -535,6 +560,7 @@ <value xml:lang="pt_BR">Criar novo participante de lista de contatos</value> <value xml:lang="ro">Creare Noua Lista Contact Subiect</value> <value xml:lang="th">สรà¹à¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸´à¸à¸à¹à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i danh sách liên há» tá»i Äá»i tượng</value> <value xml:lang="zh">æ°å»ºèç³»å表ä¼å</value> <value xml:lang="zh_TW">æ°å»ºè¯çµ¡å表æå¡</value> </property> @@ -548,12 +574,14 @@ <value xml:lang="pt_BR">ID de participante</value> <value xml:lang="ro">Cod Subiect</value> <value xml:lang="th">รหัสà¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹</value> + <value xml:lang="vi">Mã Äá»i tượng</value> <value xml:lang="zh">ä¼åæ è¯</value> <value xml:lang="zh_TW">æå¡ID</value> </property> <property key="MarketingContactListPartiesImport"> <value xml:lang="en">Import Parties</value> <value xml:lang="th">à¸à¸³à¹à¸à¹à¸²à¸à¸¥à¸¸à¹à¸¡à¸à¸¹à¹à¹à¸à¹</value> + <value xml:lang="vi">Nháºp và o các Äá»i tượng</value> </property> <property key="MarketingContactListPreferredContactMech"> <value xml:lang="en">Preferred Contact Mechanism</value> @@ -577,6 +605,7 @@ <value xml:lang="pt_BR">Verificação de e-mail de origem</value> <value xml:lang="ro">Verifica Email De la</value> <value xml:lang="th">à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸µà¹à¸¡à¸¥à¹à¸à¸²à¸</value> + <value xml:lang="vi">Xác nháºn email từ</value> <value xml:lang="zh">éªè¯çµåé®ä»¶æ¥èª</value> <value xml:lang="zh_TW">é©è¨¼é»åéµä»¶ä¾èª</value> </property> @@ -590,6 +619,7 @@ <value xml:lang="pt_BR">Tela de verificação de e-mail</value> <value xml:lang="ro">Verifica Email Videata</value> <value xml:lang="th">à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸µà¹à¸¡à¸¥à¹</value> + <value xml:lang="vi">Mà n hình xác nháºn email</value> <value xml:lang="zh">éªè¯çµåé®ä»¶å±å¹</value> <value xml:lang="zh_TW">é©è¨¼é»åéµä»¶è¢å¹</value> </property> @@ -661,6 +691,7 @@ <value xml:lang="en">Email Status Report</value> <value xml:lang="it">Report stato e-mail</value> <value xml:lang="pt_BR">Relatório de estado de e-mail</value> + <value xml:lang="vi">Báo cáo tình trạng email</value> </property> <property key="MarketingFindAccounts"> <value xml:lang="en">Find SFA Accounts</value> @@ -668,6 +699,7 @@ <value xml:lang="it">Ricerca utenze SFA</value> <value xml:lang="pt_BR">Encontrar contas da equipe de vendas</value> <value xml:lang="th">à¸à¹à¸à¸«à¸² Account</value> + <value xml:lang="vi">Tìm kiếm tà i khoản bán hà ng</value> <value xml:lang="zh">æ¥æ¾éå®ç®¡çè´¦æ·</value> <value xml:lang="zh_TW">æ¥æ¾é·å®ç®¡ç賬æ¶</value> </property> @@ -676,12 +708,14 @@ <value xml:lang="fr">Rechercher des contacts</value> <value xml:lang="pt_BR">Encontrar contatos da equipe de vendas</value> <value xml:lang="th">à¸à¹à¸à¸«à¸² Contact</value> + <value xml:lang="vi">Tìm kiến liên há» bán hà ng</value> </property> <property key="MarketingFindLeads"> <value xml:lang="en">Find SFA Leads</value> <value xml:lang="fr">Rechercher des prospects</value> <value xml:lang="pt_BR">Buscar Leads da equipe de vendas</value> <value xml:lang="th">à¸à¹à¸à¸«à¸² Lead</value> + <value xml:lang="vi">Tìm Äầu má»i bán hà ng</value> </property> <property key="MarketingMainPage"> <value xml:lang="de">Haupt</value> @@ -693,6 +727,7 @@ <value xml:lang="pt_BR">Principal</value> <value xml:lang="ro">Pagina Principala</value> <value xml:lang="th">หà¸à¹à¸²à¸«à¸¥à¸±à¸</value> + <value xml:lang="vi">Trang chÃnh</value> <value xml:lang="zh">é¦é¡µ</value> <value xml:lang="zh_TW">é¦é </value> </property> @@ -705,6 +740,7 @@ <value xml:lang="pt_BR">Gestão de Marketing</value> <value xml:lang="ro">Aplicatie Gestiune Vanzare</value> <value xml:lang="th">à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸£à¸°à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Quản lý tiếp thá»</value> <value xml:lang="zh">å¸åºç®¡çåºç¨ç¨åº</value> <value xml:lang="zh_TW">è¡é·ç®¡ç</value> </property> @@ -717,6 +753,7 @@ <value xml:lang="pt_BR">Aplicação de Gestão de Marketing</value> <value xml:lang="ro">Aplicatie Gestiune Vanzare</value> <value xml:lang="th">à¹à¸à¸£à¹à¸à¸£à¸¡à¸à¸£à¸°à¸¢à¸¸à¸à¸à¹à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Ứng dụng quản lý tiếp thá»</value> <value xml:lang="zh">å¸åºç®¡çåºç¨ç¨åº</value> <value xml:lang="zh_TW">è¡é·ç®¡çæç¨ç¨å¼</value> </property> @@ -726,6 +763,7 @@ <value xml:lang="it">Benvenuto nell'applicazione gestione vendite!</value> <value xml:lang="pt_BR">Bem-vindo à aplicação de Gestão de Marketing</value> <value xml:lang="th">ยิà¸à¸à¸µà¸à¹à¸à¸à¸£à¸±à¸à¸ªà¸¹à¹à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸£à¸à¸²à¸à¸à¸²à¸£à¸à¸¥à¸²à¸</value> + <value xml:lang="vi">Chà o mừng bạn Äến vá»i Ứng dụng quản lý tiếp thá»!</value> <value xml:lang="zh">欢è¿ä½¿ç¨å¸åºç®¡çç¨åºï¼</value> <value xml:lang="zh_TW">æ¡è¿ä½¿ç¨è¡é·ç®¡çç¨å¼ï¼</value> </property> @@ -735,6 +773,7 @@ <value xml:lang="fr">N° des employés</value> <value xml:lang="it">N. di impiegati</value> <value xml:lang="pt_BR">Número de empregados</value> + <value xml:lang="vi">Không có nhân viên nà o</value> <value xml:lang="zh">éåæ°é</value> <value xml:lang="zh_TW">é塿¸é</value> </property> @@ -777,6 +816,7 @@ <value xml:lang="en">Party Status Report</value> <value xml:lang="it">Report stato soggetti</value> <value xml:lang="pt_BR">Relatório de estado de participante</value> + <value xml:lang="vi">Báo cáo tình trạng Äá»i tượng</value> </property> <property key="MarketingReports"> <value xml:lang="de">Berichte</value> @@ -788,6 +828,7 @@ <value xml:lang="pt_BR">Relatórios</value> <value xml:lang="ro">Tiparire</value> <value xml:lang="th">รายà¸à¸²à¸</value> + <value xml:lang="vi">Báo cáo</value> <value xml:lang="zh">æ¥å</value> <value xml:lang="zh_TW">å ±å</value> </property> @@ -799,6 +840,7 @@ <value xml:lang="pt_BR">Segmento</value> <value xml:lang="ro">Segment</value> <value xml:lang="th">à¸à¸¥à¸¸à¹à¸¡</value> + <value xml:lang="vi">Phân Äoạn</value> <value xml:lang="zh">ååº</value> <value xml:lang="zh_TW">åå</value> </property> @@ -811,6 +853,7 @@ <value xml:lang="pt_BR">Criar grupo de classificação de segmento</value> <value xml:lang="ro">Creare Noua Clasificare Grup Segment</value> <value xml:lang="th">สรà¹à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¹à¸à¹à¸à¸à¸£à¸°à¹à¸ à¸à¸à¸à¸à¸à¸¥à¸¸à¹à¸¡à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i các lá»p cho nhóm phân Äoạn</value> <value xml:lang="zh">æ°å»ºååºç»åç±»</value> <value xml:lang="zh_TW">æ°å»ºååçµåé¡</value> </property> @@ -823,6 +866,7 @@ <value xml:lang="pt_BR">Criar novo grupo de segmento</value> <value xml:lang="ro">Creare Nou Grup Segment</value> <value xml:lang="th">สรà¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¸à¸¥à¸¸à¹à¸¡à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i các nhóm phân Äoạn</value> <value xml:lang="zh">æ°å»ºååºç»</value> <value xml:lang="zh_TW">æ°å»ºååçµ</value> </property> @@ -830,6 +874,7 @@ <value xml:lang="en">Error on creation Segment Group</value> <value xml:lang="it">Errore durante la creazione di un nuovo gruppo segmento</value> <value xml:lang="pt_BR">Erro ao criar grupo de segmento</value> + <value xml:lang="vi">Lá»i trong viá»c khá»i tạo nhóm phân Äoạn</value> <value xml:lang="zh">å建ååºç»æ¶åºé</value> <value xml:lang="zh_TW">åµå»ºååçµæåºé¯</value> </property> @@ -837,6 +882,7 @@ <value xml:lang="en">Error on delete Segment Group</value> <value xml:lang="it">Errore durante la cancellazione di un gruppo segmento</value> <value xml:lang="pt_BR">Erro ao excluir grupo de segmento</value> + <value xml:lang="vi">Lá»i trong viá»c xóa nhóm phân Äoạn</value> <value xml:lang="zh">å é¤ååºç»æ¶åºé</value> <value xml:lang="zh_TW">åªé¤ååçµæåºé¯</value> </property> @@ -850,6 +896,7 @@ <value xml:lang="pt_BR">Descrição</value> <value xml:lang="ro">Descriere</value> <value xml:lang="th">รายละà¹à¸à¸µà¸¢à¸</value> + <value xml:lang="vi">Mô tả</value> <value xml:lang="zh">æè¿°</value> <value xml:lang="zh_TW">æè¿°</value> </property> @@ -862,6 +909,7 @@ <value xml:lang="pt_BR">Criar nova localização de grupo de segmento</value> <value xml:lang="ro">Creare Nou Grup Segment Geografie</value> <value xml:lang="th">สรà¹à¸²à¸à¸ªà¹à¸§à¸à¸à¸à¸à¹à¸à¸£à¸à¸ªà¸£à¹à¸²à¸à¸à¸¥à¸¸à¹à¸¡à¹à¸«à¸¡à¹</value> + <value xml:lang="vi">Tạo má»i nhóm phân Äoạn Äá»a lý</value> <value xml:lang="zh">æ°å»ºååºç»å°ç</value> <value xml:lang="zh_TW">æ°å»ºååçµå°ç</value> </property> @@ -1031,6 +1079,7 @@ <value xml:lang="pt_BR">Rastreio</value> <value xml:lang="ro">Traseu</value> <value xml:lang="th">à¸à¸²à¸£à¸à¸´à¸à¸à¸²à¸¡</value> + <value xml:lang="vi">Truy vết</value> <value xml:lang="zh">è·è¸ª</value> <value xml:lang="zh_TW">è·è¹¤</value> </property> @@ -1042,6 +1091,7 @@ <value xml:lang="pt_BR">Código para rastreio</value> <value xml:lang="ro">Cod Traseu</value> <value xml:lang="th">รหัส Tracking</value> + <value xml:lang="vi">Mã truy vết</value> <value xml:lang="zh">è·è¸ªç </value> <value xml:lang="zh_TW">è·è¹¤ç¢¼</value> </property> @@ -1236,6 +1286,7 @@ <value xml:lang="pt_BR">Relatório de código de rastreio</value> <value xml:lang="ro">Tiparire Cod Traseu</value> <value xml:lang="th">รหัส Tracking</value> + <value xml:lang="vi">Báo cáo mã truy vết</value> <value xml:lang="zh">è·è¸ªç æ¥å</value> <value xml:lang="zh_TW">è·è¹¤ç¢¼å ±å</value> </property> @@ -1247,6 +1298,7 @@ <value xml:lang="pt_BR">ID de subgrupo</value> <value xml:lang="ro">Cod Sub-Grup</value> <value xml:lang="th">รหัสà¸à¸¥à¸¸à¹à¸¡à¸¢à¹à¸à¸¢</value> + <value xml:lang="vi">Mã nhóm cấp dưá»i</value> <value xml:lang="zh">ä¸çº§ç»æ è¯</value> <value xml:lang="zh_TW">次ç´ç¾¤çµID</value> </property> @@ -1258,6 +1310,7 @@ <value xml:lang="pt_BR">Tempo de vida</value> <value xml:lang="ro">Traseu Timp de Viata</value> <value xml:lang="th">à¹à¸ªà¹à¸à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸à¸¥à¸à¸à¹à¸§à¸¥à¸²</value> + <value xml:lang="vi">Tiến trình truy vết</value> <value xml:lang="zh">å¯è·è¸ªæé</value> <value xml:lang="zh_TW">追蹤æé</value> </property> @@ -1269,6 +1322,7 @@ <value xml:lang="pt_BR">ID de código de rastreio</value> <value xml:lang="ro">Code Traseu</value> <value xml:lang="th">รหัส Tracking</value> + <value xml:lang="vi">Mã truy vết</value> <value xml:lang="zh">è·è¸ªç æ è¯</value> <value xml:lang="zh_TW">追蹤碼ID</value> </property> @@ -1280,6 +1334,7 @@ <value xml:lang="pt_BR">ID de tipo de código de rastreio</value> <value xml:lang="ro">Tip Traseu</value> <value xml:lang="th">รหัสà¸à¸£à¸°à¹à¸ à¸à¸£à¸«à¸±à¸ª Tracking</value> + <value xml:lang="vi">Mã phân loại truy vết</value> <value xml:lang="zh">è·è¸ªç ç±»åæ è¯</value> <value xml:lang="zh_TW">追蹤碼é¡åID</value> </property> @@ -1291,6 +1346,7 @@ <value xml:lang="pt_BR">Tipo de código de rastreio</value> <value xml:lang="ro">Tip Cod Traseu</value> <value xml:lang="th">à¸à¸£à¸°à¹à¸ à¸à¸£à¸«à¸±à¸ª Tracking</value> + <value xml:lang="vi">Phân loại mã truy vết</value> <value xml:lang="zh">è·è¸ªç ç±»å</value> <value xml:lang="zh_TW">è·è¹¤ç¢¼é¡å</value> </property> @@ -1302,6 +1358,7 @@ <value xml:lang="pt_BR">Criar tipo de código de rastreio</value> <value xml:lang="ro">Creare Tip Traseu</value> <value xml:lang="th">สรà¹à¸²à¸à¸à¸£à¸°à¹à¸ à¸à¸£à¸«à¸±à¸ª Tracking</value> + <value xml:lang="vi">Tạo loại mã truy vết</value> <value xml:lang="zh">æ°å»ºè·è¸ªç ç±»å</value> <value xml:lang="zh_TW">æ°å»ºè·è¹¤ç¢¼é¡å</value> </property> @@ -1314,6 +1371,7 @@ <value xml:lang="pt_BR">Descrição</value> <value xml:lang="ro">Descriere</value> <value xml:lang="th">รายละà¹à¸à¸µà¸¢à¸</value> + <value xml:lang="vi">Mô tả</value> <value xml:lang="zh">æè¿°</value> <value xml:lang="zh_TW">æè¿°</value> </property> @@ -1586,6 +1644,7 @@ <value xml:lang="fr">Créer un prospect depuis une vCard</value> <value xml:lang="it">Creare lead dalla vCard</value> <value xml:lang="pt_BR">Criar novo Lead a partir do vCard</value> + <value xml:lang="vi">Tạo Äầu má»i từ vCard</value> <value xml:lang="zh">ä»vCardæ°å»ºçº¿ç´¢</value> <value xml:lang="zh_TW">å¾vCardæ°å»ºç·ç´¢</value> </property> @@ -1595,6 +1654,7 @@ <value xml:lang="fr">Modifier le compte</value> <value xml:lang="it">Aggiornare utente</value> <value xml:lang="pt_BR">Editar conta</value> + <value xml:lang="vi">Chá»nh sá»a tà i khoản</value> <value xml:lang="zh">ç¼è¾è´¦æ·</value> <value xml:lang="zh_TW">編輯賬æ¶</value> </property> @@ -2102,6 +2162,7 @@ <value xml:lang="fr">Comptes</value> <value xml:lang="it">Utenze</value> <value xml:lang="pt_BR">Contas</value> + <value xml:lang="vi">Tà i khoản</value> <value xml:lang="zh">è´¦æ·</value> <value xml:lang="zh_TW">賬æ¶</value> </property> @@ -2130,6 +2191,7 @@ <value xml:lang="fr">Tous les comptes</value> <value xml:lang="pt_BR">Todas contas</value> <value xml:lang="th">Account à¸à¸±à¹à¸à¸«à¸¡à¸</value> + <value xml:lang="vi">Toà n bá» tà i khoản</value> </property> <property key="SfaAllContacts"> <value xml:lang="de">Alle Kontakte</value> @@ -2137,12 +2199,14 @@ <value xml:lang="fr">Tous les contacts</value> <value xml:lang="pt_BR">Todos contatos</value> <value xml:lang="th">Contact à¸à¸±à¹à¸à¸«à¸¡à¸</value> + <value xml:lang="vi">Toà n bá» liên há»</value> </property> <property key="SfaAllLeads"> <value xml:lang="en">All Leads</value> <value xml:lang="fr">Tous les prospects</value> <value xml:lang="pt_BR">Todos Leads</value> <value xml:lang="th">Lead à¸à¸±à¹à¸à¸«à¸¡à¸</value> + <value xml:lang="vi">Toà n bá» Äầu má»i</value> </property> <property key="SfaAssignToMe"> <value xml:lang="de">Zugewiesen an mich</value> @@ -2150,6 +2214,7 @@ <value xml:lang="fr">Me l'assigner</value> <value xml:lang="pt_BR">Designar para mim</value> <value xml:lang="th">à¸à¸³à¸«à¸à¸à¹à¸«à¹à¸à¸±à¸</value> + <value xml:lang="vi">Phân quyá»n cho tôi</value> </property> <property key="SfaAssignedBy"> <value xml:lang="de">Zugewiesen von</value> @@ -2157,6 +2222,7 @@ <value xml:lang="fr">Assigné par</value> <value xml:lang="pt_BR">Designada por</value> <value xml:lang="th">à¸à¸³à¸«à¸à¸à¹à¸à¸¢</value> + <value xml:lang="vi">Phân quyá»n bá»i</value> </property> <property key="SfaAutoCreateContactByImportingVCard"> <value xml:lang="de">Automatisches Erstellen eines neuen Kontaktes bei dem Import einer vCard</value> @@ -2228,6 +2294,7 @@ <value xml:lang="fr">OFBiz: gestion des ventes</value> <value xml:lang="it">OFBiz: Gestione forze di vendita</value> <value xml:lang="pt_BR">OFBiz: gestor da equipe de vendas</value> + <value xml:lang="vi">OFBiz: Quản lý bán hà ng</value> <value xml:lang="zh">OFBiz: éå®ç®¡çç¨åº</value> <value xml:lang="zh_TW">OFBiz: é·å®ç®¡çç¨å¼</value> </property> @@ -2236,6 +2303,7 @@ <value xml:lang="fr">Concurrents & Associés</value> <value xml:lang="it">Competitori e soci</value> <value xml:lang="pt_BR">Concorrentes & Parceiros</value> + <value xml:lang="vi">Äá»i tác</value> <value xml:lang="zh">ç«äºè ååä½ä¼ä¼´</value> <value xml:lang="zh_TW">ç«¶çè ååä½ä¼ä¼´</value> </property> @@ -2244,6 +2312,7 @@ <value xml:lang="en">Complete</value> <value xml:lang="pt_BR">Completo</value> <value xml:lang="th">à¹à¸ªà¸£à¹à¸à¸ªà¸´à¹à¸</value> + <value xml:lang="vi">Hoà n thà nh</value> </property> <property key="SfaContact"> <value xml:lang="de">Kontakt</value> @@ -2251,6 +2320,7 @@ <value xml:lang="fr">Contact</value> <value xml:lang="it">Contatto</value> <value xml:lang="pt_BR">Contato</value> + <value xml:lang="vi">Liên há»</value> <value xml:lang="zh">èç³»</value> <value xml:lang="zh_TW">è¯ç³»</value> </property> @@ -2259,6 +2329,7 @@ <value xml:lang="fr">Contacts</value> <value xml:lang="it">Contatti</value> <value xml:lang="pt_BR">Contatos</value> + <value xml:lang="vi">Liên há»</value> <value xml:lang="zh">èç³»</value> <value xml:lang="zh_TW">è¯ç³»</value> </property> @@ -2268,6 +2339,7 @@ <value xml:lang="fr">Convertir le prospect</value> <value xml:lang="it">Converti lead</value> <value xml:lang="pt_BR">Concretizar Lead</value> + <value xml:lang="vi">Chuyá»n Äá»i Äầu má»i</value> <value xml:lang="zh">转å线索</value> <value xml:lang="zh_TW">è½åç·ç´¢</value> </property> @@ -2312,6 +2384,7 @@ <value xml:lang="fr">Documents</value> <value xml:lang="it">Documenti</value> <value xml:lang="pt_BR">Documentos</value> + <value xml:lang="vi">Tà i liá»u</value> <value xml:lang="zh">ææ¡£</value> <value xml:lang="zh_TW">ææª</value> </property> @@ -2345,6 +2418,7 @@ <value xml:lang="fr">Ãvènements</value> <value xml:lang="it">Eventi</value> <value xml:lang="pt_BR">Eventos</value> + <value xml:lang="vi">Sá»± kiá»n</value> <value xml:lang="zh">äºä»¶</value> <value xml:lang="zh_TW">äºä»¶</value> </property> @@ -2364,12 +2438,14 @@ <value xml:lang="en">Find Account Leads</value> <value xml:lang="pt_BR">Buscar contas de Leads</value> <value xml:lang="th">à¸à¹à¸à¸«à¸² Account Leads</value> + <value xml:lang="vi">Tìm kiếm tà i khoản Äầu má»i</value> </property> <property key="SfaFindAccounts"> <value xml:lang="de">Finde Konten</value> <value xml:lang="en">Find Accounts</value> <value xml:lang="pt_BR">Buscar contas</value> <value xml:lang="th">à¸à¹à¸à¸«à¸² Accounts</value> + <value xml:lang="vi">Tìm kiếm tà i khoản</value> </property> <property key="SfaFindContacts"> <value xml:lang="de">Finde Kontakte</value> @@ -2377,6 +2453,7 @@ <value xml:lang="fr">Rechercher les contacts</value> <value xml:lang="it">Ricerca contatti</value> <value xml:lang="pt_BR">Buscar contatos</value> + <value xml:lang="vi">Tìm kiếm liên há»</value> <value xml:lang="zh">æ¥æ¾èç³»</value> <value xml:lang="zh_TW">æ¥æ¾è¯ç³»</value> </property> @@ -2386,6 +2463,7 @@ <value xml:lang="fr">Recherchers les prospects</value> <value xml:lang="it">Ricerca leads</value> <value xml:lang="pt_BR">Buscar Leads</value> + <value xml:lang="vi">Tìm kiếm Äầu má»i</value> <value xml:lang="zh">æ¥æ¾çº¿ç´¢</value> <value xml:lang="zh_TW">æ¥æ¾ç·ç´¢</value> </property> @@ -2395,6 +2473,7 @@ <value xml:lang="fr">Rechercher les opportunités</value> <value xml:lang="it">Ricerca opportunità </value> <value xml:lang="pt_BR">Buscar oportunidades</value> + <value xml:lang="vi">Tìm kiếm cÆ¡ há»i</value> <value xml:lang="zh">æ¥æ¾æºä¼</value> <value xml:lang="zh_TW">æ¥æ¾æ©æ</value> </property> @@ -2405,6 +2484,7 @@ <value xml:lang="fr">Rechercher les résultats</value> <value xml:lang="it">Ricerca risultati</value> <value xml:lang="pt_BR">Buscar resultados</value> + <value xml:lang="vi">Tìm kiếm kết quả</value> <value xml:lang="zh">æ¥æ¾ç»æ</value> <value xml:lang="zh_TW">æ¥æ¾çµæ</value> </property> @@ -2429,6 +2509,7 @@ <value xml:lang="fr">Prévision</value> <value xml:lang="it">Previsioni</value> <value xml:lang="pt_BR">Previsão</value> + <value xml:lang="vi">Dá»± báo</value> <value xml:lang="zh">颿µ</value> <value xml:lang="zh_TW">é æ¸¬</value> </property> @@ -2482,6 +2563,7 @@ <value xml:lang="fr">Prospects</value> <value xml:lang="it">Leads</value> <value xml:lang="pt_BR">Leads</value> + <value xml:lang="vi">Äầu má»i</value> <value xml:lang="zh">线索</value> <value xml:lang="zh_TW">ç·ç´¢</value> </property> @@ -2498,6 +2580,7 @@ <value xml:lang="fr">Application de gestion des ventes</value> <value xml:lang="it">Gestione vendite</value> <value xml:lang="pt_BR">Gestor de automação de equipe de vendas</value> + <value xml:lang="vi">Quản lý bán hà ng</value> <value xml:lang="zh">éå®ç®¡çåºç¨ç¨åº</value> <value xml:lang="zh_TW">é·å®ç®¡çæç¨ç¨å¼</value> </property> @@ -2532,6 +2615,7 @@ <value xml:lang="fr">Fusionner les prospects</value> <value xml:lang="it">Merge Leads</value> <value xml:lang="pt_BR">Mesclar Leads</value> + <value xml:lang="vi">Ghép trá»n các Äầu má»i</value> <value xml:lang="zh">å并线索</value> <value xml:lang="zh_TW">å並ç·ç´¢</value> </property> @@ -2563,6 +2647,7 @@ <value xml:lang="fr">Mes prospects</value> <value xml:lang="pt_BR">Meus Leads</value> <value xml:lang="th">Lead à¸à¸à¸à¸à¸±à¸</value> + <value xml:lang="vi">Äầu má»i cá»§a tôi</value> </property> <property key="SfaNewSalesForecast"> <value xml:lang="de">Neue Verkaufsprognose</value> @@ -2599,6 +2684,7 @@ <value xml:lang="fr">Opportunités</value> <value xml:lang="it">Opportunità </value> <value xml:lang="pt_BR">Oportunidades</value> + <value xml:lang="vi">CÆ¡ há»i</value> <value xml:lang="zh">æºä¼</value> <value xml:lang="zh_TW">æ©æ</value> </property> @@ -2652,6 +2738,7 @@ <value xml:lang="fr">Ajout rapide d'un contact</value> <value xml:lang="it">Aggiunta veloce contatto</value> <value xml:lang="pt_BR">Adição rápida de contato</value> + <value xml:lang="vi">Thêm nhanh Liên há»</value> <value xml:lang="zh">å¿«éæ·»å èç³»</value> <value xml:lang="zh_TW">å¿«éæ·»å è¯ç³»</value> </property> @@ -2660,6 +2747,7 @@ <value xml:lang="fr">Ajout rapide d'un prospect</value> <value xml:lang="it">Aggiunta veloce lead</value> <value xml:lang="pt_BR">Adição rápida de Lead</value> + <value xml:lang="vi">Thêm nhanh Äầu má»i</value> <value xml:lang="zh">å¿«éæ·»å 线索</value> <value xml:lang="zh_TW">å¿«éæ·»å ç·ç´¢</value> </property> @@ -2669,6 +2757,7 @@ <value xml:lang="fr">Prévision de ventes</value> <value xml:lang="it">Previsioni di vendita</value> <value xml:lang="pt_BR">Previsão de vendas</value> + <value xml:lang="vi">Dá»± Äoán bán hà ng</value> <value xml:lang="zh">éå®é¢æµ</value> <value xml:lang="zh_TW">é·å®é 測</value> </property> @@ -2677,6 +2766,7 @@ <value xml:lang="fr">Deuxième contact</value> <value xml:lang="it">Secondo contatto</value> <value xml:lang="pt_BR">Segundo contato</value> + <value xml:lang="vi">Liên há» thứ 2</value> <value xml:lang="zh">第äºèç³»æ¹å¼</value> <value xml:lang="zh_TW">第äºè¯ç³»æ¹å¼</value> </property> |
| Free forum by Nabble | Edit this page |
