How Can We Help?

← Wszystkie tematy
Jesteś tu:

Przykład cechy przeliczającej ilość na ZP, na podst. przelicznika Enova

Poniżej znajduje się przykład cechy przeliczającej ilość towaru na generowanym zleceniu produkcyjnym, na podstawie przelicznika jednostek, zdefiniowanego w programie Enova.
W tym przykładzie towar ma zdefiniowaną podstawową jednostkę miary “szt”, natomiast zaistniała potrzeba generowania zleceń produkcyjnych dla całych opakowań towaru.
W programie Enova został zdefiniowany przelicznik jednostek “szt” do “opak” ( 5 sztuk w opakowaniu ).

  • W Unicore produkcja należy stworzyć cechę skryptową dla obiektu, zwracającą liczbę rzeczywistą.
  • Kod skryptu cechy:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Worm;
    using Worm.Features;
    using Unicore.Manufacture.Business;
    using Hydra.Enova;
    
    namespace FeatureScript {
    	public static class Script {
    		const String RequiredUm = "opak";
    		
    		public static Decimal GetValue(IFeaturable obj) {
    			var sol=(SalesOrderLine)obj;
    			if(sol.Um==RequiredUm)
    				return (Decimal)sol.Quantity;
    			
    			var rate=sol.Article.UmRates.FirstOrDefault(umr => umr.CalculatedUm.Shortcut==RequiredUm);
    			if(rate==null)
    				return 0;
    			return (Decimal)sol.Quantity * rate.Rate;
    		}
    	}
    }
  • W ustawieniach programu należy wskazać wzór, według którego będzie przeliczana ilość na generowanym zleceniu:
    Menu systemowe\ Narzędzia\ Ustawienia, zakładka “Zlecenia produkcyjne”
    ustawieniaZP
    W edytorze wyrażeń znajduje się funkcja UniScriptFeature, parametr [this] oznacza zaznaczony wiersz, natomiast drugi parametr to nazwa zdefiniowanej cechy.

Po wykonaniu tych czynności przeliczona ilość będzie widoczna na zleceniu generowanym z widoku “Zamówienia odbiorców”\ Czynności\ Generuj zlecenia. (kolumna “Ilość w planie” również będzie pokazywać zaplanowaną ilość do produkcji po przeliczeniu jednostek)

Spis treści