mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Import towarów - aktualizacja stanów minimalnych https://forum.mix-soft.pl/viewtopic.php?f=2&t=2702 |
Strona 1 z 1 |
Autor: | kajzii [ 2011-01-19, 12:07 ] |
Tytuł: | Import towarów - aktualizacja stanów minimalnych |
Witam, mam w Symfonii Forte Handel v2010.1 import danych dotyczących towarów. Za jego pomocą chce uaktualnić minima na towarach. Przygotowanie danych: 1. Najpierw wykonuję eksport towarów do excela, układ kolumn jak poniżej: kod nazwa cena A cena B cena C Cena profilu masa 95708 słup/rygiel 185 mm 782,6 0 0 0 28,76 powierzchnia Cena Zak Stan Min Jm 3,29 316,81 50 szt 2. Zmieniam stany minimalne w kol. Stan Min. 3. Później wykonuje import danych dotyczących towarów, lecz dane nieaktualizują się. Poniżej podaję kod do importu danych towarów: //"imtwbly.sc","Import danych dot. towarów", "\Procedury\Raporty operacje kartotek\Towary\",0,1.0.0,SYSTEM dispatch xTw = xFactory.NewObject("BTowar") long idtw, row int err int sub OnCommand_E(int id, int msg) endsub string sPlkIni = KatalogFirmy() + "firma.hm" string sPlk = GetIni(GetReportName(),"path", sPlkIni) if splk == "" then sPlk = "C:\\plik.xls" int sub PrzegladajPlik() // 0 - zapisz, 1 - otworz sPlk = FileDlg( 1, "Pliki (*.xls)|*.xls*|Wszystkie pliki (*.*)|*.*" ) if sPlk then PrzegladajPlik = 1 endsub int sub ExForm() int lrv Form "Wybór pliku",530,140 Group "Otwórz plik", 10, 10, 505, 50 edit "Nazwa &Pliku",sPlk,85,30,350,20 button "Przeglądaj",450,27,60,25,PrzegladajPlik() button "O&K",330,80,80,25,2 button "&Anuluj",430,80,80,25,-1 lrv = execform OnCommand_E PutIni(GetReportName(),"path", sPlk, sPlkIni) if lrv != 2 then error "" if (find file sPlk) == "" then Message using "Plik: '%s' nie istnieje.", sPlk EndSub ExForm() dispatch excel excel.Create("excel.Application") dispatch wb = excel.Workbooks.Open(sPlk) dispatch ws = wb.Worksheets(1) string sub XGetErr(int nErr) int i string sGetError if nErr==771 then for i=1 to i>xFactory.komunikaty.count if xFactory.komunikaty.item(i).status then sGetError+= "Błąd nr."+(using "%d",xFactory.komunikaty.item(i).id)+": '"+xFactory.komunikaty.item(i).tresc+"'\n"//Atrybut: "+xFactory.komunikaty.item(i).nazwapola+"\n" else sGetError+="OSTRZEŻENIE !! "+xFactory.komunikaty.item(i).tresc+"\n" endif next i else Select case nErr case -4101 sGetError = "Nie odnaleziono rekordu w bazie XT" case -4010 sGetError = "Nieunikalny kod towaru." case -4013 sGetError = "Nie podano nazwy obiektu." case 4 sGetError = "Nie odnaleziono obiektu." case -4201 sGetError = "Nie można zapisac obiektu, w bazie danych istnieje już obiekt posiadający ten sam skrot i charakter." case else sGetError = "Nieznany błąd nr. "+(using "%d",nErr) endselect endif XGetErr = sGetError endsub string sKodTw, sTmp row=2 while ws.cells(row, 1).text != "" sKodTw = ws.cells(row, 1).text sTmp = using "|%s|", sKodTw //xTw.clear() err = xTw.load(using "kod=\t%s\t", sKodTw) if err then message XGetErr(err) : goto nxRow err = xTw.Edit xTw.CenaA.cena = ws.Cells(row,3).Value xTw.CenaB.cena = ws.Cells(row,4).Value xTw.CenaC.cena = ws.Cells(row,5).Value xTw.NazwaFiskal = ws.Cells(row,6).Value xTw.PrzelMasa = ws.Cells(row,7).Value xTw.PrzelJednUz = ws.Cells(row,8).Value err = xTw.Save if err then message using "Błąd zapisu danych towaru: %s", xTw.kod popup(2) nxRow: row+=1 Wend Excel.quit() message "koniec" Jeżeli, ktoś może widzi bład w tym imporcie to proszę o pomoc. |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |