InventTable inventTable; inventTable = InventTable::find( InventQuarantineOrder.itemId ); if ( !inventTable ) return false; ... sText += inventTable.productName( SystemParameters::getSystemLanguageId() );
Microsoft AX 2012, X++, C#, SQL server, SSRS, Java, JavaFX, Oracle, PL/SQL, Delphi - codes examples, step-by-step tutorials, experiences.
Tuesday, December 22, 2020
AX - How to read name from product
Friday, December 18, 2020
C# - How to convert short array/list into byte array list
/* source with short values */ public List<short> Data = new List<short>(); ... short[] DataArray = Data.ToArray(); byte[] bufferBytes = new byte[ DataArray.Length * sizeof( short ) ]; Buffer.BlockCopy( DataArray, 0, bufferBytes, 0, bufferBytes.Length ); /* dest with byte values */ Console.WriteLine( bufferBytes[0] + ", " + bufferBytes[1] );If first short value in source list is 313, then first two values in bufferBytes after copy will be 57 (111001) a 1(1).
Friday, September 18, 2020
AX - How to sort datasource
Simple add into datasource Init() method this code:
public void init() { super(); smmEncyclopediaItems_ds.query().dataSourceNo( 1 ). addSortField( fieldNum( smmEncyclopediaItems, ParentId ), SortOrder::Ascending ); smmEncyclopediaItems_ds.query().dataSourceNo( 1 ). addSortField( fieldNum( smmEncyclopediaItems, order ), SortOrder::Ascending ); smmEncyclopediaItems_ds.query().dataSourceNo( 1 ). addSortField( fieldNum( smmEncyclopediaItems, ItemName ), SortOrder::Ascending ); }
Tuesday, August 25, 2020
C# - How to make question into active directory (AD, LDAP)
This example shows all Petr names contained in defined AD:
/* -- question */ DirectoryEntry de = new DirectoryEntry("LDAP://OU=Comp Users,DC=EU,DC=company,DC=local"); /* -- define searcher */ DirectorySearcher ds = new DirectorySearcher(de); ds.Filter = "(&(objectCategory=User)(objectClass=person)(givenname=*petr*))"; ds.Sort = new SortOption( "name", SortDirection.Ascending ); /* -- enumerate results */ SearchResultCollection results = ds.FindAll(); foreach ( SearchResult sr in results ) { string output = ""; if ( sr.Properties["name"].Count > 0 ) output+= sr.Properties["name"][0].ToString(); if ( sr.Properties["mail"].Count > 0 ) output+= " - " + sr.Properties["mail"][0].ToString(); if ( sr.Properties["givenname"].Count > 0 ) output+= " - " + sr.Properties["givenname"][0].ToString(); if ( sr.Properties["sn"].Count > 0 ) output+= " - " + sr.Properties["sn"][0].ToString(); if ( sr.Properties["userPrincipalName"].Count > 0 ) output+= " - " + sr.Properties["userPrincipalName"][0].ToString(); if ( sr.Properties["distinguishedName"].Count > 0 ) output+= " - " + sr.Properties["distinguishedName"][0].ToString(); Console.WriteLine( output ); }Output:
Bednaro, Petr - Petr.Bednar@company.com - Petr - Bednaro - bednarop@EU.company.local - CN=Bednaro\, Petr,OU=Czech Republic,OU=MKPE,OU=Comp Users,DC=EU,DC=company,DC=local Cepka, Petr - Petr.Cepka@company.com - Petr - Cepka - cepkap@EU.company.local - CN=Cepka\, Petr,OU=Czech Republic,OU=BEIC,OU=Comp Users,DC=EU,DC=company,DC=local Hartigo, Petr - Petr.Hartigo@company.com - Petr - Hartigo - hartigop@EU.company.local - CN=Hartigo\, Petr,OU=Czech Republic,OU=MKPE,OU=Comp Users,DC=EU,DC=company,DC=localFor DirectoryEntry is possible use Domain class:
DirectoryEntry de = domain.GetDirectoryEntry();If you want filter only for company BEIC, extent the filter in LDAP string:
DirectoryEntry de = new DirectoryEntry("LDAP://OU=BEIC,OU=Comp Users,DC=EU,DC=company,DC=local");
Thursday, August 20, 2020
C# - How to get active domain name
Domain domain;
try {
domain = Domain.GetCurrentDomain();
Console.WriteLine( domain.Name );
}
catch ( ActiveDirectoryOperationException e ) {
Console.WriteLine( "No domain" );
return;
}
Output:
EU.company.local
Monday, July 13, 2020
C# - How to compute hash value for the file
using( var md5 = MD5.Create() ) using( var sha256 = SHA256.Create() ) { using ( FileStream stream = File.OpenRead( @"c:\_ax\3of9.ttf" ) ) { byte[] hashMD5 = md5.ComputeHash( stream ); Console.WriteLine( BitConverter.ToString( hashMD5 ) ); byte[] hashSHA256 = sha256.ComputeHash( stream ); Console.WriteLine( BitConverter.ToString( hashSHA256 ) ); } }Output:
DB-E9-C0-88-6B-BB-A1-84-5D-4C-D8-95-60-DD-91-4E E3-B0-C4-42-98-FC-1C-14-9A-FB-F4-C8-99-6F-B9-24-27-AE-41-E4-64-9B-93-4C-A4-95-99-1B-78-52-B8-55
Tuesday, June 23, 2020
SQL SERVER - How to load data from text file to table ?
If I have this table:
column_name datatype length --------------- ---------- ------ id varchar 7 description nvarchar 60 last_index int NULL..and this text file (first three rows only here):
-94544;ovládání;74 -00000;přídavné podstavce;15 -01881;hřídel, nástavec-spojovací(keiper);145For import file data to this table use this statement:
delete dbo.drawing_index;
bulk insert dbo.drawing_index
from 'c:\cieb\import\drawing_index.txt'
with
(
CODEPAGE = '65001', -- UTF-8
fieldterminator = ';',
ROWTERMINATOR = '\n'
)
Output:
Tuesday, June 2, 2020
C# - How to hide TabPage ?
TabPage.Hide() doesn`t work correctly. But you can use this trick:
TabCommon.Parent = null; TabLabels.Parent = null;Output:
Wednesday, May 6, 2020
C# - How get Max() on FindAll() - LINQ
This example finds between MapAreas items max(Page) - but only in same Row as mapArea.Row.
int page = this.MapAreas.FindAll( area => area.Row == mapArea.Row ).Max( x => x.Page );
Monday, April 6, 2020
Thursday, April 2, 2020
SQL SERVER - How to align string length to fixed size
With left() function is problem because ending spaces are lost. The solution is little trick with space() function.
select top 1 left( itemid, 25 ) + 'x' from inventitemprice
where
itemid = 'S-144-700-1006'
select top 1 left( itemid + space(100), 25 ) + 'x' from inventitemprice
where
itemid = 'S-144-700-1006'
Output: --------------------------
S-144-700-1006x
(1 row(s) affected)
--------------------------
S-144-700-1006 x
(1 row(s) affected)
Friday, March 13, 2020
Monday, March 9, 2020
C# - How call stored proc with output/return parameter ?
public static string GetStatistics() { string value = ""; SqlCommand command = DB.SPPrepare( "GetStatisticsAsString" ); command.Parameters.Add( new SqlParameter( "@catalog", "HYG" ) ); command.Parameters.Add( new SqlParameter( "@catalogDSO", "MYDSO" ) ); SqlParameter par = new SqlParameter( "@output", System.Data.SqlDbType.NVarChar, 2048 ); par.Direction = System.Data.ParameterDirection.Output; command.Parameters.Add( par ); command.ExecuteNonQuery(); value = (string)command.Parameters[ "@output" ].Value; return value; }
Monday, March 2, 2020
C# - How to use generic Min(), Max()
shape.Saved_Width = Math.Abs( shape.Points.Max( item => item.Draw_X )-shape.Points.Min( item => item.Draw_X ) );
Friday, February 28, 2020
AX - How to make sorting in grid column
Friday, January 31, 2020
SQL SERVER - How to make cumulative sum column
If you need cumulative sum if SQL select, you can use analytical function:
select cast( mag as int ) as mag, count(*) as count,
sum ( count(*) ) over
( order by cast( mag as int ) rows between unbounded preceding and current row )
as count_cumul
from dso
where
catalog = 'MYDSO'
group by cast( mag as int )
order by cast( mag as int )
Output: mag count count_cumul ----------- ----------- ----------- 0 5 5 1 5 10 2 7 17 3 13 30 4 26 56 5 45 101 6 88 189 ...
Tuesday, January 14, 2020
C# - How to sort generic list by item value
private List<ConstellationIndex> ConstellationsIndex = new List<ConstellationIndex>();
...
this.ConstellationsIndex.Sort( (x, y) => x.Constellation.CompareTo( y.Constellation ) );
Thursday, January 9, 2020
C# - How to go through files in directory with files copy
DirectoryInfo dir = new DirectoryInfo( this.OverviewMapCopyFromDir ); foreach( FileInfo file in dir.GetFiles( "overview_*.tif" ) ) { File.Copy( file.FullName, Path.Combine( m_FullOutputDirectory, file.Name ) ); }
Friday, January 3, 2020
C# - How to convert first character of string to upper letter
The problem is little complicated, because access to string chars (through indexer) is only read-only.
One way is this:
One way is this:
row.Constellation = arr[2].Trim().ToLower(); char[] ch = row.Constellation.ToCharArray(); ch[0] = char.ToUpper( row.Constellation[0] ); row.Constellation = new string( ch );
Thursday, January 2, 2020
Subscribe to:
Posts (Atom)