Programowanie makra do Coamrch Optima

0

Cześć wszystkim.
Mam nadzieję że w dobrym miejscu wątek. Potrzebuje pomocy. Mam magazyn z ponad 5000 produktów. Muszę w każdym produkcie zmienić lub dodać jednostkę pomocniczą. Jest możliwości zrobienia makra które będzie w stanie sprawdzać wartości jak np:
jednostka dodana=1; pomin
jednostki brak=0; dodaj jednostke
->wybierz jednostke oraz licznik i mnoznik

0

W Comarch Optima istnieje możliwość importu i eksportu danych przy użyciu arkuszy kalkulacyjnych, co może ułatwić proces wprowadzania zmian do 5000 produktów. Możesz wyeksportować listę produktów do arkusza kalkulacyjnego, dokonać zmian w arkuszu i zaimportować zmienione dane z powrotem do Comarch Optima.

Jeśli chcesz jednak stworzyć makro, które będzie automatyzowało proces dodawania jednostek pomocniczych, możesz wykorzystać Comarch Optima Script. Jest to język skryptowy, który pozwala na automatyzację procesów w Comarch Optima.

Oto przykładowy skrypt, który mógłby pomóc w dodawaniu jednostek pomocniczych w Comarch Optima:

import Optima
import sys

# funkcja dodająca jednostkę pomocniczą do produktu
def add_unit(product_id, unit_name, multiplier, denominator):
    product = Optima.Database.ProductFactory.Load(product_id)
    unit = product.NewUnit(unit_name)
    unit.Multiplier = multiplier
    unit.Denominator = denominator
    product.Save()

# pętla przechodząca przez wszystkie produkty
for product in Optima.Database.ProductFactory.Select():
    # sprawdzenie czy produkt już ma jednostkę pomocniczą
    if len(product.Units) > 0:
        continue
    else:
        # pobranie nazwy produktu i wyświetlenie jej na ekranie
        product_name = product.Name
        print("Dodawanie jednostki pomocniczej do produktu: " + product_name)
        
        # dodanie jednostki pomocniczej do produktu
        unit_name = input("Podaj nazwę jednostki pomocniczej: ")
        multiplier = input("Podaj mnożnik: ")
        denominator = input("Podaj dzielnik: ")
        add_unit(product.ID, unit_name, multiplier, denominator)

print("Proces zakończony.")

Skrypt ten przechodzi przez wszystkie produkty w Comarch Optima, sprawdza, czy produkt nie ma już jednostki pomocniczej, a następnie dodaje jednostkę pomocniczą z podanymi przez użytkownika wartościami. Możesz zmodyfikować ten skrypt, aby dostosować go do swoich potrzeb.

Zanim jednak użyjesz tego skryptu lub jakiegokolwiek innego narzędzia do automatyzacji procesów w Comarch Optima, zalecam wykonanie kopii zapasowej bazy danych, aby uniknąć utraty danych w przypadku nieoczekiwanych problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1