def save(self): if self.id is None: self.creator_id = h.auth.user_id() self.invoice.is_corrected = True self.invoice.save() else: self.modifier_id = h.auth.user_id() if self.sell_date and self.currency.value != "PLN": date = datetime.datetime.strptime(str(self.invoice.issueDate), "%Y-%m-%d") date = date - datetime.timedelta(days = 1) date = date.strftime('%Y-%m-%d') currency_symbol = self.currency.value currency_date = str(date) currency = Currency.get(currency_symbol, currency_date) if currency is not None: self.currency_symbol = currency.symbol self.currency_value = currency.value self.currency_date = currency.date self.currency_table_number = currency.tableNumber meta.Session.add(self) meta.Session.commit()
def save(self): if self.id is None: self.series_year = datetime.datetime.now().year if not self.currency: self.currency = Dictionary.query().get(self.idCurrency) if self.currency.value != "PLN": currencySymbol = self.currency.value if self.order and self.order.places: currencyDate = str(self.order.places[0].date) else: ''' Jeśli nie przypisano zlecenia lub zlecenie nie ma miejsc zał./rozł. biorę datę aktualną ''' date = datetime.datetime.now() currencyDate = date.strftime('%Y-%m-%d') currency = Currency.get(currencySymbol, currencyDate) if currency is not None: self.currencySymbol = currency.symbol self.currencyValue = currency.value self.currencyDate = currency.date self.currencyTableNumber = currency.tableNumber self.real_value = float(self.freight) * float(self.currencyValue) else: self.real_value = self.freight meta.Session.add(self) meta.Session.commit()
def save(self): if self.id is None: self.series_year = datetime.datetime.now().year self.idCreator = h.auth.user_id() else: self.idModUser = h.auth.user_id() from pytis.model.invoice import InvoicePosition element = InvoicePosition.query.optimized_view().filter_by(order_id = self.id).first() if element: element.value = self.freight element.currency = self.currency element.save() element.invoice.save() if not self.currency: self.currency = Dictionary.query().get(self.idCurrency) if self.currency and self.currency.value != "PLN": '''Sprawdzam czy brany jest kurs z dnia załadunku czy dnia poprzedzającego''' if self.places: if self.isCurrencyDate == YES: '''Kurs z dnia załadunku''' currencyDate = str(self.places[0].date) else: '''Kurs z dnia poprzedzającego załadunek''' date = datetime.datetime.strptime(str(self.places[0].date), "%Y-%m-%d") date = date - datetime.timedelta(days = 1) currencyDate = date.strftime('%Y-%m-%d') else: ''' Podczas tworzenia nowego zlecenia bez miejsca załadunku pobierany jest kurs z dnia utworzenia ''' date = datetime.datetime.now() currencyDate = date.strftime('%Y-%m-%d') '''Symbol waluty''' currencySymbol = self.currency.value '''Pobranie kursu''' currency = Currency.get(currencySymbol, currencyDate) if currency is not None: self.currencySymbol = currency.symbol self.currencyValue = currency.value self.currencyDate = currency.date self.currencyTableNumber = currency.tableNumber self.real_value = float(self.freight) * float(self.currencyValue) else: self.real_value = self.freight meta.Session.add(self) meta.Session.commit()
def save(self): if self.is_exported: return if self.id is None: self.idCreator = h.auth.user_id() else: self.idModUser = h.auth.user_id() if self.issueDate and self.elements and self.elements[0].order.currency.value != "PLN": '''Bierzemy kurs z dnia poprzedzajacego dzien sprzedaży''' date = datetime.datetime.strptime(str(self.issueDate), "%Y-%m-%d") date = date - datetime.timedelta(days = 1) date = date.strftime('%Y-%m-%d') currencySymbol = self.elements[0].order.currency.value currencyDate = str(date) currency = Currency.get(currencySymbol, currencyDate) if currency is not None: self.currencySymbol = currency.symbol self.currencyValue = currency.value self.currencyDate = currency.date self.currencyTableNumber = currency.tableNumber if self.elements: if self.tax.name != 'NPO' and "EUR" in [element.order.currency.value for element in self.elements]: '''Zmiana waluty dla polskiego kontrahenta z zleceniem na EURO''' currency = Dictionary.query.filter_by(value = "PLN").one() for element in self.elements: if element.order.currency.value != "PLN": element.value = element.order.freight * (element.order.currencyValue or 1) element.currency = currency element.save() if element.order.transport_order and element.order.transport_order.currency.value != "PLN": element.order.transport_order.save() else: for element in self.elements: if element.currency.value != element.order.currency: element.currency = element.order.currency element.save() for element in self.elements: element.tax = self.tax meta.Session.add(self) meta.Session.commit()