SQL eşitleme hatası veriyor
DMF üzerine
TXT > Unicode
Sayılarda ondalık ayracı için virgül yerine nokta
Tarihte nokta yerine / işareti
linked SQL servers
USE master;
GO
EXEC sp_addlinkedserver
N'SQLServer',
N'SQL Server';
GO
INSERT INTO [Database].[dbo].[EVENTINBOXDATA]
([INBOXID]
,[DATATYPE]
,[DATA]
,[RECVERSION]
,[RECID])
(SELECT [INBOXID]
,[DATATYPE]
,[DATA]
,[RECVERSION]
,[RECID]
FROM [AXSQL].[OtherDatabase].[dbo].[EVENTINBOXDATA] WHERE [INBOXID] = 2832288)
Kullanıcı verilerini aktarma
SYSPERSONALIZATION sık kullanılanların saklandığı tablo
SYSLASTVALUE kullanıcının özelleştirmelerinin saklandığı tablo
UPDATE [dbo].[SYSLASTVALUE] SET [USERID] = 'yeniuserid' WHERE [USERID] = 'eskiuserid' GO UPDATE [dbo].[SYSPERSONALIZATION] SET [USERID] = 'yeniuserid' WHERE [USERID] = 'eskiuserid' GO
bir ambardaki eldeki stok miktarına göre başka bir ambara transfer emri oluşturma
static void InventJournalFromInventOnHand(Args _args) { Query q; QueryBuildDataSource qbdsInventSum; QueryBuildDataSource qbdsInventDim; QueryRun queryRun; InventSum inventSum; InventDim inventDim, tmpInventDim, toInventDim; InventJournalTable inventJournalTable; InventJournalTrans inventJournalTrans; InventLocationId fromInventLocationId = "MRS_HASAR", toInventLocationId = "MRS_SATIS"; ; ttsbegin; InventJournalTable.clear(); InventJournalTable.initValue(); InventJournalTable.initFromInventJournalName("YourTransferJournalName"); InventJournalTable.insert(); q = new Query(); qbdsInventSum = q.addDataSource(tablenum(InventSum)); // RANGES //qbdsInventSum.addRange(fieldNum(InventSum, ItemID)).value(queryValue("TIM0288")); // GROUP BY qbdsInventSum.addGroupByField(fieldNum(InventSum, ItemID)); // SUM qbdsInventSum.addSelectionField(fieldNum(InventSum, PhysicalInvent), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, PostedQty), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Received), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Deducted), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Registered), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Picked), SelectionField::Sum); // INVENTDIM qbdsInventDim = qbdsInventSum.addDataSource(tablenum(InventDim)); qbdsInventDim.relations(true); // RANGES qbdsInventDim.addRange(fieldNum(InventDim, InventLocationId)).value(queryValue(fromInventLocationId)); // GROUP BY qbdsInventDim.addGroupByField(fieldNum(InventDim, configId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventSizeId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventColorId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventSiteId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventLocationId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventBatchId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, inventSerialId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, wMSLocationId)); queryRun = new QueryRun(q); while (queryRun.next()) { inventSum = queryRun.get(tablenum(InventSum)); inventDim = queryRun.get(tablenum(inventDim)); if ( inventSum.physicalInvent() > 0 ) { info(strfmt("%1 %2 %3", inventSum.ItemId, inventSum.physicalInvent(), tmpInventDim.InventBatchId)); inventJournalTrans.clear(); inventJournalTrans.initFromInventJournalTable(inventJournalTable); inventJournalTrans.ItemId = inventSum.ItemId; inventJournalTrans.Qty = inventSum.physicalInvent(); inventJournalTrans.TransDate = today(); tmpInventDim.clear(); tmpInventDim.configId = inventDim.configId; tmpInventDim.InventColorId = inventDim.InventColorId; tmpInventDim.InventSizeId = inventDim.InventSizeId; tmpInventDim.InventSiteId = inventDim.InventSiteId; tmpInventDim.InventLocationId = inventDim.InventLocationId; tmpInventDim.wMSLocationId = inventDim.wMSLocationId; tmpInventDim.InventBatchId = inventDim.InventBatchId; tmpInventDim.inventSerialId = inventDim.inventSerialId; tmpInventDim = InventDim::findOrCreate(tmpInventDim); inventJournalTrans.InventDimId = tmpInventDim.InventDimId; toinventdim = tmpInventDim; toinventdim.InventLocationId = toInventLocationId; toinventdim = inventdim::findOrCreate(toinventdim); inventJournalTrans.ToInventDimId = toinventdim.inventDimId; if(inventJournalTrans.InventDimId != inventJournalTrans.ToInventDimId) inventJournalTrans.insert(); else throw error ("inventdim tutarsız"); } } ttscommit; }
Kayıt zaten var hatası
“Cannot create a record in (table). The record already exists.”
tableid yi bulmak için, yada AOT tan table properties
static void GetTableIdFromNameJob(Args _args)
{
info(strFmt(“%1″, tableName2id(”
“))); }
sql mgt studio ‘yu açalım
select max(recid) from
Edit table SYSTEMSEQUENCES
SELECT ID, NEXTVAL, MINVAL, MAXVAL, CYCLE, NAME, TABID, DATAAREAID, RECVERSION, RECID FROM SYSTEMSEQUENCES WHERE (TABID = 1462)
NEXTVAL değerini arttırıp AOS u restart edelim. (the changes will not take affect until you restart the AOS)
Kaynak : https://community.dynamics.com/
#1387 MSG_PRESENCE sorunu
aşağıdaki konumda yer alan *.KTI dosyasını silin
C:\Users\Administrator(kullanıcı adın)\AppData\Local
iş akışına onay/harcama sınırı parametresi ekleme
WorkflowDocument classına aşağıdaki metodlar eklenmeli
public class yourClassName extends WorkflowDocument { } > Class metodları protected void checkContext(tableId _tableId, RecId _recId) {; if (_tableId != tablenum(DRTExpenseTable)) // Your table name { // Workflow context table id reference: %1 is not valid throw error(strfmt("@SYS107963", _tableId)); } if (_recId == 0) { // Workflow context record id is zero. throw error(strfmt("@SYS107964")); } } public PurchReqSpendingLimitValueMST parmSpendingLimit(CompanyId _companyId, tableId _tableId, RecId _recId) { YourTableName yourTableName = YourTableName::findRecId(_recID); HRPLimitTypeTable limitTypeTable; HRPLimitTableMap limitTableMap; AmountMST limitValue; ; this.checkContext(_tableId, _recId); while select limitTypeTable where limitTypeTable.LimitType == HRPLimitType::Spending && limitTypeTable.DocumentType == HRPLimitDocumentType::CustCredit { limitTableMap = HRPLimitTableRelationship::getActiveLimitEmpl(limitTypeTable.LimitId, EmplTable::userId2EmplId(yourTableName.createdBy)); limitValue = max(limitValue,Currency::mstAmount(limitTableMap.LimitValue, limitTableMap.CurrencyCode)); } return limitValue; }
siparişte madde kodu üzerinde arama
satış siparişine satır eklerken madde kodu alanında sizin belirleyebileceğiniz alanlar üzerinden arama yaptırabilirsiniz.
Product Name alanını eklerseniz, muhtemel stok adının bir kısmını yazıp Tab tuşuna basarsanız ve tek kayıt dönüyorsa otamatik olarak seçilir. birden fazla sonuç dönerse bir dialog çıkıyor ve seçiyorsunuz. bunu müşteri ve iş ilişkisi için de yaptırabilirsiniz.
çok güzel anlatılmış.
Configure The Product Search To Quickly Filter Products At Order Entry
AX development ortamını açmak
To open a Development Workspace using the command line
On the taskbar, click Start, and then click Run.
In the Open field, enter cmd, and then click OK.
At the command prompt, type the following:
C:\Users\axadmin>”C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin
\AX32.exe” -development