Bom (Ürün Ağacı) Hesaplama Fonksiyonları

Calc_Bom

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • Açıklama: BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    
    Result = Doc.Calc_Bom(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "")
    
    If Result = 0 Then
        Doc.MsgBox "BOM hesaplaması tamamlandı"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Tarih

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - hesaplamaTarihi (String): Hesaplama tarihi
  • Açıklama: Tarih bazlı BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, HesaplamaTarihi
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    HesaplamaTarihi = "2024/01/01"
    Result = Doc.Calc_Bom_Tarih(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", HesaplamaTarihi)
    
    If Result = 0 Then
        Doc.MsgBox "BOM hesaplaması tamamlandı (Tarih bazlı)"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Stoklu

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - stokDurumu (String): Stok durumu
  • Açıklama: Stoklu BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, StokDurumu
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    StokDurumu = "MEVCUT"
    Result = Doc.Calc_Bom_Stoklu(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", StokDurumu)
    
    If Result = 0 Then
        Doc.MsgBox "BOM hesaplaması tamamlandı (Stoklu)"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Par

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - parameters (COM Object): Parametreler nesnesi
  • Açıklama: Parametreli BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, Par
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    Set Par = Doc.CreateSObject("Parameters")
    Result = Doc.Calc_Bom_Par(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", Par)
    
    If Result = 0 Then
        Doc.MsgBox "BOM hesaplaması tamamlandı (Parametreli)"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
    Set Par = Nothing
End Sub

Calc_Bom_A

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - alternatifBom (String): Alternatif BOM
  • Açıklama: Alternatif BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, AlternatifBom
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    AlternatifBom = "BOM_ALT001"
    Result = Doc.Calc_Bom_A(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", AlternatifBom)
    
    If Result = 0 Then
        Doc.MsgBox "Alternatif BOM hesaplaması tamamlandı"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Tarih_A

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - hesaplamaTarihi (String): Hesaplama tarihi
  • - alternatifBom (String): Alternatif BOM
  • Açıklama: Tarih bazlı alternatif BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, HesaplamaTarihi, AlternatifBom
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    HesaplamaTarihi = "2024/01/01"
    AlternatifBom = "BOM_ALT001"
    Result = Doc.Calc_Bom_Tarih_A(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", HesaplamaTarihi, AlternatifBom)
    
    If Result = 0 Then
        Doc.MsgBox "Tarih bazlı alternatif BOM hesaplaması tamamlandı"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Stoklu_A

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - stokDurumu (String): Stok durumu
  • - alternatifBom (String): Alternatif BOM
  • Açıklama: Stoklu alternatif BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, StokDurumu, AlternatifBom
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    StokDurumu = "MEVCUT"
    AlternatifBom = "BOM_ALT001"
    Result = Doc.Calc_Bom_Stoklu_A(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", StokDurumu, AlternatifBom)
    
    If Result = 0 Then
        Doc.MsgBox "Stoklu alternatif BOM hesaplaması tamamlandı"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
End Sub

Calc_Bom_Par_A

  • Dönüş Tipi: Integer (Hata kodu)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • - miktar (String): Miktar
  • - miktarBirimi (String): Miktar birimi
  • - uretimMiktari (Double): Üretim miktarı
  • - mamulBirimi (Double): Mamul birimi
  • - tarih (String): Tarih
  • - depoKodu (String): Depo kodu
  • - hammaddeMaliyetTuru (String): Hammadde maliyet türü
  • - operasyonMaliyetTuru (String): Operasyon maliyet türü
  • - sonucDoviz (String): Sonuç döviz cinsi
  • - param1 (String): Parametre 1
  • - param2 (String): Parametre 2
  • - param3 (String): Parametre 3
  • - alternatifBom (String): Alternatif BOM
  • - parameters (COM Object): Parametreler nesnesi
  • Açıklama: Parametreli alternatif BOM hesaplaması yapar

Örnek Kullanım:

Sub Makro1()
    Dim Result, UrunKodu, Miktar, Tarih, AlternatifBom, Par
    UrunKodu = "URUN001"
    Miktar = "100"
    Tarih = Doc.Today()
    AlternatifBom = "BOM_ALT001"
    Set Par = Doc.CreateSObject("Parameters")
    Result = Doc.Calc_Bom_Par_A(UrunKodu, Miktar, "AD", 100, 1, Tarih, "DEPO01", "S", "S", "TL", "", "", "", AlternatifBom, Par)
    
    If Result = 0 Then
        Doc.MsgBox "Parametreli alternatif BOM hesaplaması tamamlandı"
    Else
        Doc.MsgBox "BOM hesaplama hatası: " & Result
    End If
    Set Par = Nothing
End Sub

UrunKodundan_ReceteNo

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • Açıklama: Ürün kodundan reçete numarasını döndürür

Örnek Kullanım:

Sub Makro1()
    Dim UrunKodu, ReceteNo
    UrunKodu = "URUN001"
    ReceteNo = Doc.UrunKodundan_ReceteNo(UrunKodu)
    
    If Not Doc.IsBlank(ReceteNo) Then
        Doc.MsgBox "Ürün: " & UrunKodu & Chr(13) & "Reçete No: " & ReceteNo
    Else
        Doc.MsgBox "Reçete bulunamadı"
    End If
End Sub

UrunKodundan_ReceteKodu

  • Dönüş Tipi: Variant (String)
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • Açıklama: Ürün kodundan reçete kodunu döndürür

Örnek Kullanım:

Sub Makro1()
    Dim UrunKodu, ReceteKodu
    UrunKodu = "URUN001"
    ReceteKodu = Doc.UrunKodundan_ReceteKodu(UrunKodu)
    
    If Not Doc.IsBlank(ReceteKodu) Then
        Doc.MsgBox "Ürün: " & UrunKodu & Chr(13) & "Reçete Kodu: " & ReceteKodu
    Else
        Doc.MsgBox "Reçete kodu bulunamadı"
    End If
End Sub

UrunKodundan_MamulKatsayisi

  • Dönüş Tipi: Double
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • Açıklama: Ürün kodundan mamul katsayısını döndürür

Örnek Kullanım:

Sub Makro1()
    Dim UrunKodu, Katsayi
    UrunKodu = "URUN001"
    Katsayi = Doc.UrunKodundan_MamulKatsayisi(UrunKodu)
    
    Doc.MsgBox "Ürün: " & UrunKodu & Chr(13) & "Mamul Katsayısı: " & Katsayi
End Sub

GetActive_BOM_Info

  • Dönüş Tipi: Variant
  • Parametreler:
  • - urunKodu (String): Ürün kodu
  • Açıklama: Aktif BOM bilgisini döndürür

Örnek Kullanım:

Sub Makro1()
    Dim UrunKodu, BOMInfo
    UrunKodu = "URUN001"
    BOMInfo = Doc.GetActive_BOM_Info(UrunKodu)
    
    If Not Doc.IsBlank(BOMInfo) Then
        Doc.MsgBox "Ürün: " & UrunKodu & Chr(13) & "Aktif BOM Bilgisi: " & BOMInfo
    Else
        Doc.MsgBox "Aktif BOM bulunamadı"
    End If
End Sub

---