/* The S flag is set only within the EAP-TLS start message sent from the EAP server to the peer. */ int eaptls_start(EAP_DS *eap_ds, int peap_flag) { EAPTLS_PACKET reply; reply.code = FR_TLS_START; reply.length = TLS_HEADER_LEN + 1/*flags*/; reply.flags = peap_flag; reply.flags = SET_START(reply.flags); reply.data = NULL; reply.dlen = 0; eaptls_compose(eap_ds, &reply); return 1; }
void CMainDlg::DatiCertificato() { CString str; int index = 0; int no = 0, nm = 0, OpPredef = 0, MaPredef=0; for( SET_START(m_pOperatoriSet); !m_pOperatoriSet->IsEOF(); m_pOperatoriSet->MoveNext() ) { if( !m_pOperatoriSet->IsFieldNull(&m_pOperatoriSet->m_Sperimentatore) && m_pOperatoriSet->m_Sperimentatore ) { str = m_pOperatoriSet->m_Titolo + " " + m_pOperatoriSet->m_Nome + " " + m_pOperatoriSet->m_Cognome; no = m_ComboSperimentatori.AddString(str); m_ComboSperimentatori.SetItemData(no, m_pOperatoriSet->m_Codice); nm = m_ComboMacchine.AddString(m_pOperatoriSet->m_Macchina); if(m_pOperatoriSet->m_Codice == *m_pUltimoSper) { OpPredef = no; MaPredef = nm; } } } if( !m_pSerieSet->IsFieldNull(&m_pSerieSet->m_Osservazioni) ) { m_strOsservazioni = m_pSerieSet->m_Osservazioni; UpdateData(FALSE); //scrivo nel dialogo } if( !m_pSerieSet->IsFieldNull(&m_pSerieSet->m_Sperimentatore) ) { index = m_ComboMacchine.FindString(0,m_pSerieSet->m_Macchina); if(index==-1) index = 0; m_ComboMacchine.SetCurSel(index); index = m_ComboSperimentatori.FindString(0,m_pSerieSet->m_Sperimentatore); if(index==-1) index = 0; m_ComboSperimentatori.SetCurSel(index); UpdateData(TRUE); //leggo dal dialogo } else { m_ComboMacchine.SetCurSel(MaPredef); m_ComboSperimentatori.SetCurSel(OpPredef); UpdateData(TRUE); //leggo dal dialogo } }
/* * This function is called when the first EAP_IDENTITY_RESPONSE message * was received. * * Initiates the EPA_TNC session by sending the first EAP_TNC_RESPONSE * to the peer. The packet has the Start-Bit set and contains no data. * * 0 1 2 3 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Code | Identifier | Length | * | | | | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * | Type | Flags | Ver | * | |0 0 1 0 0|0 0 1| * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * * For this package, only 'Identifier' has to be set dynamically. Any * other information is static. */ static int tnc_initiate(void *instance, eap_handler_t *handler) { rlm_eap_tnc_t *inst = instance; REQUEST *request = NULL; char buff[71]; ssize_t len = 0; TNC_Result result; TNC_ConnectionID conn_id; TNC_BufferReference eap_tnc_request; TNC_BufferReference eap_tnc_user; VALUE_PAIR *username; /* * Check if we run inside a secure EAP method. * FIXME check concrete outer EAP method. */ if (!handler->request || !handler->request->parent) { ERROR("rlm_eap_tnc: EAP_TNC must only be used as an " "inner method within a protected tunneled EAP created " "by an outer EAP method"); return 0; } request = handler->request->parent; /* * Build the connection string */ len = radius_xlat(buff, sizeof(buff), request, inst->connection_string, NULL, NULL); if (len < 0){ return 0; } RDEBUG("Getting connection from NAA-EAP"); /* * Get connection (uses a function from the NAA-EAP-library) */ result = getConnection(buff, &conn_id); if (result != TNC_RESULT_SUCCESS) { ERROR("rlm_eap_tnc: NAA-EAP getConnection returned an " "error code"); return 0; } /* * Previous code manually parsed the EAP identity response * this was wrong. rlm_eap will *always* create the Username * from the EAP Identity response. * * Something has gone very wrong if the User-Name doesn't exist. */ username = pairfind(request->packet->vps, PW_USER_NAME, 0, TAG_ANY); RDEBUG("Username for TNC connection: %s", username->vp_strvalue); /* * Stores the username associated with the connection * * What becomes of username? Who knows... but we don't free it * so not safe to use talloc. */ MEM(eap_tnc_user = (TNC_BufferReference) strdup(username->vp_strvalue)); result = storeUsername(conn_id, eap_tnc_user, username->length); if (result != TNC_RESULT_SUCCESS) { ERROR("rlm_eap_tnc: NAA-EAP storeUsername returned an " "error code"); return 0; } /* * Set connection ID */ handler->opaque = talloc(handler, TNC_ConnectionID); memcpy(handler->opaque, &conn_id, sizeof(TNC_ConnectionID)); handler->free_opaque = tnc_free; /* * Bild first EAP TNC request */ MEM(eap_tnc_request = talloc_array(handler->eap_ds->request, uint8_t, 1)); *eap_tnc_request = SET_START(1); handler->eap_ds->request->code = PW_EAP_REQUEST; handler->eap_ds->request->type.num = PW_EAP_TNC; handler->eap_ds->request->type.length = 1; talloc_free(handler->eap_ds->request->type.data); handler->eap_ds->request->type.data = eap_tnc_request; /* * We don't need to authorize the user at this point. * * We also don't need to keep the challenge, as it's * stored in 'handler->eap_ds', which will be given back * to us... */ handler->stage = AUTHENTICATE; return 1; }
__declspec( dllexport ) int OpenDlg(long codSerie, CAllTables* tabelle, long* ultimoSperimentatore, CTime* pUltimaDataProva) { CSerieSet* pSerieSet = tabelle->m_pSerieSet; pSerieSet->m_strFilter.Format("Codice = %d", codSerie); SAFETY_OPEN(pSerieSet); CVerbaliSet* pVerbaliSet = tabelle->m_pVerbaliSet; pVerbaliSet->m_strFilter.Format("Codice = %d", pSerieSet->m_Verbale); SAFETY_OPEN(pVerbaliSet); //------------------ Sistemo il servizio aggiuntivo per le serie ----------// if( pSerieSet->IsFieldNull(&pSerieSet->m_ServAggiungibile) || pSerieSet->m_ServAggiungibile == 0 ) { byte spianaturaTrovata = FALSE; CCategorieServiziSet* pServSet = tabelle->m_pCategorieServiziSet; CVerbaliSet* pVerbSet = tabelle->m_pVerbaliSet; pVerbSet->m_strFilter.Format("VERBALI.Codice = %d",pSerieSet->m_Verbale); SAFETY_OPEN(pVerbSet); //Se compare un listino particolare verifico la presenza di un servizio aggiungibile long codListino = 0; if( !pVerbSet->IsFieldNull(&pVerbSet->m_ListinoParticolare) ) codListino = pVerbSet->m_ListinoParticolare; CString queryJoin, query; queryJoin = "CATEGORIE.Codice = SERVIZI_LISTINO.Categoria AND "; query.Format("Aggiuntivo = 1 AND Listino = %d AND Certificato = %d", codListino, pSerieSet->m_TipoCertificato); pServSet->m_strFilter = queryJoin + query; SAFETY_OPEN(pServSet); // Se non ho trovato il servizio nel listino particolare lo cerco in quello generale if( pServSet->IsEOF() ) { query.Format("Aggiuntivo = 1 AND Listino = %d AND Certificato = %d", pVerbSet->m_ListinoGenerale, pSerieSet->m_TipoCertificato); pServSet->m_strFilter = queryJoin + query; pServSet->Requery(); } // Se l'ho trovato lo inserisco nella serie if( !pServSet->IsEOF() ) { pSerieSet->Edit(); pSerieSet->m_ServAggiungibile = pServSet->m_Codice; pSerieSet->Update(); spianaturaTrovata = TRUE; } if(!spianaturaTrovata) { AfxMessageBox("Attenzione!!! \nIl servizio di spianatura non è stato correttamente configurato."); pSerieSet->Edit(); pSerieSet->m_ServAggiungibile = 0; pSerieSet->Update(); } } //------------ Determino la posizione serie e certificato e le info associate ----------// // Carico tutte le serie associate allo stesso verbale per aggiornare i dati // a quelle relative allo stesso certificato memorizzando le info certificato pSerieSet->m_strSort = "TipoCertificato, Codice"; pSerieSet->m_strFilter.Format("Verbale = %d",pSerieSet->m_Verbale); pSerieSet->Requery(); int posCertificato = 0; int posSerie = 0; CString osservazioni = "", sperimentatore = "", macchina = ""; for(SET_START(pSerieSet); !pSerieSet->IsEOF(); pSerieSet->MoveNext() ) { if( pSerieSet->m_NuovoCertificato ) { posCertificato++; posSerie = 1; if( !pSerieSet->IsFieldNull(&pSerieSet->m_Osservazioni) ) osservazioni = pSerieSet->m_Osservazioni; if( !pSerieSet->IsFieldNull(&pSerieSet->m_Sperimentatore) ) sperimentatore = pSerieSet->m_Sperimentatore; if( !pSerieSet->IsFieldNull(&pSerieSet->m_Macchina) ) macchina = pSerieSet->m_Macchina; } else posSerie++; if( pSerieSet->m_Codice == codSerie ) { if( !pSerieSet->m_NuovoCertificato && ( pSerieSet->IsFieldNull(&pSerieSet->m_Osservazioni) || pSerieSet->IsFieldNull(&pSerieSet->m_Sperimentatore) || pSerieSet->IsFieldNull(&pSerieSet->m_Macchina) || pSerieSet->m_Osservazioni != osservazioni || pSerieSet->m_Sperimentatore != sperimentatore || pSerieSet->m_Macchina != macchina)) { pSerieSet->Edit(); pSerieSet->m_Osservazioni = osservazioni; pSerieSet->m_Sperimentatore = sperimentatore; pSerieSet->m_Macchina = macchina; pSerieSet->Update(); } break; } } ASSERT( !pSerieSet->IsEOF() ); //------------------------------------------------------------------// // Il recordset delle serie è sincronizzato con quella in esame ma contiene // tutte le serie associate al verbale di riferimento in ordine di inserimento CMainDlg dlg; dlg.m_pSerieSet = pSerieSet; dlg.m_pProviniSet = tabelle->m_pProviniSet; dlg.m_pServiziListinoSet = tabelle->m_pServiziListinoSet; dlg.m_pOperatoriSet = tabelle->m_pOperatoriSet; dlg.m_DataAccettazione = pVerbaliSet->m_DataAccettazione; dlg.m_pUltimoSper = ultimoSperimentatore; dlg.m_pUltimaDataProve = pUltimaDataProva; dlg.m_strPosizione.Format("%d/%d",posSerie,posCertificato); //Gestione Norma UNI EN 12390-3 2003 if (pSerieSet->m_TipoCertificato == 9) { tabelle->m_pTipiCertificatoSet->m_strFilter = "Codice = 9"; if (!tabelle->m_pTipiCertificatoSet->IsOpen()) tabelle->m_pTipiCertificatoSet->Open(); else tabelle->m_pTipiCertificatoSet->Requery(); dlg.m_strDiametro = tabelle->m_pTipiCertificatoSet->m_Dimensione1; dlg.m_strLunghezza = tabelle->m_pTipiCertificatoSet->m_Dimensione2; dlg.m_strUMArea = "(mm²)"; } return dlg.DoModal(); }
void CMainDlg::RiempiAlbero(boolean selezionato) { BOOL trovato = FALSE; HTREEITEM primo,select; m_TreeProvini.DeleteAllItems( ); TV_INSERTSTRUCT tvinsert; tvinsert.hParent = NULL; tvinsert.hInsertAfter = TVI_LAST; tvinsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT; tvinsert.item.hItem = NULL; tvinsert.item.iSelectedImage = 3; tvinsert.item.iImage = 2; CString str; int i = 0; for(SET_START(m_pProviniSet); !m_pProviniSet->IsEOF(); m_pProviniSet->MoveNext()) { if(m_pProviniSet->IsFieldNull(&m_pProviniSet->m_Risultati)) { m_pProviniSet->Edit(); m_pProviniSet->m_Risultati.Copy(*InitBlob());//Se il campo è null viene inizializzato con valori di default m_pProviniSet->Update(); } str.Format("Provino %d",i+1); // Nome del provino tvinsert.item.pszText = str.GetBuffer(0); dati* tempDati = (dati*)m_pProviniSet->m_Risultati.GetData(); if (m_pProviniSet->IsFieldNull(&m_pProviniSet->m_DataInserimento)) { tvinsert.item.iImage = 0; tvinsert.item.iSelectedImage = 1; } else { tvinsert.item.iImage = 2; tvinsert.item.iSelectedImage = 3; } HTREEITEM nItem = m_TreeProvini.InsertItem(&tvinsert); if(i==0) select = primo = nItem; // Identifica l'item successivo a quello corrente if(trovato) { trovato = FALSE; select = nItem; } // Item Corrente if(selezionato && m_pProviniSet->m_Codice == m_nCodProvinoCorrente) trovato = TRUE; m_TreeProvini.SetItemData(nItem, m_pProviniSet->m_Codice); m_TreeProvini.SetItemText(nItem, str); i++; } if(selezionato) m_TreeProvini.SelectItem(select); else m_TreeProvini.SelectItem(primo); }
void CTotFatturatoView::OnButtonCalcola() { double FattConcessione = 0; double FattNonConcessione = 0; double FattGeotecnica = 0; double ImpPA = 0; double TotImpPA = 0; double TotProveCarico = 0; double TotCongBituminosi = 0; double TotInerti = 0; double TotMonitoraggi = 0; double TotVarie = 0; double TotGeotNC = 0; double TotLineeVita = 0; double TotIndMurature = 0; double TotIndCLS = 0; double TotMatMetallici = 0; double AppFC = 0; double AppFNC = 0; double AppFG = 0; int n = 0; CFattureSerEroVerSet* pFattVerSerErog = NULL; CFattureSet* pFatturePA = NULL; UpdateData(); // Apertura Recordset Fatture pFatturePA = new CFattureSet(&m_pApp->m_db); // Apertura Recordset Fatture/Verbali/ServiziErogati pFattVerSerErog = new CFattureSerEroVerSet(&m_pApp->m_db); if(m_cmbMese.GetItemData(m_cmbMese.GetCurSel()) == 0) { pFatturePA->m_strFilter.Format("(FATTURE.fPA > 0) And (FATTURE.Data >= '%s-01-01') And (FATTURE.Data <= '%s-31-12')", m_csAnno, m_csAnno); pFattVerSerErog->m_strFilter.Format("(VERBALI.Fattura = FATTURE.Codice) And (SERVIZI_EROGATI.Verbale = VERBALI.Codice) And (FATTURE.Data >= '%s-01-01') And (FATTURE.Data <= '%s-31-12')", m_csAnno, m_csAnno); } else { pFatturePA->m_strFilter.Format("(FATTURE.fPA > 0) And (FATTURE.Data >= '%s-%02d-01') And (FATTURE.Data <= '%s-%02d-31')", m_csAnno, m_cmbMese.GetItemData(m_cmbMese.GetCurSel()) ,m_csAnno, m_cmbMese.GetItemData(m_cmbMese.GetCurSel())); pFattVerSerErog->m_strFilter.Format("(VERBALI.Fattura = FATTURE.Codice) And (SERVIZI_EROGATI.Verbale = VERBALI.Codice) And (FATTURE.Data >= '%s-%02d-01') And (FATTURE.Data <= '%s-%02d-31')", m_csAnno, m_cmbMese.GetItemData(m_cmbMese.GetCurSel()) ,m_csAnno, m_cmbMese.GetItemData(m_cmbMese.GetCurSel())); } pFatturePA->m_strSort = "FATTURE.Data"; pFatturePA->Open(); pFattVerSerErog->m_strSort = "VERBALI.Codice"; pFattVerSerErog->Open(); AppFC = 0; AppFNC = 0; AppFG = 0; for(SET_START(pFattVerSerErog); !pFattVerSerErog->IsEOF(); pFattVerSerErog->MoveNext()) { AppFC = 0; AppFNC = 0; AppFG = 0; // Controlla la tipologia del Verbale if(pFattVerSerErog->m_TipoVerbale == VERB_IN_CONCESSIONE) { double Val = (pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) - (((pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) * pFattVerSerErog->m_ScontoSevizio) / 100); if(pFattVerSerErog->m_TipoDocumento == 1) { AppFC -= Val; } else { AppFC += Val; } // Se il verbale ha l'urgenza deve essere aggiunta la quota pari al 50% del costo del servizio if(pFattVerSerErog->m_VuoiUrgenza == 1) AppFC += Val/2; } else if ( (pFattVerSerErog->m_TipoVerbale == VERB_NON_IN_CONCESSIONE) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_PROVE_DI_CARICO) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_CONGL_BITUMINOSI) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_INERTI) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_MONITORAGGI) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_VARIE) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_GEOTECNICA) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_LINEE_VITA) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_INDAGINI_MURATURE) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_INDAGINI_CLS) || (pFattVerSerErog->m_TipoVerbale == VERB_NC_MAT_METALLICI) ) { double Val = (pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) - (((pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) * pFattVerSerErog->m_ScontoSevizio) / 100); if(pFattVerSerErog->m_TipoDocumento == 1) { AppFNC -= Val; } else { AppFNC += Val; } // Se il verbale ha l'urgenza deve essere aggiunta la quota pari al 50% del costo del servizio if(pFattVerSerErog->m_VuoiUrgenza == 1) AppFNC += Val/2; } else if (pFattVerSerErog->m_TipoVerbale == VERB_GEOLOGIA) { double Val = (pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) - (((pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) * pFattVerSerErog->m_ScontoSevizio) / 100); if(pFattVerSerErog->m_TipoDocumento == 1) { AppFG -= Val; } else { AppFG += Val; } // Se il verbale ha l'urgenza deve essere aggiunta la quota pari al 50% del costo del servizio if(pFattVerSerErog->m_VuoiUrgenza == 1) AppFG += Val/2; } else { double Val = (pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) - (((pFattVerSerErog->m_Prezzo * pFattVerSerErog->m_Quantita) * pFattVerSerErog->m_ScontoSevizio) / 100); if(pFattVerSerErog->m_TipoDocumento == 1) { AppFNC -= Val; } else { AppFNC += Val; } // Se il verbale ha l'urgenza deve essere aggiunta la quota pari al 50% del costo del servizio if(pFattVerSerErog->m_VuoiUrgenza == 1) AppFNC += Val/2; } // Spese per le spedizioni /* if(pFattVerSerErog->m_Spese > 0) { if(AppFC) AppFC += pFattVerSerErog->m_Spese; else if(AppFNC) AppFNC += pFattVerSerErog->m_Spese; else if(AppFG) AppFG += pFattVerSerErog->m_Spese; } */ // Applica lo sconto alla fattura if(pFattVerSerErog->m_Sconto > 0) { AppFC -= ((AppFC * pFattVerSerErog->m_Sconto) / 100); AppFNC -= ((AppFNC * pFattVerSerErog->m_Sconto) / 100); AppFG -= ((AppFG * pFattVerSerErog->m_Sconto) / 100); } #if 0 // Toglie l'eventuale ritenuta d'acconto if(pFattVerSerErog->m_RitenutaAcconto > 0) { if(AppFC) AppFC -= ((AppFC * pFattVerSerErog->m_RitenutaAcconto) / 100); else if(AppFNC) AppFNC -= ((AppFNC * pFattVerSerErog->m_RitenutaAcconto) / 100); else if(AppFG) AppFG -= ((AppFG * pFattVerSerErog->m_RitenutaAcconto) / 100); } #endif FattConcessione += AppFC; FattNonConcessione += AppFNC; FattGeotecnica += AppFG; if(AppFNC > 0) { // Totali per sottocategoria di verbale non in concessione if(pFattVerSerErog->m_TipoVerbale == VERB_NC_PROVE_DI_CARICO) TotProveCarico += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_CONGL_BITUMINOSI) TotCongBituminosi += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_INERTI) TotInerti += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_MONITORAGGI) TotMonitoraggi += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_VARIE) TotVarie += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_GEOTECNICA) TotGeotNC += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_LINEE_VITA) TotLineeVita += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_INDAGINI_MURATURE) TotIndMurature += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_INDAGINI_CLS) TotIndCLS += AppFNC; else if(pFattVerSerErog->m_TipoVerbale == VERB_NC_MAT_METALLICI) TotMatMetallici += AppFNC; } } // imponibile per Pubblica Amministrazione (PA) for(SET_START(pFatturePA); !pFatturePA->IsEOF(); pFatturePA->MoveNext()) { if(pFatturePA->m_PA > 0) { // ImpPA += pFatturePA->m_Imponibile; ImpPA = (100 * pFatturePA->m_Imponibile) / (100 + pFatturePA->m_Aliquota); TotImpPA += ImpPA; } } if(pFatturePA) { pFatturePA->Close(); delete pFatturePA; } if(pFattVerSerErog) { pFattVerSerErog->Close(); delete pFattVerSerErog; } // Cancella tutti gli elementi presenti nella lista m_listTotFatturato.DeleteAllItems(); // Inserisce gli elementi nella lista CString app(""); n = m_listTotFatturato.InsertItem(n, ""); app.Format("PC = %.2f", TotProveCarico); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("CB = %.2f", TotCongBituminosi); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("I = %.2f", TotInerti); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("MO = %.2f", TotMonitoraggi); m_listTotFatturato.SetItemText(n, 2, app); // add s.c. 14.01.2019 n = m_listTotFatturato.InsertItem(n, ""); app.Format("LV = %.2f", TotLineeVita); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("IM = %.2f", TotIndMurature); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("IC = %.2f", TotIndCLS); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("MM = %.2f", TotMatMetallici); m_listTotFatturato.SetItemText(n, 2, app); // fine add s.c. 14.01.2019 n = m_listTotFatturato.InsertItem(n, ""); app.Format("V = %.2f", TotVarie); m_listTotFatturato.SetItemText(n, 2, app); n = m_listTotFatturato.InsertItem(n, ""); app.Format("Geo NC = %.2f", TotGeotNC); m_listTotFatturato.SetItemText(n, 2, app); app.Format("%.2f", FattConcessione + FattNonConcessione + FattGeotecnica); n = m_listTotFatturato.InsertItem(n, app); app.Format("%.2f", FattConcessione); m_listTotFatturato.SetItemText(n, 1, app); app.Format("%.2f", FattNonConcessione); m_listTotFatturato.SetItemText(n, 2, app); app.Format("%.2f", FattGeotecnica); m_listTotFatturato.SetItemText(n, 3, app); app.Format("%.2f", TotImpPA); m_listTotFatturato.SetItemText(n, 4, app); }
void CTotFatturatoView::OnInitialUpdate() { int n = 0; int year = 0; int minAnno = 0; int maxAnno = 0; DWORD style; CFormView::OnInitialUpdate(); if(!(m_pApp = ((CWinSigmaApp*)AfxGetApp()))) return; // Inizializza la lista dei servizi e quella del report style = m_listTotFatturato.GetExtendedStyle(); style |= LVS_EX_GRIDLINES | LVS_EX_ONECLICKACTIVATE; m_listTotFatturato.SetExtendedStyle(style); m_listTotFatturato.InsertColumn(0, "Imponibile Totale", LVCFMT_LEFT, 130, -1); m_listTotFatturato.InsertColumn(1, "Imp. prove in concessione", LVCFMT_LEFT, 140, -1); m_listTotFatturato.InsertColumn(2, "Imp. prove non in concessione", LVCFMT_LEFT, 160, -1); m_listTotFatturato.InsertColumn(3, "Imp. prove geotecnica", LVCFMT_LEFT, 140, -1); m_listTotFatturato.InsertColumn(4, "Imponibile PA", LVCFMT_LEFT, 140, -1); // Recupera gli anni di validità dei listini per le ricerche dei servizi erogati CListiniSet* pListiniSet; pListiniSet = new CListiniSet(&m_pApp->m_db); pListiniSet->m_strFilter = "Inizio is not null"; pListiniSet->m_strSort = "Inizio"; pListiniSet->Open(); // Caricamento degli anni nella combo // Prende dalle date di validità dei listini l'anno minimo e quello massimo if (!pListiniSet->IsEOF()) { minAnno = pListiniSet->m_Inizio.GetYear(); for(SET_START(pListiniSet); !pListiniSet->IsEOF(); pListiniSet->MoveNext()); maxAnno = pListiniSet->m_Fine.GetYear(); } /* maxAnno++; for (int i = minAnno; i < maxAnno; i++) { CString Anno(""); Anno.Format("%d", i); m_cmbAnno.InsertString(n, Anno); m_cmbAnno.SetItemData(n, i); n++; } // Seleziona il primo elemento della combobox m_cmbAnno.SetCurSel(0); */ for (int i = maxAnno; i >= minAnno; i--) { CString Anno(""); Anno.Format("%d", i); m_cmbAnno.InsertString(n, Anno); m_cmbAnno.SetItemData(n, i); n++; } CTime t = CTime::GetCurrentTime(); CString curYear = ""; curYear.Format("%d", t.GetYear()); m_cmbAnno.SelectString(0, curYear); // Chiusura recordSet Listini if(pListiniSet) { pListiniSet->Close(); delete pListiniSet; } // Popola la combo dei mesi m_cmbMese.InsertString(0, "Tutti"); m_cmbMese.SetItemData(0, 0); m_cmbMese.InsertString(1, "Gennaio"); m_cmbMese.SetItemData(1, 1); m_cmbMese.InsertString(2, "Febbraio"); m_cmbMese.SetItemData(2, 2); m_cmbMese.InsertString(3, "Marzo"); m_cmbMese.SetItemData(3, 3); m_cmbMese.InsertString(4, "Aprile"); m_cmbMese.SetItemData(4, 4); m_cmbMese.InsertString(5, "Maggio"); m_cmbMese.SetItemData(5, 5); m_cmbMese.InsertString(6, "Giugno"); m_cmbMese.SetItemData(6, 6); m_cmbMese.InsertString(7, "Luglio"); m_cmbMese.SetItemData(7, 7); m_cmbMese.InsertString(8, "Agosto"); m_cmbMese.SetItemData(8, 8); m_cmbMese.InsertString(9, "Settembre"); m_cmbMese.SetItemData(9, 9); m_cmbMese.InsertString(10, "Ottobre"); m_cmbMese.SetItemData(10, 10); m_cmbMese.InsertString(11, "Novembre"); m_cmbMese.SetItemData(11, 11); m_cmbMese.InsertString(12, "Dicembre"); m_cmbMese.SetItemData(12, 12); // Seleziona il primo elemento della combobox m_cmbMese.SetCurSel(0); }