Uipath_error

This vbnet code works, but UiPath and invoko code do not work, what should I do?

'Değişkenleri tanımlama
Dim malzemeKodu As String = “deger”
Dim adeFarki As Integer = 16

Dim veriler As New List(Of Dictionary(Of String, Object)) From {
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 5}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger2”}, {“Adet”, 20}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger3”}, {“Adet”, 15}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger4”}, {“Adet”, 3}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger5”}, {“Adet”, 2}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 10}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 20}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 3}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 8}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger”}, {“Adet”, 10}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger6”}, {“Adet”, 22}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger7”}, {“Adet”, 25}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger8”}, {“Adet”, 30}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger9”}, {“Adet”, 35}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger10”}, {“Adet”, 40}},
New Dictionary(Of String, Object) From {{“malzemeKodu”, “deger11”}, {“Adet”, 45}}
}

’ Malzeme kodu ile filtreleme
Dim uygunVeriler = veriler.Where(Function(v) v(“malzemeKodu”).ToString() = malzemeKodu).ToList()

’ Kombinasyonları bulmak için yardımcı fonksiyon
Sub Kombinasyonlar(elemanlar As List(Of Dictionary(Of String, Object)), target As Integer, start As Integer, current As List(Of Dictionary(Of String, Object)), ByRef sonuc As List(Of Object), original As List(Of Dictionary(Of String, Object)))
Dim currentSum As Integer = current.Sum(Function(c) CInt(c(“Adet”)))

If currentSum = target Then
    ' Orijinal dizideki anahtarları bul
    Dim keys = current.Select(Function(item) original.IndexOf(item)).ToList()
    sonuc.Add(New Dictionary(Of String, Object) From {
        {"kombinasyon", current},
        {"keys", keys}
    })
End If

For i As Integer = start To elemanlar.Count - 1
    Kombinasyonlar(elemanlar, target, i + 1, current.Concat(New List(Of Dictionary(Of String, Object)) From {elemanlar(i)}).ToList(), sonuc, original)
Next

End Sub

Dim sonuc As New List(Of Object)()
Kombinasyonlar(uygunVeriler, Math.Abs(adeFarki), 0, New List(Of Dictionary(Of String, Object))(), sonuc, veriler)

’ Sonuçları yazdırma
If sonuc.Count > 0 Then
For Each item In sonuc
Console.WriteLine(“Kombinasyon:”)
For Each eleman In item(“kombinasyon”)
Console.WriteLine($“Malzeme Kodu: {eleman(“malzemeKodu”)}, Adet: {eleman(“Adet”)}”)
Next
Console.WriteLine()
Next
Else
Console.WriteLine(“Hiçbir kombinasyon bulunamadı.”)
End If

What errors are you getting?

The invoke code dont like when you define function inside it

güçlü metin

Sub gives an error for example

All of the text I posted is the code I used in the project. I’ve tested it on VBnet, it works but I couldn’t integrate it into invoke code.

@aysedemir Merhaba,

VB code kullanmayı tavsiye etmiyorum .İleride bir zamanda support vermek gerekirse sorun çıkartıyor. Çıkartmak istediğin algoritmayı paylaşırsan yardımcı olmaya çalışırım.

Elimde iki tane datatable var. ilk datatable ilk column da olan bilgiyi ikinci datatable bulmam lazim. Bulduktan sonra birden fazla satir varsa bu satirlarin icindeki degerlerin hangisinin toplami aradigim satirdaki fark bilgisini veriyorsa ikinci dt den o satiri silmem llazim

Biraz karmaşık gözüküyor. Elimdeki excellerden özet birer tane burada paylaşırsan ben hafta sonu bu algoritmayı çıkartırım.

Birde 2. datatablede aradığım satır bir kolona mı ait