protected override void AfterSaveNew()
        {
            if (IsErrorExist())
            {
                return;
            }

            if (_BuatJurnalPembalik)
            {
                Jurnal JurnalBalik = (Jurnal)MetaData.Clone(this);
                JurnalBalik.BuatJurnalPembalik = false;
                JurnalBalik._Internal          = true;
                JurnalBalik._NoJurnal          = string.Empty;
                JurnalBalik._NoJurnalPembalik  = string.Empty;
                JurnalBalik._NoDokSumber       = _NoJurnal;
                JurnalBalik.JenisDokSumber     = "Jurnal Pembalik";
                JurnalBalik._TglJurnal         = _TglDibalik;
                foreach (JurnalDetil Jd in JurnalBalik.JurnalDetil)
                {
                    Jd.DebitKurs  = -Jd.DebitKurs;
                    Jd.KreditKurs = -Jd.KreditKurs;
                }
                JurnalBalik.SaveNew(true, false);
                _NoJurnalPembalik = JurnalBalik._NoJurnal;
                ExecuteNonQuery(
                    "UPDATE Jurnal SET NoJurnalPembalik=@0 WHERE NoJurnal=@1",
                    new FieldParam("0", _NoJurnalPembalik),
                    new FieldParam("1", _NoJurnal));
            }
            BaseGL.RingkasanAkun.Hapus(_TglJurnal);
            _AturanJurnal      = string.Empty;
            LastJenisDokSumber = _JenisDokSumber;
        }
        private void BuatJurnal(string NoJurnal)
        {
            Jurnal Jr = new Jurnal(NoJurnal, _TglTransfer, _NoTransfer,
                                   ModuleName, true, _Keterangan, false, DateTime.MinValue);

            Jr.JurnalDetil.Add(new JurnalDetil(Jr, string.Empty,
                                               string.Empty, _IdKasTujuan, string.Empty, _NilaiKasTujuan,
                                               0, _KursKasTujuan, _Keterangan));

            if (_NilaiKasAsal != _NilaiKasTujuan)
            {
                AddError("NilaiKasAsal", "Mata Uang Kas Asal dan Kas Tujuan harus sama !");
            }
            //Jr.JurnalDetil.Add(new JurnalDetil(Jr, string.Empty,
            //    string.Empty, _IdKasAsal, string.Empty, _NilaiKasAsal,
            //    0, _NilaiKasAsal * _KursKasAsal, _Keterangan));

            Jr.JurnalDetil.Add(new JurnalDetil(Jr, string.Empty,
                                               string.Empty, _IdKasAsal, string.Empty, 0, _NilaiKasAsal,
                                               _KursKasAsal, _Keterangan));

            if (NoJurnal.Length == 0)
            {
                Jr.SaveNew();
            }
            else
            {
                Jr.SaveUpdate();
            }
        }
Beispiel #3
0
        private void BuatJurnal(string NoJurnal)
        {
            if (_StatusTransaksi == enStatusTransaksiKas._ ||
                _StatusTransaksi == enStatusTransaksiKas.SudahKliring)
            {
                Jurnal jr = new Jurnal(NoJurnal, _TglKliring,
                                       _NoPengeluaranKas, ModuleName,
                                       true, _Catatan, false, DateTime.MinValue);

                foreach (PengeluaranKasUmumDetil pkd in PengeluaranKasDetil)
                {
                    decimal Debit, Kredit;

                    JenisPengeluaranKas jpk = new JenisPengeluaranKas();
                    if (jpk.FastLoadEntity("IdAkun",
                                           "JenisPengeluaran=@0",
                                           new FieldParam("0", pkd.JenisPengeluaran)))
                    {
                        if (pkd.NilaiPengeluaran > 0)
                        {
                            Debit  = pkd.NilaiPengeluaran;
                            Kredit = 0;
                        }
                        else
                        {
                            Debit  = 0;
                            Kredit = -pkd.NilaiPengeluaran;
                        }
                        jr.JurnalDetil.Add(new JurnalDetil(jr,
                                                           pkd.IdDepartemen, pkd.IdProyek,
                                                           jpk.IdAkun, pkd.JenisPengeluaran, Debit, Kredit, 0,
                                                           pkd.Keterangan));
                    }
                    else
                    {
                        pkd.AddError("JenisPengeluaran",
                                     "Jenis Pengeluaran tidak valid");
                        return;
                    }
                }

                jr.JurnalDetil.Add(new JurnalDetil(jr,
                                                   string.Empty, string.Empty,
                                                   _IdKas, string.Empty, 0, _TotalNilai, 0, _Catatan));
                if (NoJurnal.Length == 0)
                {
                    jr.SaveNew();
                }
                else
                {
                    jr.SaveUpdate();
                }
            }
            else
            {
                Jurnal.Hapus(Dp, ModuleName, _NoPengeluaranKas);
            }
        }
        protected override void AfterSaveUpdate()
        {
            if (ListAkun == null || IsErrorExist())
            {
                return;
            }

            Jurnal OrigJurnal = GetOriginal <Jurnal>();

            if (OrigJurnal == null)
            {
                return;
            }

            if (OrigJurnal._NoJurnalPembalik.Length > 0)
            {
                FieldParam Param1 = new FieldParam("0",
                                                   OrigJurnal._NoJurnalPembalik);
                ExecuteNonQuery(
                    "DELETE FROM Jurnal WHERE NoJurnal=@0",
                    Param1);
                ExecuteNonQuery(
                    "DELETE FROM JurnalDetil WHERE NoJurnal=@0",
                    Param1);
            }
            if (_BuatJurnalPembalik)
            {
                Jurnal JurnalBalik = (Jurnal)MetaData.Clone(
                    this);
                if (OrigJurnal._NoJurnalPembalik.Length > 0)
                {
                    JurnalBalik._NoJurnal =
                        OrigJurnal._NoJurnalPembalik;
                }

                JurnalBalik.BuatJurnalPembalik = false;
                JurnalBalik._Internal          = true;
                JurnalBalik._NoJurnal          = string.Empty;
                JurnalBalik._NoJurnalPembalik  = string.Empty;
                JurnalBalik._NoDokSumber       = _NoJurnal;
                JurnalBalik.JenisDokSumber     = "Jurnal Pembalik";
                JurnalBalik._TglJurnal         = _TglDibalik;
                foreach (JurnalDetil Jd in JurnalBalik.JurnalDetil)
                {
                    Jd.Debit  = -Jd.Debit;
                    Jd.Kredit = -Jd.Kredit;
                }
                JurnalBalik.SaveNew(true, false);
                _NoJurnalPembalik = JurnalBalik._NoJurnal;
                ExecuteNonQuery(
                    "UPDATE Jurnal SET NoJurnalPembalik=@0 WHERE NoJurnal=@1",
                    new FieldParam("0", _NoJurnalPembalik),
                    new FieldParam("1", _NoJurnal));
            }
            DateTime Tmp = OrigJurnal._TglJurnal;

            if (Tmp > _TglJurnal)
            {
                Tmp = _TglJurnal;
            }
            BaseGL.RingkasanAkun.Hapus(Tmp);
            _AturanJurnal = string.Empty;
        }