LOBJECTS.dll kullanarak siparişten irsaliye oluşturuyorum. Eğer siparişte kampanya uygulanmış ise APPLYCAMPAIGN fonksiyonunu kullandığımda irsaliye detay satırlarındaki sipairş referanslarını kopartıyor. Ayrıca eğer siparişte Kampanya uygulandıktan sonra manuel indirim satırı girilmiş ise burada nasıl bir yol izlemem gerekir. Şu an uyguladığım yöntem her kampanya satırını gördüğümde kampanya uygulamadan irsaliye yi kaydediyorum. Sonra kampanya uygula fonksiyonunu kullanıyorum ve tekrar irsaliye yi kaydediyorum. Bu durumda da kampanya satırlarından sonra uygulanmış tanımsız manuel indirimler var ise bu satırları irsaliyeden çıkarıyor.
Kullandığım kod aşağıdadır. Burada yaptığım yanlış bir şey mi var yada dll bir bug mı var?
Yardımlarınız için şimdiden teşekkür ederim.
Dim oIrsDetay As UnityObjects.Lines = oIrs.DataFields.FieldByName("TRANSACTIONS").Lines
For i As Integer = 0 To oSipDetay.Count - 1
Dim nTip As Integer = oSipDetay.Item(i).FieldByName("TYPE").Value
If oSipDetay.Item(i).FieldByName("CMPG_LINE_REF").Value > 0 And nTip = 2 Then
If Not IrsaliyeKaydet(oUnity, oIrs) Then
MsgBox(oIrs.ErrorDesc, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
Exit sub
End If
If Not oIrs.ApplyCampaign() Then 'Kampanya uygula
MsgBox(oIrs.ErrorDesc, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
Exit sub
End If
If Not IrsaliyeKaydet(oUnity, oIrs) Then
MsgBox(oIrs.ErrorDesc, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
Exit sub
End If
oIrsDetay = oIrs.DataFields.FieldByName("TRANSACTIONS").Lines
Else
If oIrsDetay.AppendLine Then
oIrsDetay.Item(i).FieldByName("TYPE").Value = oSipDetay.Item(i).FieldByName("TYPE").Value 'Tip
oIrsDetay.Item(i).FieldByName("DESCRIPTION").Value = oSipDetay.Item(i).FieldByName("TRANS_DESCRIPTION").Value 'Açıklama
oIrsDetay.Item(i).FieldByName("MASTER_CODE").Value = oSipDetay.Item(i).FieldByName("MASTER_CODE").Value 'Ürün
oIrsDetay.Item(i).FieldByName("DETAIL_LEVEL").Value = oSipDetay.Item(i).FieldByName("DETAIL_LEVEL").Value 'Fiş Altı İndirim
oIrsDetay.Item(i).FieldByName("DISCEXP_CALC").Value = oSipDetay.Item(i).FieldByName("CALC_TYPE").Value 'Hesaplama Türü
oIrsDetay.Item(i).FieldByName("GL_CODE1").Value = oSipDetay.Item(i).FieldByName("GL_CODE1").Value 'Muhasebe Hesap Kodu 1
oIrsDetay.Item(i).FieldByName("GL_CODE2").Value = oSipDetay.Item(i).FieldByName("GL_CODE2").Value 'Muhasebe Hesap Kodu 2
oIrsDetay.Item(i).FieldByName("QUANTITY").Value = oSipDetay.Item(i).FieldByName("QUANTITY").Value 'Miktar
oIrsDetay.Item(i).FieldByName("PRICE").Value = oSipDetay.Item(i).FieldByName("PRICE").Value 'Birim Fiyat
oIrsDetay.Item(i).FieldByName("PAYMENT_CODE").Value = oSipDetay.Item(i).FieldByName("PAYMENT_CODE").Value 'Ödeme Şekli
oIrsDetay.Item(i).FieldByName("DISCOUNT_RATE").Value = oSipDetay.Item(i).FieldByName("DISCOUNT_RATE").Value 'İndirim Yüzdesi
oIrsDetay.Item(i).FieldByName("COST_DISTR").Value = oSipDetay.Item(i).FieldByName("COST_DISTR").Value 'Dağıtılan Maliyet
oIrsDetay.Item(i).FieldByName("DISCOUNT_DISTR").Value = oSipDetay.Item(i).FieldByName("DISCOUNT_DISTR").Value 'Dağıtılan İndirim
oIrsDetay.Item(i).FieldByName("EXPENSE_DISTR").Value = oSipDetay.Item(i).FieldByName("EXPENSE_DISTR").Value 'Dağıtılan Masraf
oIrsDetay.Item(i).FieldByName("PROMOTION_DISTR").Value = oSipDetay.Item(i).FieldByName("PROMOTION_DISTR").Value 'Dağıtılan Promosyon
oIrsDetay.Item(i).FieldByName("VAT_RATE").Value = oSipDetay.Item(i).FieldByName("VAT_RATE").Value 'Kdv Yüzdesi
oIrsDetay.Item(i).FieldByName("VAT_INCLUDED").Value = oSipDetay.Item(i).FieldByName("VAT_INCLUDED").Value 'Kdv Dahil/Hariç
oIrsDetay.Item(i).FieldByName("UNIT_CODE").Value = oSipDetay.Item(i).FieldByName("UNIT_CODE").Value 'Birim Kod
oIrsDetay.Item(i).FieldByName("UNIT_CONV1").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV1").Value 'Birim Çevrim 1
oIrsDetay.Item(i).FieldByName("UNIT_CONV2").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV2").Value 'Birim Çevrim 2
oIrsDetay.Item(i).FieldByName("UNIT_CONV3").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV3").Value 'Birim Çevrim 3
oIrsDetay.Item(i).FieldByName("UNIT_CONV4").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV4").Value 'Birim Çevrim 4
oIrsDetay.Item(i).FieldByName("UNIT_CONV5").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV5").Value 'Birim Çevrim 5
oIrsDetay.Item(i).FieldByName("UNIT_CONV6").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV6").Value 'Birim Çevrim 6
oIrsDetay.Item(i).FieldByName("UNIT_CONV7").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV7").Value 'Birim Çevrim 7
oIrsDetay.Item(i).FieldByName("UNIT_CONV8").Value = oSipDetay.Item(i).FieldByName("UNIT_CONV8").Value 'Birim Çevrim 8
oIrsDetay.Item(i).FieldByName("RC_XRATE").Value = oSipDetay.Item(i).FieldByName("RC_XRATE").Value 'Raporlama Döviz Kuru
oIrsDetay.Item(i).FieldByName("COMPOSITE").Value = oSipDetay.Item(i).FieldByName("COMPOSITE").Value 'Karma Koli
oIrsDetay.Item(i).FieldByName("SOURCEINDEX").Value = oSipDetay.Item(i).FieldByName("SOURCE_WH").Value 'Kaynak Ambar
'oIrsDetay.Item(i).FieldByName("DIVISION").Value = oSipDetay.Item(i).FieldByName("DIVISION").Value 'İşyeri
'oIrsDetay.Item(i).FieldByName("DEPARTMENT").Value = oSipDetay.Item(i).FieldByName("DEPARTMENT").Value 'Bölüm
oIrsDetay.Item(i).FieldByName("FACTORY").Value = oSipDetay.Item(i).FieldByName("FACTORY").Value 'Fabrika
oIrsDetay.Item(i).FieldByName("ORDER_REFERENCE").Value = oSipDetay.Item(i).FieldByName("INTERNAL_REFERENCE").Value 'Referans
Next i
If oIrs.Post Then
Msgbox("İşlem Tamamlandı.")
Else
'Hata
If oIrs.ValidateErrors.Count > 0 Then
MsgBox(oIrs.ValidateErrors(0).Error, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
Else
MsgBox(oIrs.ErrorDesc, MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
End If
End If