int DMR_DEMIRBAS_KARTI::GET_RECORD ( int record_id )
{
    SQL_QUERY select_query ( DB );

    select_query.PREPARE_SELECT ( "dmr_demirbaslar ","demirbas_kodu,demirbas_adi,grup_id,muh_hesap_id,alis_tarihi,alis_bedeli,"
                                  "uretici_firma,marka,model,seri_numarasi,garanti_suresi,"
                                  "amortisman_orani,amortisman_suresi,yeniden_degerleme_yapilacak_mi,kist_amortisman,"
                                  "demirbasin_degeri,amortisman_yontemi,personel_id,"
                                  "grup_id,fatura_id ,bir_amor_hesap_id , "
                                  "amor_gider_hesap_id , dmr_satis_kar_hesap_id ,amortisman_ayrilacak_mi,dmr_satis_zarar_hesap_id",
                                  "demirbas_id = :demirbas_id" );

    select_query.SET_VALUE      ( ":demirbas_id" , record_id );

    if ( select_query.SELECT() EQ 0 ) {
        return ADAK_FAIL;
    }

    select_query.NEXT();

    m_ui->lineedit_demirbas_kodu->setText ( select_query.VALUE(0).toString() );
    m_ui->lineedit_demirbas_adi->setText  ( select_query.VALUE(1).toString() );
    m_ui->searchedit_muh_hesap_kodu->SET_TEXT ( MUH_GET_HESAP_KODU(select_query.VALUE(3).toInt() ) );
    m_ui->lineedit_muh_hesap_ismi->setText ( MUH_GET_HESAP_ISMI(select_query.VALUE(3).toInt() ) );
    m_ui->adakDate_alis_tarihi->SET_DATE(select_query.VALUE(4).toString() );
    m_ui->commaEdit_alis_fiyati->SET_DOUBLE ( select_query.VALUE(5).toDouble() );
    m_ui->lineEdit_uretici_firma->setText(select_query.VALUE(6).toString() );
    m_ui->lineEdit_marka->setText(select_query.VALUE(7).toString() );
    m_ui->lineEdit_model->setText(select_query.VALUE(8).toString() );
    m_ui->lineEdit_seri_no->setText(select_query.VALUE(9).toString() );
    m_ui->lineedit_garanti_suresi->setText(select_query.VALUE(10).toString() );
    m_ui->commaEdit_amortisman_orani->SET_DOUBLE(select_query.VALUE(11).toDouble() );
    m_ui->lineedit_amortisman_suresi->setText(select_query.VALUE(12).toString() );
    m_ui->checkBox_yeniden_degerleme->setChecked(select_query.VALUE(13).toBool() );
    m_ui->checkBox_kist_amortisman->setChecked(select_query.VALUE(14).toBool() );
    m_ui->commaEdit_demirbasin_degeri->SET_DOUBLE(select_query.VALUE(15).toDouble() );

    m_ui->checkBox_amortisman_ayrilacak_mi->setChecked(QVariant(select_query.VALUE("amortisman_ayrilacak_mi")).toBool());

    QList<int> m_grup_idleri;

    m_grup_id = select_query.VALUE("grup_id").toInt();

    m_muh_hesap_id = select_query.VALUE(3).toInt();

    m_grup_idleri << select_query.VALUE("grup_id").toInt();

    if (m_grup_idleri.isEmpty() EQ false) {
        m_ui->search_edit_gruplar->SET_TEXT(GRP_GRUP_ADLARINI_BUL(&m_grup_idleri , new QStringList() , new QStringList()));
    }

    m_ui->textEdit_rapor_isl_gruplari->setText ( GRP_KAYDIN_GRUPLARINI_BUL ( E9_PROGRAMI , DEMIRBAS_GRUP_MODULU, record_id, &m_rpr_isl_grubu_idler, new QStringList, new QStringList ) );

    double birikmis_amortisman_tutari = DMR_GET_BIRIKMIS_AMORTISMAN_TUTARI ( record_id, MALI_YIL_ARRAY_INDIS ( QDate::currentDate()));

    double net_deger = select_query.VALUE(15).toDouble() - birikmis_amortisman_tutari;

    m_ui->commaEdit_net_deger->SET_DOUBLE ( net_deger );
    m_ui->commaEdit_birikmis_amortisman->SET_DOUBLE ( birikmis_amortisman_tutari );

    m_ui->comboBox_amortisman_yontemi->setCurrentIndex ( m_ui->comboBox_amortisman_yontemi->findText ( DMR_GET_AMORTISMAN_SEKLI_STRING(select_query.VALUE("amortisman_yontemi").toInt())));

    m_fatura_id = select_query.VALUE("fatura_id").toInt();

    m_ui->lineedit_fatura_bilgileri->setText(DMR_GET_FATURA_BILGILERI(m_fatura_id));

    m_bir_amor_hesap_id      = select_query.VALUE("bir_amor_hesap_id").toInt();
    m_amor_gider_hesap_id    = select_query.VALUE("amor_gider_hesap_id").toInt();
    m_dmr_satis_kar_hesap_id = select_query.VALUE("dmr_satis_kar_hesap_id").toInt();
    m_dmr_satis_zarar_hesap_id = select_query.VALUE("dmr_satis_zarar_hesap_id").toInt();

    int personel_id = select_query.VALUE(17).toInt();

    int cari_hesap_id = PRS_GET_PERSONEL_CARI_HESAP_ID( personel_id );

    QString cari_hesap_kodu, cari_hesap_ismi;

    int result = CARI_GET_HESAP_KODU_ISMI_PARA_BIRIM_ID( cari_hesap_id, &cari_hesap_kodu, &cari_hesap_ismi );

    if ( result NE 0 ) {
        m_ui->searchEdit_personel_adi->SET_TEXT( cari_hesap_kodu );
        m_ui->lineEdit_personel_soyadi->setText( cari_hesap_ismi );

        m_cari_hesap_id = cari_hesap_id;
    }

    QString tam_hesap_kodu,hesap_ismi;

    MUH_GET_HESAP_KODU_HESAP_ISMI(m_amor_gider_hesap_id , tam_hesap_kodu ,hesap_ismi);


    m_ui->searchedit_amor_gdr_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_amor_gdr_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_bir_amor_hesap_id , tam_hesap_kodu ,hesap_ismi);

    m_ui->searchedit_bir_amortisman_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_bir_amortisman_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_dmr_satis_kar_hesap_id , tam_hesap_kodu ,hesap_ismi);


    m_ui->searchedit_dmr_satis_kar_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_dmr_satis_kar_hesap_ismi->setText(hesap_ismi);


    MUH_GET_HESAP_KODU_HESAP_ISMI(m_dmr_satis_zarar_hesap_id , tam_hesap_kodu ,hesap_ismi);

    m_ui->searchedit_dmr_satis_zarar_hesap_kodu->SET_TEXT(tam_hesap_kodu);
    m_ui->lineEdit_dmr_satis_zarar_hesap_ismi->setText(hesap_ismi);


    return ADAK_OK;
}
Exemple #2
0
int DMR_FIS_SATIRI_EKLE(DMR_FIS_STRUCT *P_FIS, DMR_FIS_SATIRI_STRUCT *P_FIS_SATIRI, ADAK_SQL *P_GELEN_DB)
{
    ADAK_SQL * USE_DB;

    if ( P_GELEN_DB EQ NULL ) {
        USE_DB = DB;
    }
    else {
        USE_DB = P_GELEN_DB;
    }

    SQL_QUERY query(DB);

    query.PREPARE_SELECT("dmr_fisler" , "modul_id , program_id,base_fis_id,"
                         "last_order_number , toplam_tutar , fis_tarihi , "
                         "toplam_birikmis_amor_tutari","fis_id = :fis_id");

    query.SET_VALUE(":fis_id" , P_FIS_SATIRI->fis_id);

    if ( query.SELECT() EQ 0 ) {
        return 0;
    }

    query.NEXT();

    int modul_id    = query.VALUE(0).toInt();
    int program_id  = query.VALUE(1).toInt();
    int base_fis_id = query.VALUE(2).toInt();

    if ( P_FIS->modul_id NE modul_id OR P_FIS->program_id NE program_id
         OR P_FIS->base_fis_id NE base_fis_id ) {
        return 0;
    }
    int    last_order_number            = query.VALUE(3).toInt();
    double toplam_tutar                 = query.VALUE(4).toDouble();
    QDate  fis_tarihi                   = QDate::fromString(query.VALUE(5).toString(),"yyyy.MM.dd");
    double toplam_bir_amortisman_tutari = query.VALUE(6).toDouble();

    if ( P_FIS_SATIRI->order_number EQ 0 ) {
        P_FIS_SATIRI->order_number = last_order_number + 1024;
    }

    query.PREPARE_SELECT ( "dmr_demirbaslar","yillik_ayrilan_amor_yuzdesi,toplamda_ayrilan_amor_yuzdesi, "
                           "amortisman_orani,demirbasin_yeni_degeri ,"
                           "yeni_brkms_amortisman_tutari , yeniden_degerleme_yapildi ,"
                           "muh_yili_ayrilacak_amor_tutari , amortisman_yontemi,"
                           "kist_amortisman , alis_tarihi , amortisman_suresi,"
                           "demirbasin_degeri , amortisman_ayrilabilir_mi,bir_amor_hesap_id,"
                           "amor_gider_hesap_id , fatura_id ,muh_devir_yili_ayrilacak_amor",
                           "demirbas_id = :demirbas_id");
    query.SET_VALUE      ( ":demirbas_id" , P_FIS_SATIRI->demirbas_id );

    if ( query.SELECT() EQ 0 ) {
        return 0;
    }


    query.NEXT();

    double yillik_ayrilan_amortisman_yuzdesi   = query.VALUE(0).toDouble();
    double toplamda_ayrilan_amortisman_yuzdesi = query.VALUE(1).toDouble();
    double amortisman_orani                    = query.VALUE(2).toDouble();
    double demirbasin_yeni_degeri              = query.VALUE(3).toDouble();
    double yeni_brkms_amortisman_tutari        = query.VALUE(4).toDouble();
    int    yeniden_degerleme_yapildi           = query.VALUE(5).toInt();
    double muh_yili_ayrilacak_amortisman_tutari= query.VALUE(6).toDouble();
    int    amortisman_yontemi                  = query.VALUE(7).toInt();
    int    kist_amortisman_uygulanacak_mi      = query.VALUE(8).toInt();
    QDate  alis_tarihi                         = QDate::fromString(query.VALUE(9).toString() , "yyyy.MM.dd");
    int    amortisman_suresi                   = query.VALUE(10).toInt();
    double demirbasin_degeri                   = query.VALUE(11).toDouble();
    int    amortisman_ayrilabilir_mi           = query.VALUE(12).toInt();
    int    bir_amortismanlar_hesap_id          = query.VALUE(13).toInt();
    int    amor_gider_hesap_id                 = query.VALUE(14).toInt();
    int    fatura_id                           = query.VALUE(15).toInt();
    double muh_devir_yili_ayrilacak_amor_tutari= query.VALUE("muh_devir_yili_ayrilacak_amor").toDouble();

    int gun_no = MALI_YIL_ARRAY_INDIS ( fis_tarihi );

    if ( P_FIS_SATIRI->birikmis_amor_tutari EQ 0 ) {
        P_FIS_SATIRI->birikmis_amor_tutari = DMR_GET_BIRIKMIS_AMORTISMAN_TUTARI(P_FIS_SATIRI->demirbas_id , gun_no);
    }

    if ( P_FIS->fis_turu EQ YENIDEN_DEGERLEME_FISI ) {
        if ( P_FIS_SATIRI->satir_tutari EQ 0 ) {
            demirbasin_yeni_degeri = demirbasin_degeri * ( 1 + ( P_FIS->degerleme_orani / 100));
            P_FIS_SATIRI->satir_tutari = demirbasin_yeni_degeri;
        }
        else {
            demirbasin_yeni_degeri       = P_FIS_SATIRI->satir_tutari;
        }

        if ( P_FIS_SATIRI->yeni_birikmis_amor_tutari EQ 0 ) {
            yeni_brkms_amortisman_tutari = P_FIS_SATIRI->birikmis_amor_tutari
                                           * ( 1 + ( P_FIS->degerleme_orani / 100));
        }
        else {
            yeni_brkms_amortisman_tutari = P_FIS_SATIRI->yeni_birikmis_amor_tutari;
        }
        yeniden_degerleme_yapildi    = 1;
    }
    else { //AMORTISMAN FISI

        yillik_ayrilan_amortisman_yuzdesi += P_FIS->dusulecek_amor_yuzdesi;

        if ( yillik_ayrilan_amortisman_yuzdesi EQ 100 ) { //Eger yillik amortismanin tamami ayrilmissa\ayni yil icinde bir daha amortisman ayrilamaz.

            toplamda_ayrilan_amortisman_yuzdesi += amortisman_orani;

           if ( toplamda_ayrilan_amortisman_yuzdesi EQ 100) {
              amortisman_ayrilabilir_mi = 0; // Eger demirbasin tum amortismani ayrilmmissa,demirbastan bir daha amortisman ayrilamaz.
           }

        }

        if ( muh_yili_ayrilacak_amortisman_tutari EQ 0 OR muh_devir_yili_ayrilacak_amor_tutari EQ 0) {
            //Muhasebe yilinda ayrilacak olan amortisman tutari henuz hesaplanmamissa

            if ( fatura_id > 0 ) {

                FATURA_FISI_STRUCT * FAT_FIS = new FATURA_FISI_STRUCT;



                FAT_FIS->KDV_ORANLARI_ARRAY                =   new double  [KDV_OTV_ORANLARI_SAYISI];
                FAT_FIS->KDV_HESAPLARI_ID_ARRAY            =   new int     [KDV_OTV_ORANLARI_SAYISI];
                FAT_FIS->KDV_ORANINA_GORE_TUTARLAR_ARRAY   =   new double  [KDV_OTV_ORANLARI_SAYISI];

                FAT_FIS->OTV_ORANLARI_ARRAY                =   new double  [KDV_OTV_ORANLARI_SAYISI];
                FAT_FIS->OTV_HESAPLARI_ID_ARRAY            =   new int     [KDV_OTV_ORANLARI_SAYISI];
                FAT_FIS->OTV_ORANINA_GORE_TUTARLAR_ARRAY   =   new double  [KDV_OTV_ORANLARI_SAYISI];

                FAT_FIS->TEVKIFATLI_KDV_HESAPLARI_ID_ARRAY =   new int     [KDV_OTV_ORANLARI_SAYISI];

                FATURA_CLEAR_FIS_STRUCT ( FAT_FIS );

                FATURA_FIS_BILGILERINI_OKU( FAT_FIS, fatura_id );

                double fatura_tutari = FAT_FIS->fatura_tutari;
                double kdv_tutari    = FAT_FIS->isk_sonrasi_kdv_tutari;

                double kdv_haric_tutar = fatura_tutari - kdv_tutari;

                if (  amortisman_yontemi EQ NORMAL_BAKIYE ) {
                    muh_yili_ayrilacak_amortisman_tutari = kdv_haric_tutar * ( amortisman_orani/100);
                }
                else {
                    muh_yili_ayrilacak_amortisman_tutari = ( fatura_tutari - (demirbasin_yeni_degeri - yeni_brkms_amortisman_tutari))
                                                                       * ( ( amortisman_orani * 2)/100);
                }
            }
            else {
                if ( amortisman_yontemi EQ NORMAL_BAKIYE ) {
                    muh_yili_ayrilacak_amortisman_tutari = demirbasin_yeni_degeri * ( amortisman_orani / 100);
                }
                else {
                    muh_yili_ayrilacak_amortisman_tutari = (demirbasin_yeni_degeri - yeni_brkms_amortisman_tutari) * ((amortisman_orani * 2)/100);
                }

            }

            muh_devir_yili_ayrilacak_amor_tutari = muh_yili_ayrilacak_amortisman_tutari;


            //KIST AMORTISMAN VAR ISE,ILK YIL BINEK OTOMOBILIN FIRMAYA GIRDIGI AY DAHIL OLMAK UZERE YIL SONUNA KADAR KALAN TUM AYLAR ICIN,
            //SON YIL ISE ILK YILDAN AMORTISMAN AYRILMAYAN AYLAR VE SON YILIN TAMAMI ICIN AMORTISMAN AYRILIR.



            if ( kist_amortisman_uygulanacak_mi EQ 1 ) {


                int demirbasin_alindigi_ay = alis_tarihi.month();

                if ( alis_tarihi.year() EQ fis_tarihi.year() ) {
                     muh_yili_ayrilacak_amortisman_tutari = ( muh_yili_ayrilacak_amortisman_tutari/12) * ((12-demirbasin_alindigi_ay) + 1);
                }

                if ( ( alis_tarihi.year() + amortisman_suresi) EQ fis_tarihi.year() ) {
                     double ayrilacak_amortisman_tutari = (muh_yili_ayrilacak_amortisman_tutari/12) * (demirbasin_alindigi_ay-1);

                     muh_yili_ayrilacak_amortisman_tutari += ayrilacak_amortisman_tutari;

                }

                if ( ( alis_tarihi.year() + amortisman_suresi) EQ fis_tarihi.year() + 1 ) {
                    double ayrilacak_amortisman_tutari = (muh_yili_ayrilacak_amortisman_tutari/12) * (demirbasin_alindigi_ay-1);

                    muh_yili_ayrilacak_amortisman_tutari += ayrilacak_amortisman_tutari;
                }

            }

        }

        if ( P_FIS_SATIRI->satir_tutari EQ 0 ) {

            if ( fis_tarihi.year() EQ MALI_YIL_FIRST_DATE().year() ) {

                P_FIS_SATIRI->satir_tutari = muh_yili_ayrilacak_amortisman_tutari *  ( P_FIS->dusulecek_amor_yuzdesi / 100);
            }
            else {
                P_FIS_SATIRI->satir_tutari = muh_devir_yili_ayrilacak_amor_tutari *  ( P_FIS->dusulecek_amor_yuzdesi / 100);
            }
        }

        DMR_AMORTISMAN_TUTARINI_ARTTIR ( P_FIS_SATIRI->demirbas_id,gun_no,
                                     P_FIS_SATIRI->satir_tutari );
    }


    query.PREPARE_UPDATE ( "dmr_demirbaslar","demirbas_id",
                                  "yillik_ayrilan_amor_yuzdesi  , "
                                  "toplamda_ayrilan_amor_yuzdesi ,"
                                  "amortisman_ayrilabilir_mi,  "
                                  "yeni_brkms_amortisman_tutari,"
                                  "demirbasin_yeni_degeri,"
                                  "yeniden_degerleme_yapildi,"
                                  "muh_yili_ayrilacak_amor_tutari,"
                                  "muh_devir_yili_ayrilacak_amor",
                                  "demirbas_id = :demirbas_id" );

    query.SET_VALUE      ( ":yillik_ayrilan_amor_yuzdesi"       , yillik_ayrilan_amortisman_yuzdesi );
    query.SET_VALUE      ( ":toplamda_ayrilan_amor_yuzdesi"     , toplamda_ayrilan_amortisman_yuzdesi ) ;
    query.SET_VALUE      ( ":amortisman_ayrilabilir_mi"         , amortisman_ayrilabilir_mi );
    query.SET_VALUE      ( ":yeni_brkms_amortisman_tutari"      , yeni_brkms_amortisman_tutari);
    query.SET_VALUE      ( ":demirbasin_yeni_degeri"            , demirbasin_yeni_degeri);
    query.SET_VALUE      ( ":yeniden_degerleme_yapildi"         , yeniden_degerleme_yapildi);
    query.SET_VALUE      ( ":muh_yili_ayrilacak_amor_tutari"    , ROUND(muh_yili_ayrilacak_amortisman_tutari,-2));
    query.SET_VALUE      ( ":muh_devir_yili_ayrilacak_amor"     , ROUND(muh_devir_yili_ayrilacak_amor_tutari,-2));
    query.SET_VALUE      ( ":demirbas_id"                       , P_FIS_SATIRI->demirbas_id );
    query.UPDATE();



    toplam_tutar                 += P_FIS_SATIRI->satir_tutari;
    toplam_bir_amortisman_tutari += P_FIS_SATIRI->yeni_birikmis_amor_tutari;

    P_FIS->toplam_tutar             = toplam_tutar;
    P_FIS->top_birikmis_amor_tutari = toplam_bir_amortisman_tutari;





    query.PREPARE_INSERT("dmr_fis_satirlari" , "fis_satiri_id" , "fis_id , demirbas_id,"
                         "aciklama ,satir_tutari , birikmis_amortisman_tutari , order_number,"
                         "base_record_id , modul_id , program_id");
    query.SET_VALUE(":fis_id"                     , P_FIS_SATIRI->fis_id);
    query.SET_VALUE(":demirbas_id"                , P_FIS_SATIRI->demirbas_id);
    query.SET_VALUE(":aciklama"                   , P_FIS_SATIRI->aciklama);
    query.SET_VALUE(":satir_tutari"               , ROUND(P_FIS_SATIRI->satir_tutari,-2));
    query.SET_VALUE(":birikmis_amortisman_tutari" , ROUND(P_FIS_SATIRI->birikmis_amor_tutari,-2));
    query.SET_VALUE(":order_number"               , P_FIS_SATIRI->order_number);
    query.SET_VALUE(":base_record_id"             , P_FIS_SATIRI->base_record_id);
    query.SET_VALUE(":modul_id"                   , P_FIS_SATIRI->modul_id);
    query.SET_VALUE(":program_id"                 , P_FIS_SATIRI->program_id);

    int fis_satiri_id = query.INSERT();


    query.PREPARE_UPDATE("dmr_fisler" , "fis_id" , "last_order_number,toplam_tutar,"
                         "toplam_birikmis_amor_tutari", "fis_id = :fis_id");
    query.SET_VALUE(":last_order_number"           , P_FIS_SATIRI->order_number);
    query.SET_VALUE(":toplam_tutar"                , ROUND(P_FIS->toplam_tutar ,-2));
    query.SET_VALUE(":toplam_birikmis_amor_tutari" , ROUND(P_FIS->top_birikmis_amor_tutari,-2));
    query.SET_VALUE(":fis_id"                      , P_FIS_SATIRI->fis_id);
    query.UPDATE();

    if ( P_FIS_SATIRI->base_record_id EQ 0 ) {
        P_FIS_SATIRI->base_record_id = fis_satiri_id;
    }


    //ISLETME ENTEGRASYONU

    //Amortisman tutari kadar isletme modulune gelir fisi satiri eklenir.
    //Kdv yoktur.

    ISL_FIS_STRUCT * ISL_FISI = new ISL_FIS_STRUCT;

    ISL_CLEAR_FIS_STRUCT(ISL_FISI);

    int isl_fis_id = ISL_GET_ENT_FIS_ID(P_FIS->modul_id , P_FIS->program_id , P_FIS->base_fis_id);

    if ( isl_fis_id EQ 0 ) {

        ISL_FISI->aciklama    = QObject::tr("Fiş Sabit Kıymet Modülü tarafından üretilmiştir.Fiş No : %1").arg(P_FIS->fis_no) + P_FIS->aciklama;
        ISL_FISI->base_fis_id = P_FIS_SATIRI->fis_id;
        ISL_FISI->fis_tarihi  = P_FIS->fis_tarihi;
        ISL_FISI->fis_turu    = ENUM_GIDER_FISI;
        ISL_FISI->modul_id    = P_FIS->modul_id;
        ISL_FISI->program_id  = P_FIS->program_id;

        isl_fis_id = ISL_FISI_EKLE(ISL_FISI);
    }
    else {
        ISL_FIS_BILGILERINI_OKU(ISL_FISI , isl_fis_id);
    }

    ISL_FIS_SATIRI_STRUCT * ISL_FIS_SATIRI = new ISL_FIS_SATIRI_STRUCT;

    ISL_CLEAR_FIS_SATIRI_STRUCT(ISL_FIS_SATIRI);

    ISL_FIS_SATIRI->modul_id              = P_FIS->modul_id;
    ISL_FIS_SATIRI->program_id            = P_FIS->program_id;
    ISL_FIS_SATIRI->base_record_id        = P_FIS_SATIRI->base_record_id;
    ISL_FIS_SATIRI->aciklama              = P_FIS_SATIRI->aciklama;
    ISL_FIS_SATIRI->fis_id                = isl_fis_id;
    ISL_FIS_SATIRI->satir_kdv_haric_tutar = P_FIS_SATIRI->satir_tutari;
    ISL_FIS_SATIRI->satir_kdv_dahil_tutar = P_FIS_SATIRI->satir_tutari;
    ISL_FIS_SATIRI->gider_turu            = ENUM_GENEL_GIDERLER;

    ISL_FIS_SATIRI_EKLE(ISL_FISI , ISL_FIS_SATIRI);

    delete ISL_FISI;
    delete ISL_FIS_SATIRI;

    //MUHASEBE ENTEGRASYONU


    MUH_FIS_STRUCT * MUH_FIS = new MUH_FIS_STRUCT;

    MUH_CLEAR_FIS_STRUCT ( MUH_FIS );

    MUH_FIS_BILGILERINI_OKU ( MUH_FIS, P_FIS->muh_fis_id,USE_DB );

    MUH_FIS_SATIRI_STRUCT * MUH_FIS_SATIRI = new MUH_FIS_SATIRI_STRUCT;

    MUH_CLEAR_FIS_SATIRI_STRUCT     ( MUH_FIS_SATIRI );

    MUH_FIS_SATIRI->aciklama                = P_FIS_SATIRI->aciklama;
    MUH_FIS_SATIRI->borc_tutari             = P_FIS_SATIRI->satir_tutari;
    MUH_FIS_SATIRI->alacak_tutari           = 0;
    MUH_FIS_SATIRI->fis_id                  = P_FIS->muh_fis_id;
    MUH_FIS_SATIRI->hesap_id                = amor_gider_hesap_id;
    MUH_FIS_SATIRI->program_id              = P_FIS_SATIRI->program_id;
    MUH_FIS_SATIRI->modul_id                = P_FIS_SATIRI->modul_id;
    MUH_FIS_SATIRI->base_record_id          = P_FIS_SATIRI->base_record_id;
    MUH_FIS_SATIRI->kaydedilecek_sirket              = 1;

    MUH_FIS_SATIRI_EKLE(MUH_FIS , MUH_FIS_SATIRI , USE_DB);

    MUH_FIS_SATIRI->borc_tutari             = 0;
    MUH_FIS_SATIRI->alacak_tutari           = P_FIS_SATIRI->satir_tutari;
    MUH_FIS_SATIRI->hesap_id                = bir_amortismanlar_hesap_id;

    MUH_FIS_SATIRI_EKLE(MUH_FIS , MUH_FIS_SATIRI , USE_DB);

    delete MUH_FIS;
    delete MUH_FIS_SATIRI;

    return fis_satiri_id;

}