*Gianni
I have to use my tool becouse this import can be runned from the end user.
*Facrice
The code with the problem is this
FOR i = 1 _TO_ TABLE_ArticoliSele..Occurrence HTransactionStart(WiNeMo_connection) PROGBAR_totale..Value++ codice_art.prec=TABLE_ArticoliSele.COL_Precodice codice_art.cod=TABLE_ArticoliSele.COL_Codice EDT_Numero_articoli_nel_foglio++ key_articoli is string =HFilterIdentical(articoli,AI_AZIENDAAI_CAPOCODIAI_CODIREST,gsAzienda,codice_art.prec,NoSpace(codice_art.cod)) HReadFirst(articoli,key_articoli) IF HFound(articoli)=True THEN IF RADIO_Vista_radio_button>1 THEN IF RADIO_Vista_radio_button=2 THEN xValoreNew+=TABLE_ArticoliSele.COL_Listino_1 xValoreOld+=articoli.AI_LIS_EURO1 END IF RADIO_Vista_radio_button=3 THEN xValoreNew+=TABLE_ArticoliSele.COL_Costo xValoreOld+=articoli.AI_COS_EURO END END IF TABLE_ArticoliSele.COL_Descrizione<>"" AND CBOX_Descrizione=True THEN articoli.AI_DESCRIZI=TABLE_ArticoliSele.COL_Descrizione END IF TABLE_ArticoliSele.COL_Cod_IVA<>"" AND CBOX_CodIVA=True THEN articoli.AI_CODICIVA=TABLE_ArticoliSele.COL_Cod_IVA END IF TABLE_ArticoliSele.COL_Listino_1<>0 AND CBOX_list1=True THEN IF RADIO_Vista_radio_button=2 THEN articoli.AI_LPR_EURO1=articoli.AI_LIS_EURO1 END articoli.AI_LIS_EURO1=TABLE_ArticoliSele.COL_Listino_1 articoli.AI_DAT_VALI1=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_2<>0 AND CBOX_list2=True THEN IF RADIO_Vista_radio_button=2 THEN articoli.AI_LPR_EURO2=articoli.AI_LIS_EURO2 END articoli.AI_LIS_EURO2=TABLE_ArticoliSele.COL_Listino_2 articoli.AI_DAT_VALI2=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_3<>0 AND CBOX_list3=True THEN IF RADIO_Vista_radio_button=2 THEN articoli.AI_LPR_EURO3=articoli.AI_LIS_EURO3 END articoli.AI_LIS_EURO3=TABLE_ArticoliSele.COL_Listino_3 articoli.AI_DAT_VALI3=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_4<>0 AND CBOX_list4=True THEN IF RADIO_Vista_radio_button=2 THEN articoli.AI_LPR_EURO4=articoli.AI_LIS_EURO4 END articoli.AI_LIS_EURO4=TABLE_ArticoliSele.COL_Listino_4 articoli.AI_DAT_VALI4=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_5<>0 AND CBOX_list5=True THEN IF RADIO_Vista_radio_button=2 THEN articoli.AI_LPR_EURO5=articoli.AI_LIS_EURO5 END articoli.AI_LIS_EURO5=TABLE_ArticoliSele.COL_Listino_5 articoli.AI_DAT_VALI5=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Gr_merc<>"" AND CBOX_GrMerc=True THEN articoli.AI_CATEMERC=TABLE_ArticoliSele.COL_Gr_merc END IF TABLE_ArticoliSele.COL_Costo<>0 AND CBOX_Costo=True THEN articoli.AI_COS_EURO=TABLE_ArticoliSele.COL_Costo END IF TABLE_ArticoliSele.COL_Gr_sconto<>"" AND CBOX_GrSconto=True THEN articoli.ai_grupscon=TABLE_ArticoliSele.COL_Gr_sconto END IF TABLE_ArticoliSele.COL_Forn_abi<>"" AND CBOX_Forn=True THEN articoli.AI_fornitor=TABLE_ArticoliSele.COL_Forn_abi END IF TABLE_ArticoliSele.COL_Barcode<>"" AND CBOX_barcode=True THEN articoli.ai_barcode=TABLE_ArticoliSele.COL_Barcode END IF TABLE_ArticoliSele.COL_UM1<>"" AND CBOX_UnMis1=True THEN articoli.AI_UNIMIS_1=TABLE_ArticoliSele.COL_UM1 END IF TABLE_ArticoliSele.COL_UM2<>"" AND CBOX_UnMis2=True THEN articoli.AI_UNIMIS_2=TABLE_ArticoliSele.COL_UM2 END IF TABLE_ArticoliSele.COL_Qta_x_conf<>"" AND CBOX_QtaConf=True THEN articoli.AI_RIORMINI=TABLE_ArticoliSele.COL_Qta_x_conf END IF TABLE_ArticoliSele.COL_Cod_ricavo<>"" AND CBOX_CodRic=True THEN articoli.AI_COD_RICA=TABLE_ArticoliSele.COL_Cod_ricavo END IF TABLE_ArticoliSele.COL_Cod_costo<>"" AND CBOX_CodCos=True THEN articoli.AI_COD_COST=TABLE_ArticoliSele.COL_Cod_costo END IF TABLE_ArticoliSele.COL_Art_Par<>"" AND CBOX_ArtPart=True THEN articoli.AI_ART_PART=TABLE_ArticoliSele.COL_Art_Par END IF TABLE_ArticoliSele.COL_Nom_Comb<>"" AND CBOX_Nomencl=True THEN articoli.ai_nomecomb=TABLE_ArticoliSele.COL_Nom_Comb END IF TABLE_ArticoliSele.COL_Tipo_stoc<>"" AND CBOX_TipoStoc=True THEN articoli.ai_tipostoc=TABLE_ArticoliSele.COL_Tipo_stoc END IF TABLE_ArticoliSele.COL_Fatt_Conv<>"" AND CBOX_FatConv=True THEN articoli.AI_CONVERSI=TABLE_ArticoliSele.COL_Fatt_Conv END IF TABLE_ArticoliSele.COL_Note<>"" AND CBOX_Note=True THEN articoli.AI_NOTE=TABLE_ArticoliSele.COL_Note END IF TABLE_ArticoliSele.Col_Art_Stock<>0 AND CBOX_ArtStock=True THEN articoli.AI_FL_STOCK=TABLE_ArticoliSele.Col_Art_Stock END articoli.ai_DataVaria=DateSys() articoli.ai_OraVaria=TimeSys() articoli.ai_dtoravaria=NumToString(DateSys(), “8d”)+TimeToString(TimeSys(),"HHMMSS") HModify(articoli,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) TABLE_ArticoliSele..BrushColor=PastelBlue EDT_Numero_articoli_variati++ TABLE_ArticoliSele.COL_VARIAZIONE=1 //Modifico i dati ELSE HReset(articoli) IF CBOX_CreoNuovo=True THEN // creo il nuovo articolo IF NoSpace(codice_art.prec)="" AND NoSpace(codice_art.cod)="" THEN CONTINUE END articoli.AI_AZIENDA=gsAzienda articoli.ai_codiarti=codice_art.prec+NoSpace(codice_art.cod) articoli.AI_CAPOCODI=NoSpace(codice_art.prec) articoli.AI_CODIREST=NoSpace(codice_art.cod) articoli.AI_CODICIVA=tabvar.tava_codi_iva articoli.AI_COD_RICA=tabvar.tava_cod_rica articoli.AI_COD_COST=tabvar.tava_cod_cost IF TABLE_ArticoliSele.COL_Descrizione<>"" THEN articoli.AI_DESCRIZI=TABLE_ArticoliSele.COL_Descrizione END IF TABLE_ArticoliSele.COL_Cod_IVA<>"" THEN articoli.AI_CODICIVA=TABLE_ArticoliSele.COL_Cod_IVA END IF TABLE_ArticoliSele.COL_Listino_1<>0 THEN articoli.AI_LIS_EURO1=TABLE_ArticoliSele.COL_Listino_1 articoli.AI_DAT_VALI1=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_2<>0 THEN articoli.AI_LIS_EURO2=TABLE_ArticoliSele.COL_Listino_2 articoli.AI_DAT_VALI2=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_3<>0 THEN articoli.AI_LIS_EURO3=TABLE_ArticoliSele.COL_Listino_3 articoli.AI_DAT_VALI3=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_4<>0 THEN articoli.AI_LIS_EURO4=TABLE_ArticoliSele.COL_Listino_4 articoli.AI_DAT_VALI4=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Listino_5<>0 THEN articoli.AI_LIS_EURO5=TABLE_ArticoliSele.COL_Listino_5 articoli.AI_DAT_VALI5=EDT_Data_Aggiornamento END IF TABLE_ArticoliSele.COL_Gr_merc<>"" THEN articoli.AI_CATEMERC=TABLE_ArticoliSele.COL_Gr_merc END IF TABLE_ArticoliSele.COL_Costo<>0 THEN articoli.AI_COS_EURO=TABLE_ArticoliSele.COL_Costo END IF TABLE_ArticoliSele.COL_Gr_sconto<>"" THEN articoli.ai_grupscon=TABLE_ArticoliSele.COL_Gr_sconto END IF TABLE_ArticoliSele.COL_Forn_abi<>"" THEN articoli.AI_fornitor=TABLE_ArticoliSele.COL_Forn_abi END IF TABLE_ArticoliSele.COL_Barcode<>"" THEN articoli.ai_barcode=TABLE_ArticoliSele.COL_Barcode END IF TABLE_ArticoliSele.COL_UM1<>"" THEN articoli.AI_UNIMIS_1=TABLE_ArticoliSele.COL_UM1 END IF TABLE_ArticoliSele.COL_UM2<>"" THEN articoli.AI_UNIMIS_2=TABLE_ArticoliSele.COL_UM2 END IF TABLE_ArticoliSele.COL_Qta_x_conf<>"" THEN articoli.AI_RIORMINI=TABLE_ArticoliSele.COL_Qta_x_conf END IF TABLE_ArticoliSele.COL_Cod_ricavo<>"" THEN articoli.AI_COD_RICA=TABLE_ArticoliSele.COL_Cod_ricavo END IF TABLE_ArticoliSele.COL_Cod_costo<>"" THEN articoli.AI_COD_COST=TABLE_ArticoliSele.COL_Cod_costo END IF TABLE_ArticoliSele.COL_Art_Par<>"" THEN articoli.AI_ART_PART=TABLE_ArticoliSele.COL_Art_Par END IF TABLE_ArticoliSele.COL_Nom_Comb<>"" THEN articoli.ai_nomecomb=TABLE_ArticoliSele.COL_Nom_Comb END IF TABLE_ArticoliSele.COL_Tipo_stoc<>"" THEN articoli.ai_tipostoc=TABLE_ArticoliSele.COL_Tipo_stoc END IF TABLE_ArticoliSele.COL_Fatt_Conv<>"" THEN articoli.AI_CONVERSI=TABLE_ArticoliSele.COL_Fatt_Conv END IF TABLE_ArticoliSele.COL_Note<>"" THEN articoli.AI_NOTE=TABLE_ArticoliSele.COL_Note END articoli.ai_stato=Left(COMBO_Ai_stato..DisplayedValue,2) articoli.AI_DT_CREAZ=EDT_Data_Aggiornamento articoli.ai_DataVaria=DateSys() articoli.ai_OraVaria=TimeSys() articoli.ai_dtoravaria=NumToString(DateSys(), “8d”)+TimeToString(TimeSys(),"HHMMSS") HAdd(articoli,hIgnoreDuplicates+hIgnoreIntegrity) TABLE_ArticoliSele..BrushColor=PastelGreen EDT_Numero_articoli_variati++ TABLE_ArticoliSele.COL_VARIAZIONE=1 END END IF COL_Posizione<>"" THEN sKey_posart = HFilterIdentical(Posart,POAR_AZIENDAPOAR_DEPOSIPOAR_ARTICO1,gsAzienda,EDT_Deposito,codice_art.prec+NoSpace(codice_art.cod)) HReadFirst(Posart,sKey_posart) IF HFound(Posart) THEN Posart.POAR_POSIZI=COL_Posizione HModify(Posart,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) ELSE Posart.POAR_ARTICO=codice_art.prec+NoSpace(codice_art.cod) Posart.POAR_AZIENDA=gsAzienda Posart.POAR_DEPOSI=EDT_Deposito Posart.POAR_POSIZI=COL_Posizione Posart.POAR_QTAPOS=0 HAdd(Posart,hIgnoreDuplicates+hIgnoreIntegrity) END HDeactivateFilter(Posart) END IF RADIO_Vista_radio_button=2 AND EDT_AI_fornitor>0 THEN sKeylistforn=HFilterIdentical(listforn,sapf_aziendasapf_codiartisapf_fornitor,gsAzienda,articoli.ai_codiarti,EDT_AI_fornitor) HReadFirst(listforn,sKeylistforn) IF HFound(listforn) THEN listforn.sapf_prz_list=TABLE_ArticoliSele.COL_Listino_1 listforn.sapf_dt_va_li=EDT_Data_Aggiornamento IF listforn.sapf_per_scon<>0 THEN listforn.sapf_prz_nett=Round((listforn.sapf_prz_list-(listforn.sapf_prz_list*listforn.sapf_per_scon/100)),5) listforn.sapf_prz_nett=Round((listforn.sapf_prz_nett-(listforn.sapf_prz_nett*listforn.sapf_per_sco2/100)),5) listforn.sapf_prz_nett=Round((listforn.sapf_prz_nett-(listforn.sapf_prz_nett*listforn.sapf_per_sco3/100)),5) END HModify(listforn,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) ELSE xSc1=0 xSc2=0 sKeytabscf=HFilterIdentical(tabscf,tscf_aziendatscf_fornittscf_grusco,gsAzienda,EDT_AI_fornitor,articoli.ai_grupscon) HReadFirst(tabscf,sKeytabscf) IF HFound(tabscf) THEN xSc1=tabscf.tscf_scont1 xSc2=tabscf.tscf_scont2 END HDeactivateFilter(tabscf) IF xSc1=0 THEN xSc1=articoli.AI_SCO_RIFE END HReset(listforn) listforn.sapf_azienda=gsAzienda listforn.sapf_codiarti=articoli.ai_codiarti listforn.sapf_fornitor=EDT_AI_fornitor listforn.sapf_prz_list=TABLE_ArticoliSele.COL_Listino_1 listforn.sapf_per_scon=xSc1 listforn.sapf_per_sco2=xSc2 listforn.sapf_prz_list=articoli.AI_LIS_EURO1 listforn.sapf_prz_nett=Round((listforn.sapf_prz_list-(listforn.sapf_prz_list*xSc1/100)),5) listforn.sapf_prz_nett=Round((listforn.sapf_prz_nett-(listforn.sapf_prz_nett*xSc2/100)),5) listforn.sapf_dt_va_li=EDT_Data_Aggiornamento HAdd(listforn,hIgnoreDuplicates+hIgnoreIntegrity) END HDeactivateFilter(listforn) END IF RADIO_Vista_radio_button=3 THEN sKeylistforn=HFilterIdentical(listforn,sapf_aziendasapf_codiartisapf_fornitor,gsAzienda,articoli.ai_codiarti,EDT_AI_fornitor) HReadFirst(listforn,sKeylistforn) IF HFound(listforn) THEN IF CBOX_Offerta_temp=1 THEN listforn.sapf_prz_off=TABLE_ArticoliSele.COL_Costo listforn.sapf_dt_i_of=EDT_Dt_Inizio listforn.sapf_dt_f_of=EDT_Dt_fine ELSE listforn.sapf_prz_nett=TABLE_ArticoliSele.COL_Costo listforn.sapf_dt_va_li=EDT_Data_Aggiornamento IF CBOX_Distinta_netti=1 THEN listforn.sapf_per_scon=0 listforn.sapf_per_sco2=0 listforn.sapf_per_sco3=0 ELSE IF listforn.sapf_prz_list<>0 THEN listforn.sapf_per_scon=Abs(((TABLE_ArticoliSele.COL_Costo*100)/listforn.sapf_prz_list)-100) listforn.sapf_per_sco2=0 listforn.sapf_per_sco3=0 END END END HModify(listforn,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) ELSE xSc1=0 xSc2=0 sKeytabscf=HFilterIdentical(tabscf,tscf_aziendatscf_fornittscf_grusco,gsAzienda,EDT_AI_fornitor,articoli.ai_grupscon) HReadFirst(tabscf,sKeytabscf) IF HFound(tabscf) THEN xSc1=tabscf.tscf_scont1 xSc2=tabscf.tscf_scont2 END HDeactivateFilter(tabscf) IF xSc1=0 THEN xSc1=articoli.AI_SCO_RIFE END HReset(listforn) listforn.sapf_azienda=gsAzienda listforn.sapf_codiarti=articoli.ai_codiarti listforn.sapf_fornitor=EDT_AI_fornitor listforn.sapf_prz_list=articoli.AI_LIS_EURO1 listforn.sapf_per_scon=xSc1 listforn.sapf_per_sco2=xSc2 IF CBOX_Offerta_temp=1 THEN listforn.sapf_prz_nett=Round((listforn.sapf_prz_list-(listforn.sapf_prz_list*xSc1/100)),5) listforn.sapf_prz_nett=Round((listforn.sapf_prz_nett-(listforn.sapf_prz_nett*xSc2/100)),5) listforn.sapf_prz_off=TABLE_ArticoliSele.COL_Costo listforn.sapf_dt_i_of=EDT_Dt_Inizio listforn.sapf_dt_f_of=EDT_Dt_fine ELSE listforn.sapf_prz_nett=TABLE_ArticoliSele.COL_Costo IF CBOX_Distinta_netti=1 THEN listforn.sapf_per_scon=0 listforn.sapf_per_sco2=0 listforn.sapf_per_sco3=0 ELSE IF listforn.sapf_prz_list<>0 THEN listforn.sapf_per_scon=Abs(((TABLE_ArticoliSele.COL_Costo*100)/listforn.sapf_prz_list)-100) listforn.sapf_per_sco2=0 listforn.sapf_per_sco3=0 END END END HAdd(listforn,hIgnoreDuplicates+hIgnoreIntegrity) END HDeactivateFilter(listforn) END IF RADIO_Vista_radio_button>1 AND CBOX_Cambio_costo=1 AND listforn.sapf_prz_nett>0 THEN HReadFirst(articoli,key_articoli) IF HFound(articoli) THEN articoli.AI_COP_EURO=articoli.AI_COS_EURO articoli.AI_COS_EURO=listforn.sapf_prz_nett articoli.AI_DT_VA_CO=EDT_Data_Aggiornamento IF CBOX_Distinta_netti=1 THEN articoli.AI_FL_NETTO="S" END HModify(articoli,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) END END IF TABLE_ArticoliSele.COL_Stato="2" OR TABLE_ArticoliSele.COL_Stato="9" THEN HReadFirst(articoli,key_articoli) IF HFound(articoli) THEN HExecuteQuery(QRY_Ut_Giacenza_tutti_depositi,hQueryDefault,gsAzienda,tabvar.tava_anno_lav,articoli.ai_codiarti) HReadFirst(QRY_Ut_Giacenza_tutti_depositi) IF HFound(QRY_Ut_Giacenza_tutti_depositi) THEN IF QRY_Ut_Giacenza_tutti_depositi.sum_AD_GIACENZA+QRY_Ut_Giacenza_tutti_depositi.sum_ad_giacenza_ap>0 THEN articoli.ai_BlocOrdForn=1 ELSE articoli.ai_stato="03" END HModify(articoli,hRecNumCurrent,hIgnoreDuplicates+hIgnoreIntegrity) END END END HFreeQuery(QRY_Ut_Giacenza_tutti_depositi) END |