Archiwum kategorii: Mozart – instrukcja

Skrypt SQL–c.d.

Czyszczenie Wariantów

Skrypt usuwa wszystkie składniki z wariantów o określonej nazwie

delete from xpoSkladniki where ParentWariant in (select oid from xpoWarianty where Nazwa = ‚Zaimportowany’);
delete from xpoWarianty where Nazwa = ‚Zaimportowany’;

Usuwanie wariantu

Skrypt usuwa z składników wszystkie warianty o wskazanej nazwie np. „Nowy”

delete from xpoWarianty where Nazwa = ‚Nowy’ or Nazwa like ‚%Nowy%’;

Usuwanie składników, które są usunięte z systemu magazynowego

delete from xpoSkladniki where Skladnik in (select localid from xpoTowView where Usuniety = 1)

Skrypt działa na wszystkich wersjach Mozart Produkcja, czyli dal Subiekt GT, Subiekt Nexo Pro, enova i Navireo.

Numery dokumentów do Zlecenia w Mozart Produkcja z poziomu SQL

Numer dokumentów magazynowych w Mozarcie przechowywane są w tabeli xpoDokumenty, aby powiązać je z Zleceniem musimy przejść przez xpoZleceniaProdukcyjne do xpoZlecenia.

xpoDokumenty -> ZlecProd to oid w tabeli xpoZlecProd

xpoZlecProd -> zlecenie to oid w tabeli xpoZlecenia

Zatem, żeby wyciągnąć listę wszystkich dokumentów magazynowych (+ rezerwacje, jeżeli zlecenie nie jest zamknięte) dla danego zlecenia trzeba przejść od tabeli xpoZlecenia przez xpoZlecProd do xpoDokumenty

Poniżej mamy przykład, tak to wygląda w interfejsie Mozart Produkcja:

clip_image002

a tak z poziomu SQL:

clip_image003

Aby uzyskać taki efekt końcowy należało:

1. Odnaleźć Oid w tabeli xpoZlecenia

USE [MozNexoDemo1]

GO

SELECT [OID]

,[Numer]

FROM [dbo].[xpoZlecenia]

WHERE [Numer] = ‚M/19/0006’

GO

Dla Zlecenia numer M/19/0006

Uzyskamy efekt w postaci:

clip_image004

Na tej podstawie szukamy dalej.

2. Szukamy Oid zleceń produkcyjnych w tablei xpoZlecProd

USE [MozNexoDemo1]

GO

SELECT [OID]

,[zlecenie]

FROM [dbo].[xpoZlecProd]

WHERE [zlecenie] = ‚1005’

GO

Efekt:

clip_image005

A mając powyższe możemy dojść do dokumentów.

Na podstawie Oid zleceń produkcyjnych odnajdujemy dokumenty magazynowe powiązanie z Zleceniem głównym:

USE [MozNexoDemo1]

GO

SELECT [OID]

,[ZlecProd]

,[DokId]

,[IdMagazynu]

,[Numer] FROM [dbo].[xpoDokumenty]

WHERE [ZlecProd] = ‚1013’ or [ZlecProd] = ‚1014’ or [ZlecProd] = ‚1015’

GO

clip_image006

Można to zrobić krok po kroku tak jak powyżej albo łatwiej:

USE [MozNexoDemo1]

GO

SELECT xpoDokumenty.[OID]

,xpoDokumenty.[ZlecProd]

,xpoDokumenty.[DokId]

,xpoDokumenty.[IdMagazynu]

,xpoDokumenty.[Numer]

FROM [dbo].[xpoDokumenty]

JOIN xpoZlecProd ON xpoZlecProd.OID = xpoDokumenty.ZlecProd

JOIN xpoZlecenia ON xpoZlecenia.OID = xpoZlecProd.zlecenie

WHERE xpoZlecenia.Numer = ‚M/19/0006’

Gdzie numer analizowanego zlecenia mamy podany tu:

WHERE xpoZlecenia.Numer = ‚M/19/0006

Folia–produkcja

Tworzenie zleceń

Aby dodać do Mozarta Produkcja nowe zlecenie należy po zalogowaniu do programu przejść (klikając lewym przyciskiem myszy) na ekran Zlecenia:

clip_image002

Następnie naciskamy przycisk Dodaj znajdujący się w lewym, dolnym rogu ekranu:

clip_image004

Pojawi się ekran Nowe zlecenie, na którym wybieramy co chcemy produkować (klikamy w trójkąt w prawym, górnym rogu):

clip_image006

Pojawia się lista, na której odnajdujemy wyrób, który chcemy produkować:

clip_image008

Klikamy wybierz, pojawi się ponownie ekran Nowe zlecenie z wybranym Produktem. Wpisujemy ilość i klikamy Zapisz.

clip_image009

Na ekranie Zlecenia naciskamy prawym przyciskiem myszy w kolumnie BOM na utworzonym zleceniu. Wybieramy Właściwe bilansowanie:

clip_image011

Zmieni się status zlecenia na W()Z

clip_image013

W ten sposób utworzyliśmy i zbilansowaliśmy zlecenie, które możemy teraz przenieś ć na plan i przekazać na maszynę.

Przydzielanie zleceń na maszyny

Aby przydzielić Zlecenie na maszynę należy uruchomić moduł Planowania. W tym celu klikamy Własne następnie Planowanie:

clip_image015

clip_image017

Pojawia się ekran KanbanView, przechodzimy na zakładkę Maszyny:

clip_image019

Z sekcji Zlecenia przeciągamy zlecenia na wybrany dzień. Podajemy czas trwania i naciskamy Ok

clip_image021

clip_image022

Zleceni został dodane do Planu i będzie widoczne na ekranie operatora.

Program do pobrania na:

http://produkcjaprogramy.pl

Funkcje działają w konfiguracji programu do wspomagania produkcji Mozart Produkcja dla Insert: Navireo, Subiekt GT, Subiekt Nexo Pro i Soneta: enova.

Mozart – import z kompletów

clip_image001

clip_image002

Mozart.exe.config

W sekcji appSetings należy dodać klucz:

<add key=”ImportKompletowPunktMonitorowaniaSymbol” value=”ZP”/>

gdzie ZP (value=”ZP”) to symbol punktu monitorowania

clip_image004

Mozart.ExtraMenu

<?xml version=”1.0″ standalone=”yes”?>

<DocumentElement>

<MenuWlasneTable>

<Nazwa>Import z kompletów</Nazwa>

<Plik>Mozart.Dodatki.Subiekt.ImportKompletow.dll</Plik>

</MenuWlasneTable>

</DocumentElement>

clip_image005

clip_image007

Dla Subiekt Nexo, Subiekt GT i Navireo

http://produkcjaprogramy.pl

Garmażerka–tworzenie technologii

Definiowanie technologii w Mozart Produkcja (http://produkcjaprogramy.pl)

w przypadku produkcji spożywczej gotowych dań

Aby zdefiniować w Mozarcie technologię należy po uruchomieniu programu przejść na ekran Składniki:

clip_image002[1]

Pojawi się list pozycji z kartoteki systemu magazynowego [1]:

clip_image004[1]

Chcemy zdefiniować technologię dla produktu Pierogi (pierogi z mięsem), które składają się z następujących półproduktów:

1. Pierogi

a. Farsz ugotowany:

i. Farsz

ii. Cebula smażona

2. Ciasto

Istotną kwestią jest dotychczasowy sposób zapisu technologii, która została rozpisana na partię 3800 szt.

Definiowanie technologii zaczynamy od „samego dołu”, czyli w tym przypadku od Cebuli smażonej, która składa się z Cebuli mrożonej i Oleju rzepakowego.

Aby zdefiniować strukturę półproduktu na ekranie składniki odnajdujemy pozycję Cebula smażona wchodzimy (naciskamy przycisk Popraw lub dwukrotnie klikamy prawym przyciskiem myszy[2]) w wybraną pozycję:

clip_image006[1]

Zmieniamy typ kartoteki na Produkt i wybieramy dział, na którym półprodukt jest realizowany:

clip_image008[1]

Naciskamy Zapisz, aby zmienić typ kartoteki z materiału na produkt (tylko produkt może mieć strukturę).

Ponownie wchodzimy w kartotekę i naciskamy przycisk Struktura operacyjna:

clip_image010[1]

Pojawi się okno z listą wariantów do wyboru, na którym naciskamy przycisk Wybierz pojawi się ekran Struktura operacyjna produktu:

clip_image012[1]

Na którym w sekcji Podaj wielkość partii wariantu podajemy ilość, na którą mamy rozpisaną technologię (w omawianym przypadku 3800 szt.). W sekcji Operacje naciskamy przycisk Dodaj pojawi się ekran Słownik operacji:

clip_image014[1]

Z którego albo wybieramy operację albo dodajemy nową:

Dodaj

Ważne jest, aby wybrana operacja miała ilośc co najmniej jeden:

clip_image015[2]

clip_image015[3]

Teraz możemy do wybranej operacji przypisać składniki, aby to zrobić po zaznaczeniu operacji w sekcji Składniki naciskamy przycisk Dodaj :

clip_image017[1]

Na liście składników odnajdujemy pozycję, którą chcemy dodać i naciskamy przycisk Wybierz:

clip_image019[1]

clip_image020[1]

Uzupełniamy pola Ilość brutto i netto. Naciskamy przycisk Zapisz.

Podobnie postępujemy dla pozostałych składowych. W każdej chwili, będąc na ekranie struktura operacyjna produktu możemy nacisnąć trójkąt znajdujący się przy nazwie operacji i rozwinąć strukturę, żeby zweryfikować listę składników. W dole ekranu możemy sprawdzić, czy suma składników się zgadza:

clip_image022[1]

Po dodaniu wszystkich pozycji naciskamy przycisk Aktualizuj strukturę.

Po zapisaniu zmian możemy na ekranie Poprawianie danych składnika kliknąć przycisk Struktura i sprawdzić, czy program przeliczył prawidłowo strukturę na 1 jednostkę wyrobu:clip_image024[1]

clip_image026[1]

Jeżeli wszystko się zgadza. Wychodzimy Zapisując wprowadzone zmiany klikając przycisk Zapisz:

clip_image028[1]

Podobnie postępujemy dla pozostałych pozycji.


[1] Navireo (Insert) lub Subiekt GT, Subiekt nexo, enova

[2] PPM – prawy przycisk myszy

Prognoza – analiza zapotrzebowania z uwzględnieniem różnych terminów realizacji

Na stronie http://produkcjaprogramy.pl dodałem opis jednej z funkcji programu. Funkcja jest dostępna w podstawowej konfiguracji programu i nie wymaga dodatkowej zaawansowanej konfiguracji. Funkcja może być przydatna wszędzie tam, gdzie mamy do czynienia z ciągłymi zamówieniami tego samego surowca na produkcję (zlecenia, zamówienia) z różnymi datami realizacji. Rozwiązanie może być pomocne np. w obsłudze procesu produkcji spożywczej (żywności), gdzie mamy do czynienia z ciągłymi dostawami np. ryb, owoców, które mają ściśle określone terminy ważności i nie ma możliwości zbyt długiego przetrzymywania surowca na magazynie. Oprócz tego funkcja może przydać się wszędzie tam, gdzie chcemy ograniczyć wielkość zapasów i zoptymalizować proces przepływu (np. produkcja zgodnie z metodą Just in Time).

Opis funkcji

Poniżej opis funkcji pozwalającej na analizę zapotrzebowania dla Zamówień od Klientów z uwzględnieniem różnych terminów realizacji. Funkcja będzie także działać także dla planu produkcyjnego (Funkcja Produkcja -> Plany produkcyjne).

Żeby sprawdzić listę zapotrzebowania na materiały (i półprodukty) dla Zamówienia od Klienta (jednego lub wielu) wchodzimy na Zamówienia, na Lista zamówień wybieramy (zaznaczamy) ZK (Zamówienia od Klientów) klikamy Prognoza.

clip_image002

Na ekranie Prognoza zaznaczamy Liczyć na datę i naciskamy przycisk Analizuj:

clip_image004

Program wyświetli zapotrzebowanie na surowce z rozbiciem na daty:

clip_image006

Powyższy opis rozwiązania dla Produkcji działa jako rozszerzenia następujących programów:

Produkcja dla Subiekt GT

Produkcja dla enova

Produkcja dla Subiekt Nexo

Produkcja dla Navireo

Mozart – dodatkowe pola na ekranie zleceń

Mozart – dodatkowe pola na ekranie zleceń

Na ekranie zleceń została dodana możliwość konfiguracji dodatkowych kolumn wyliczanych. Służą do tego kolumny: Kolumna dodatkowa 1, Kolumna dodatkowa 2 oraz Kolumna dodatkowa 3.

clip_image001clip_image003

Przykład: Dodanie kolumny wyliczanej wg wzoru: ilosc planowana / wielkosc partii

Aby skonfigurować dodatkową kolumnę należy skorzystać z opcji Kolumny -> Prosta edycja -> Zaawansowana edycja.

W [Data->UnboundType] ustawiamy typ [Integer].

W [Data->Unbound Expression] klikamy w […] otwierając [Expression editor].

Wpisujemy: Ceiling([Ilość planowana]/[Produkt Glowny.Wielkosc Partii]).

Można również zmienić Tytuł nagłówka kolumny.

UWAGA!!! Na widoku muszą być widoczne kolumny z których korzystamy, czyli w tym wypadku: [Ilość planowana] oraz [Wielkość partii]. Jeżeli kolumna [Wielkość partii] nie wyświetla danych oznacza to, że jest konieczne skorzystanie z funkcji Program->Systemowe->Kontrola->Usunięcie widoków.

clip_image004

Przyjęcie zewnętrzne

Z datą przydatności i numerem partii

Aby wygenerować dokument PZ z datą przydatności i numerem partii należy otworzyć ekran

Views/Dokumenty/DodajDokumentDataPrzydatnosciView.aspx

clip_image002

1. Upewnić się, że w Typ dokumentu jest ustawiony na PZ.

2. Wybrać z listy właściwy Magazyn

clip_image004

Następnie należy:

3. Wybrać pozycję z listy (lub wyszukać) pozycje, która chcemy dodać do dokumentu

4. Wprowadzić Datę przydatności

5. Podać Dodawana ilość

6. Nacisnąć przycisk Dodaj pozycję

Czynności powtarzamy dla wszystkich pozycji.

Po dodaniu wszystkich pozycji

clip_image006

7. Naciskamy przycisk Wygeneruj numer partii (program nada numery partii pozycjom na dokumencie)

8. Na koniec naciskamy przycisk Utwórz dokument

W systemie magazynowym generowany jest dokument z ustawioną datą przydantości i wygenerowanym numerem partii (LOT)


Funkcja Mozarta dostępna (interfejs WWW) dla:

  • Subiekt GT
  • Subiekt Nexo
  • Navireo
  • enova

Mozart do pobrania na:

http://produkcjaprogramy.pl

Mozart – włączenie logowania

Włączanie logowania składa się z dwóch kroków :

· W katalogu z Mozart-em tworzymy katalog logs

· Modyfikujemy konfigurację Mozart – pliki Mozart.exe.config

Standardowo ma on postać :

<?xml version=„1.0”?>

<configuration>

<configSections>

<section name=„harmonogramowanieKonfiguracja” allowDefinition=„Everywhere” allowLocation=„true”

type=„Mozart.Harmonogramowanie.Core.HarmonogramowanieKonfiguracja, Mozart.Harmonogramowanie.Core”/>

</configSections>

<runtime>

</runtime>

<appSettings>

<!– User application and configured property settings go here.–>

<!– Example: <add key=”settingName” value=”settingValue”/> –>

<add key=„MainForm.Opacity” value=„1” />

<add key=„MainForm.ShowInTaskbar” value=„True” />

<add key=„ClientSettingsProvider.ServiceUri” value=„” />

<!– Ponizszy wpis nalezy odkomentowac jezeli mamy odzielny komputer na serwer SQL-owy –>

<!– albo sa jakies inne problemy z robienie/odtwarzaniem backupow. Ten katalog powinny byc –>

<!– dost갮y dla serwer SQL-owego – czyli odpowiednie uprawnienia i na tej samej maszynie gdzie jest zainstalowany serwer SQL-owy –>

<!–<add key=”backupDir” value=”C:\KatalogNaBackupyNaSerwerze”/>–>

</appSettings>

<harmonogramowanieKonfiguracja NazwaBiblioteki=„Mozart.Dodatki.Harmonogramowanie.AdapteryMozarta.dll” NazwaTypu=„Mozart.Dodatki.Harmonogramowanie.Logika.Mozart.AdapterDlaMozartaPoProduktach”/>

<startup>

<supportedRuntime version=„v4.0” sku=„.NETFramework,Version=v4.0”/>

</startup>

</configuration>

Aby włączyć logowanie musimy dodać taki linie (zaznaczone tło ) – dla jasności plik może wyglądać inaczej, bo są tam jakieś dodatkowe opcje powłączane, chodzi tylko o dodanie tych linii w odpowiednich sekcjach :

<?xml version=„1.0”?>

<configuration>

<configSections>

<section name=„harmonogramowanieKonfiguracja” allowDefinition=„Everywhere” allowLocation=„true”

type=„Mozart.Harmonogramowanie.Core.HarmonogramowanieKonfiguracja, Mozart.Harmonogramowanie.Core”/>

<section name=„nlog” type=„NLog.Config.ConfigSectionHandler, NLog” />

</configSections>

<runtime>

</runtime>

<appSettings>

<!– User application and configured property settings go here.–>

<!– Example: <add key=”settingName” value=”settingValue”/> –>

<add key=„MainForm.Opacity” value=„1” />

<add key=„MainForm.ShowInTaskbar” value=„True” />

<add key=„ClientSettingsProvider.ServiceUri” value=„” />

<!– Ponizszy wpis nalezy odkomentowac jezeli mamy odzielny komputer na serwer SQL-owy –>

<!– albo sa jakies inne problemy z robienie/odtwarzaniem backupow. Ten katalog powinny byc –>

<!– dostępny dla serwer SQL-owego – czyli odpowiednie uprawnienia i na tej samej maszynie gdzie jest zainstalowany serwer SQL-owy –>

<!–<add key=”backupDir” value=”C:\KatalogNaBackupyNaSerwerze”/>–>

</appSettings>

<harmonogramowanieKonfiguracja NazwaBiblioteki=„Mozart.Dodatki.Harmonogramowanie.AdapteryMozarta.dll” NazwaTypu=„Mozart.Dodatki.Harmonogramowanie.Logika.Mozart.AdapterDlaMozartaPoProduktach”/>

<nlog xmlns=„http://www.nlog-project.org/schemas/NLog.xsd” xmlns:xsi=„http://www.w3.org/2001/XMLSchema-instance”>

<targets>

<target name=„logfile” xsi:type=„File” fileName=„${basedir}/logs/${shortdate}-Info.log” layout=„${longdate} ${uppercase:${level}} ${message}” />

<target name=„tracefile” xsi:type=„File” fileName=„${basedir}/logs/${shortdate}-Trace.log” layout=„${longdate} ${uppercase:${level}} ${message}” />

</targets>

<rules>

<logger name=„*” minlevel=„Info” writeTo=„logfile” />

<logger name=”*” minlevel=”Trace” writeTo=”tracefile” />

</rules>

</nlog>

<startup>

<supportedRuntime version=„v4.0” sku=„.NETFramework,Version=v4.0”/>

</startup>

</configuration>

WWW–generowanie dokumentów

Spis treści

Generowanie dokumentów WWW………………………………………………………………………………… 1

Generowanie RW na podstawie numeru patii……………………………………………………………… 3

Generowanie dokumentów WWW

Do generowanie dokumentów przez WWW służy ekran:

http://localhost:8080/Views/Dokumenty/DodajDokumentView.aspx

clip_image002

W górnej części ekranu możemy wybrać jaki rodzaj dokumentu chcemy wystawić:

clip_image004

Aby dodać pozycję do dokumentu należy skorzystać z któregoś z wskazanych poniżej pól:

clip_image006

W przypadku dokumentów PW i PZ po dodaniu wszystkich pozycji naciskamy przycisk Wygeneruj numer partii, a następnie Drukuj etykietę pozycji (jeżeli chcemy wydrukować etykietę):

clip_image008

clip_image010

Generowanie RW na podstawie numeru partii

http://localhost:8080/Views/Dokumenty/DodajDokumentDudziakView.aspx

Aby wygenerować dokument RW, na którym pozycję dodamy na podstawie numeru partii i przypiszemy dokument do zlecenia należy wczytać kod w pole Numer partii pozycji:

clip_image012