PDA

View Full Version : سوال: نمونه کد دات نت 2008 برای اماده سازی فایل بیمه تامین اجتماعی



rezaei manesh
دوشنبه 26 شهریور 1397, 00:50 صبح
سلام

من یه بخش از برنامه من فایل حقوق و دستمزد رو ایجاد می کنه الان همه کار کردم و فایل هم ایجاد می شه اما مشکل اینه که با اون که تبدیل می کنم به ایران سیستم اما باز نمی شناسه با روش های مختلف هم تبدیل کردم اما مشکل حل نشد



من ابتدا فایل خود تامین اجتماعی رو باز می کنم با ابزار oldb بعد دیتاش رو حذف می کنم و دیتای جدید می ریزم توش

حالا می خوایم یه نمونه که 3 تا فیلد اولش رو مثلا یه سمپل برام اماده کنید که تبدیل به ایران سیستم درست باشه توش



با دی ال ال یا کد فرقی نمی کنه

برنامه من دات نت فریم ورک 3.5 هست و بانک برنامه من هم اس کیو ال 2005

مشکل من فقط سر کانورت صحیح هست من کلا فریاند رو نمی خوام

کد های استفاده شده


GetCunnString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & sPath & ";Extended Properties=dBase IV"



Dim dBaseCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM " & sFName, dbXedConn)
Dim dBaseAdapter As New System.Data.OleDb.OleDbDataAdapter
dBaseAdapter.SelectCommand = dBaseCommand
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(dBaseAdapter)
Dim ds As New DataSet
dBaseAdapter.Fill(ds)

Dim StrTemp1 As String = ""
ds.Tables(0).Rows.Clear()
dBaseAdapter.Update(ds)

With Tbl1
'Dim cnvt As New CONVERTLib.Convertor
''Dim cnvt2 As New IranSystemConvertor.ConvertToIranSystem
For i As Int16 = 0 To .Rows.Count - 1
Try

Dim drow As DataRow
drow = ds.Tables(0).NewRow
'drow = dBaseDataTable.NewRow
'1
drow("DSK_ID") = (.Rows(i)("CodeKargaTamin").ToString) ', IranSystemConvertor.IranSystemNumbers.Convert) 'کد کارگاه
' 2
StrTemp1 = CoName.Trim 'نام کارگاه

drow("DSK_NAME") = IranSystemConvertor.ConvertToIranSystem.ToIranSyst em(StrTemp1, IranSystemConvertor.IranSystemNumbers.DontConvert)
'...

ds.Tables(0).Rows.Add(drow)
dBaseAdapter.Update(ds.Tables(0))
Catch
End Try
Next
'cnvt = Nothing
End With

dbXedConn.Close()

rezaei manesh
شنبه 31 شهریور 1397, 08:17 صبح
کی یعنی تا حالا مشکل ساختن فایل حقوق و دستمزد نداشته؟

shahryari
شنبه 14 مهر 1397, 09:48 صبح
سلام
اگه مشکلتون در تبدیل کد پیج ایران سیستم هست، در پوشه محل نصب نرم افزار خود بیمه به dll هست اینکارو انجام میده
convert.dll بود اسمش به نظرم

rezaei manesh
دوشنبه 23 مهر 1397, 20:51 عصر
سلام ممنون از پاسخ تون
ولی اگه دقت کنید تو خط 13 که غیر فعالش کردم ('Dim cnvt As New CONVERTLib.Convertor) این مورد رو تست کردم مشکلی که داره اینه که چند تا فیلد رو که باهاش کانورت می کنم بعد دیگه خطا میده میاد

حدود 4-5 بار که متن میدم کانورت می کنه بعد این رو میده؟!
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

rezaei manesh
دوشنبه 23 مهر 1397, 22:33 عصر
مشکل کانورت بالا حل شد وقتی متن خالی میدادم به تابع اینجوری میشد

rezaei manesh
سه شنبه 24 مهر 1397, 15:47 عصر
مشکل همچنان باقی هست گاهی خطا می ده گاهی نمی ده به هیچ چیز هم بستگی نداره مثل یک متن رو میدم خطا بر می گردونه همون متن رو دباره میدم اک هست!
و اینکه طول متنی که من می دم با طول متنی که بر می گردونی خیلی مواقع فرق می کنه گاهی کمتر هست و گاهی خیلی بیشتر
مشلا لا و ال ... هم دارم