Günü Sözü

"Hiçbir şey bilmeyen cahildir, ama bilip de susan ahlaksızdır. " Bertolt Brecht.
"İyilik yapabildiğim zaman mutlu olurum; ama en büyük mutluluk yapılan bir haksızlığı düzeltmektir." Tolstoy

19 Ağustos 2019 Pazartesi

AX 2012 için ücretsix editör düzenleyici (Editor Extensions for AX 2012)

ilk Adım JAEE.AX.EditorExtensions-b0.2 isimli dll dosyalarını indirelim, axapta yı kapatalım
2. adım axaptanın kurulu olduğu bilgisayarda "C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\EditorComponents" klasörün altına kopyalayalım
3. adım test edelim.
ek kaynaklar:
http://yetanotherdynamicsaxblog.blogspot.com/2013/03/free-editor-extensions-for-ax2012.html
https://axatoz.wordpress.com/2014/08/31/free-x-editor-extensions-for-ax-2012-setup-under-5-minutes/

2 Mayıs 2019 Perşembe

MS SQL, SQL, TSQL, BACKUP Sql kodu ile yedekleme

 


DECLARE @name varchar(50) -- database name

DECLARE @path varchar(256) -- yedek dosya/klasör yolu

DECLARE @filename varchar(256) -- yedek dosya adı

DECLARE @filedate varchar(20) -- tarih


SET @path = 'E:\yedek\'


SET @filedate = CONVERT(VARCHAR(20), GETDATE(),112) + '_' + REPLACE(CONVERT(NVARCHAR(20),GETDATE(),108),':','')


DECLARE db_cursor CURSOR FOR 

SELECT name FROM master.dbo.sysdatabases where name like 'CKR_A%'  -- not in ('master','model','msdb','tempdb')

-- AND state = 0 -- database is online

-- AND is_in_standby = 0 -- database is not read only for log shipping


OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name


WHILE @@FETCH_STATUS = 0

BEGIN

SET @filename = @path + @name +'_' + @filedate + '.bak'

BACKUP DATABASE @name TO DISK = @filename WITH STATS=10, COMPRESSION

  FETCH NEXT FROM db_cursor INTO @name

END


close db_cursor 

deallocate db_cursor


5 Şubat 2019 Salı

satır hücre renklendirme

public void displayOption(Common _record, FormRowDisplayOption _options)
{
   CPMTenderReplyCompare localTable = _record;
   Qty  minA,maxA;
   ;
 
    //indexe gore satırdaki ilgili hucreyi renkelendireme
    switch(pMin)
    {
       case 1:
           _options.textColor(WINAPI::rgbCon2int([255, 0, 0]));
           _options.affectedElementsByControl(Grid_ComparePrice1.id());
       break;
       case 2:
           _options.textColor(WINAPI::rgbCon2int([255, 0, 0]));
           _options.affectedElementsByControl(Grid_ComparePrice2.id());
       break;
 
    }
 
    //burdaki ifler istenilen koşula gore satirlari renklendiriyor
    minA = localTable.DispCostAmount-localTable.DispCostAmount*0.15;
    maxA = localTable.DispCostAmount+localTable.DispCostAmount*0.15;
 
    if(localTable.CompareAmount1)
    {
      if(localTable.CompareAmount1 < minA || localTable.CompareAmount1 > maxA )
      {
         _options.backColor(WinApi::RGB2int(50,255,50));//Green
         _options.affectedElementsByControl(Grid_CompareAmount1.id());
      }
    }
  
    if(localTable.CompareAmount2)
    {
      if(localTable.CompareAmount1 < minA || localTable.CompareAmount2 > maxA )
      {
         _options.backColor(WinApi::RGB2int(50,255,50));//Green
         _options.affectedElementsByControl(Grid_CompareAmount2.id());
      }
    }
 
    super(_record, _options);
 
}

1 Ocak 2019 Salı

Export all shared projects, Projelerin dışarı aktarımı xpo

Ax 2012 r3, x++ 
paylaşılan projelerin xpo olarak dışarı aktarımı.

Export all shared projects
Following code exports all projects in the Shared node. For each run it creates a new folder and then the projects are individually exported to xpo.
 
static void ExportAllProjects(Args _args)  
{  
 ProjectNode      sharedProject = Infolog.projectRootNode().AOTfindChild("Shared");  
 TreeNodeIterator   treeIterator;  
 TreeNode        childNode;  
 str           folderPath = @"C:\\AXProjects\\";  
 str           folderName;  
 System.DateTime    dateTime = DateTimeUtil::newDateTime(systemDateGet(), timeNow());  

 void exportProject(TreeNode _projectNode)  
 {  
  FileIoPermission   perm;  
  str           exportFileName;  

  if(_projectNode != null)  
  {  
   exportFileName = folderPath + folderName + "\\" + _projectNode.AOTname() + ".xpo";  
   perm = new FileIoPermission(exportFileName, "W");  
   perm.assert();  
   _projectNode.treeNodeExport(exportFileName);  
   CodeAccessPermission::revertAssert();  
  }  
 }  

 folderName = dateTime.ToString("yyyyMMdd_HHmmss");  

 if(sharedProject)  
 {  
  treeIterator = sharedProject.AOTiterator();  

  if(treeIterator)  
  {  
   if(!WinAPI::pathExists(folderPath + folderName))  
   {  
    info(strFmt('Creating the folder %1', folderPath + folderName));  
    WinAPI::createDirectoryPath(folderPath + folderName);  
   }  

   childNode = treeIterator.next();  
   while (childNode)  
   {  
    info(strFmt('Exporting %1', childNode.AOTname()));  
    exportProject(childNode);  

    childNode = treeIterator.next();  
   }  
  }  

  sharedProject.treeNodeRelease();  
 }  
}  

veya

static void WIK_ExportLayer(Args _args)
{
    #define.ModelToExport1("ISV Model")
    #define.ModelToExport2("USR Model")
    #define.ExportDestination(@"C:\Temp\")
    #AOTExport
    boolean     currentLayerOnly = true;
 
    void exportModel(ModelName _modelName)
    {
        ProjectNode             project;
        SysModelCreateProject   createProject   = SysModelCreateProject::construct();
        ProjectName             projectName     = strReplace(_modelName, ' ', '_') + '_All';
        SysModel                model;
        SysModelManifest        modelManifest;
        SysModelElement         modelElement;
        SysModelElementData     modelElementData;
        SysLabelFileExport      label           = SysLabelFileExport::construct();
 
        select firstOnly Model, RecId from modelManifest
            where modelManifest.Name == _modelName
            join Layer from model
                where modelManifest.Model   == model.RecId
                    && model.Layer          == currentAOLayer();
 
        createProject.parmModelId(modelManifest.RecId);
        createProject.parmProjectName(projectName);
 
        if (createProject.parmModelId())
        {
            // Export model metadata and source
            createProject.run();
            project = SysTreeNode::getPrivateProject().AOTfindChild(projectName);
            project.treeNodeExport(#ExportDestination + projectName + '.xpo', currentLayerOnly ? #export | #expLayer : #export);
 
            // Export label files and languages
            while select modelElement
                where modelElement.ElementType  == UtilElementType::LabelFileLanguage
                exists join modelElementData
                    where modelElementData.ModelId  == modelManifest.Model
                        && modelElement.RecId       == modelElementData.ModelElement
            {
                label.parmTreenode(TreeNode::findNode(SysTreeNode::modelElement2Path(modelElement)));
                label.parmPath(#ExportDestination);
                label.run();
            }
 
            // Export project definitions
            while select modelElement
                where modelElement.ElementType  == UtilElementType::SharedProject
                exists join modelElementData
                    where modelElementData.ModelId  == modelManifest.Model
                        && modelElement.RecId       == modelElementData.ModelElement
            {
                project = TreeNode::findNode(SysTreeNode::modelElement2Path(modelElement));
                if (!WinAPI::folderExists(#ExportDestination + 'Projects'))
                {
                    WinAPI::createDirectory(#ExportDestination + 'Projects');
                }
                project.treeNodeExport(#ExportDestination + @'Projects\' + enum2str(currentAOLayer()) + modelElement.Name + '.xpo', currentLayerOnly ? #export | #expProjectOnly | #expLayer : #export | #expProjectOnly);
            }
        }
        else
        {
            error(strFmt('Layer %1 does not have model %2', strUpr(enum2str(currentAOLayer())), _modelName));
        }
    }
 
    exportModel(#ModelToExport1);
    exportModel(#ModelToExport2);
}