static void MAA__EInvoiceActiveCustVendParties_2(Args _args) { EInvoiceActiveCustVendParties EInvoiceActiveCustVendParties; CustTable custTable; VendTable vendTable; ttsBegin; ChangeCompany("TRS") { EInvoiceActiveCustVendParties = null; while select forUpdate EInvoiceActiveCustVendParties { custTable = CustTable::find(EInvoiceActiveCustVendParties.CustAccount); if(custTable.TaxNumberType_TR == TaxNumberType_TR::TCIdentityID) { EInvoiceActiveCustVendParties.FirstName = custTable.FirstName; EInvoiceActiveCustVendParties.LastName = custTable.LastName; EInvoiceActiveCustVendParties.Update(); } vendTable = VendTable::find(EInvoiceActiveCustVendParties.VendAccount); if(vendTable.TaxNumberType_TR == TaxNumberType_TR::TCIdentityID) { EInvoiceActiveCustVendParties.FirstName = vendTable.FirstName; EInvoiceActiveCustVendParties.LastName = vendTable.LastName; EInvoiceActiveCustVendParties.Update(); } } } ChangeCompany("TAS") { EInvoiceActiveCustVendParties = null; while select forUpdate EInvoiceActiveCustVendParties { custTable = CustTable::find(EInvoiceActiveCustVendParties.CustAccount); if(custTable.TaxNumberType_TR == TaxNumberType_TR::TCIdentityID) { EInvoiceActiveCustVendParties.FirstName = custTable.FirstName; EInvoiceActiveCustVendParties.LastName = custTable.LastName; EInvoiceActiveCustVendParties.Update(); } vendTable = VendTable::find(EInvoiceActiveCustVendParties.VendAccount); if(vendTable.TaxNumberType_TR == TaxNumberType_TR::TCIdentityID) { EInvoiceActiveCustVendParties.FirstName = vendTable.FirstName; EInvoiceActiveCustVendParties.LastName = vendTable.LastName; EInvoiceActiveCustVendParties.Update(); } } } ttsCommit; }
31 Mayıs 2019 Cuma
ChangeCompany X++
Changecompany kullanımı; bir şirket üzerindeyken belirlediğiniz farklı şirketlerden de data çekmenizde yardımcı olur. Aşağıdaki örneği inceleyebilirsiniz.
29 Mayıs 2019 Çarşamba
Temel E-Fatura | Ticari E-Fatura
Temel kesilen faturaların sistemden reddi yapılamıyordu.
05.03.2019 tarihinden itibaren firmalar temel e-faturalar e-fatura iptal portalından , iptal talebinde bulunarak alıcı firmanın onayı ile fatura reddedilmiş/ yani iptal edilmiş oluyor.
Müşterilere düzenlediğimiz faturaları yanlış düzenlersek yada iptal kararı verirsek e-fatura iptal portalından “iptal” talebinde bulunulur, müşteri reddini yapabilir.
Satıcılar tarafında ise firmalar iptal talebinde bulunacak e-imza ile reddedeceğiz. GİB’den onaylanan iptallerde, Uyumsoft’a bildirilmediği için Uyumsoft portal üzerindeki faturanın durumu eski haliyle kalacak.Sisteme giriş için bazı ayarların yapılması gerekiyor.
İptal portalı | https://portal.efatura.gov.tr/FaturaIptal/
Ayarlara aşağıdaki linkten ulaşabilirsiniz. http://efatura.gov.tr/dosyalar/kilavuzlar/%C4%B0mzalama_Araci_Kullanim_Kilavuzu.pdf
Temel Fatura
Satıcılar tarafında ise firmalar iptal talebinde bulunacak e-imza ile reddedeceğiz. GİB’den onaylanan iptallerde, Uyumsoft’a bildirilmediği için Uyumsoft portal üzerindeki faturanın durumu eski haliyle kalacak.Sisteme giriş için bazı ayarların yapılması gerekiyor.
İptal portalı | https://portal.efatura.gov.tr/FaturaIptal/
Ayarlara aşağıdaki linkten ulaşabilirsiniz. http://efatura.gov.tr/dosyalar/kilavuzlar/%C4%B0mzalama_Araci_Kullanim_Kilavuzu.pdf
Temel Fatura
Temel e-fatura seçimi yapıp faturanızı karşı tarafa bu şekilde gönderirseniz, faturanız karşı tarafın onayını beklemeden otomatik olarak (onaylanmış/kabul edilmiş) olarak algılanır.
Ticari Fatura
Ticari e-fatura gönderdiğinizde, karşı tarafa onay ve red seçenekleri sunulur. Bu durumda firma faturayı inceleyip onaylayabilir ya da ikinci bir seçenek olarak red yanıtı verebilir.
28 Mayıs 2019 Salı
Müşteri > BankChequeTable
Aşağıdaki kodu çalıştırdığınızda müşterinin çekleriyle ilgili problem olduğunda veriler doğru girildiyse problemin gitmesini sağlar.
static void Bank_custTable (Args _args) { BankChequeTable BankChequeTable; CustTable custTable; ; ttsbegin; while select forupdate custTable where custTable.Blocked != CustVendorBlocked::All && custTable.CreditMax > 1 { select forupdate sum(AmountMST) from BankChequeTable where BankChequeTable.Customer == custTable.AccountNum && BankChequeTable.DocumentStatus != LedgerTransTxt::RejectedToCust && BankChequeTable.DocumentStatus != LedgerTransTxt::PaidCust && BankChequeTable.ETGCiroPayment == NoYes::No; if(custTable.RiskAmount != BankChequeTable.AmountMST ) { custTable.RiskAmount = BankChequeTable.AmountMST; custTable.update(); } } ttscommit; }
Müşteri kredi limitlerinin yeniden hesaplanması
Aşağıdaki kod müşteri kredi limitlerini yeniden hesaplar.
static void Sales_CreditLimits(Args _args) { #OCCRetryCount SalesTable salesTable; SalesId fromSalesId; ; if (_showProgess && !updateOne) { this.progressInit("@SYS59119", 0, #AviFormLetter); progress.setText(strfmt("@SYS26577")); } try { ttsbegin; update_recordset salesTable setting estimate = 0 where salesTable.SalesStatus == SalesStatus::Invoiced && salesTable.Estimate != 0; while (queryRun.next()) { salesTable = queryRun.get(tablenum(SalesTable)); if (_showProgess && !updateOne) { if (fromSalesId) this.progressUpdate(strfmt("@SYS59131", strfmt('%1 - %2',fromSalesId, salesTable.SalesId))); else this.progressUpdate(strfmt("@SYS59131", salesTable.SalesId)); fromSalesId = salesTable.SalesId; } if (salesTable.setEstimate()) salesTable.doUpdate(); } ttscommit; } catch (Exception::Error) { info("@SYS78886"); } catch (Exception::Deadlock) { queryRun.reset(); retry; } catch (Exception::UpdateConflict) { if (appl.ttsLevel() == 0) { if (xSession::currentRetryCount() >= #RetryNum) { throw Exception::UpdateConflictNotRecovered; } else { queryRun.reset(); retry; } } else { throw Exception::UpdateConflict; } } }
6 Mayıs 2019 Pazartesi
Madde kartlrında Boyutların zorunluluğu | Dynamics Ax
Madde kartlrında Boyutların zorunluluğu
Madde kartında bulunan Madde grubu alanına göre boyutların zorunlu hale gelmesinde aşağıdaki kodu PurchTabe formunun datasource'unda bulunan PurcLine'ın methods'una yazdığınızda buradaki kontroller çalışacaktır.Böylece madde grubunda belirlediğiniz zorunlu alanlar formda boş geçilmeyecektir. Aynı kodu SalesTable için de yazabilirsiniz.void checkDimension() { ItemGroupMandSetupTable itemGroupMandSetupTable; ; PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 1)).allowEdit(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 1)).mandatory(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 2)).allowEdit(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 2)).mandatory(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 3)).allowEdit(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 3)).mandatory(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 4)).allowEdit(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 4)).mandatory(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 5)).allowEdit(false); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 5)).mandatory(false); while select itemGroupMandSetupTable where ItemGroupMandSetupTable.InventItemGroupId == InventTable::find(PurchLine.ItemId).ItemGroupId { if(itemGroupMandSetupTable.DimensionCode == SysDimension::Department) { if(!PurchLine.Dimension[1]) { PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 1)).allowEdit(true); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 1)).mandatory(true); } } if(itemGroupMandSetupTable.DimensionCode == SysDimension::Center) { if(!PurchLine.Dimension[2]) { PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 2)).allowEdit(true); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 2)).mandatory(true); } } if(itemGroupMandSetupTable.DimensionCode == SysDimension::Purpose) { if(!PurchLine.Dimension[3]) { PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 3)).allowEdit(true); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 3)).mandatory(true); } } if(itemGroupMandSetupTable.DimensionCode == SysDimension::Person) { if(!PurchLine.Dimension[4]) { PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 4)).allowEdit(true); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 4)).mandatory(true); } } if(itemGroupMandSetupTable.DimensionCode == SysDimension::Vehicle) { if(!PurchLine.Dimension[5]) { PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 5)).allowEdit(true); PurchLine_ds.object(fieldid2ext(fieldnum(PurchLine, Dimension), 5)).mandatory(true); } } } }
Kaydol:
Kayıtlar (Atom)
Total ciro
static void MAA_SalesTableTotal(Args _args) { SalesTable SalesTable; utcDateTime dateTime; dateTime ...
-
Dynamics Ax Microsoft’un orta ve büyük ölçekli işletmelerin ihtiyaçlarını karşılamak için tasarladığı temel iş çözümüdür. Veritabanı yöne...
-
Veri Filtreleme CTRL+F Geçerli alanı filtrelemek için kullanılır. Ekran açılır. Hangi alan üzerine tıklandı ise o alan için filtreleme k...