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
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.