Wednesday, December 9, 2015

The column name that you entered is already in use or reserved

The column name that you entered is already in use or reserved will come when you create any come in the list.

Click F12

  •  Go to Console Windoe
  • In Console write below code:     g_FieldName={};

Wednesday, November 25, 2015

Rest App for Date field filter and orderby in Sharepoint 2010 2013 2016

var dt="2015-12-01" //YYYY-MM-DD

 _spPageContextInfo.webAbsoluteUrl + "/_api/lists/getbyTitle('Test')/items?$filter=Date lt  '" + dt + "'&$orderby=Date desc&$top=1"

Rest App for Date field Orderby in Sharepoint 2010 2013 2016

var dt="2015-12-01" //YYYY-MM-DD

SiteUrl+"/_api/lists/getbyTitle('TestList')/items?$filter=Date eq  '" + dt + "'"

fetching data in Angular js using Rest app Sharepoint 2010 2013 2015


var CFRATSApp = angular.module("CFRATSApp", []);
var period, year, weak;
CFRATSApp.controller('MainController', function ($scope, $http, $filter) {
    dt = querySt("date");
    selDate = dt.length > 0 ? new Date(dt.split('-')[0], eval(dt.split('-')[1]) - 1, dt.split('-')[2]) : new Date();
    period = $('#Period').getXXXDate({
        format: "P{P}",
        selectedDate: selDate
    }).html();

    year = $('#Year').getXXXDate({
        format: "{Y}",
        selectedDate: selDate
    }).html();
    weak = $('#Weak').getXXXDate({
        format: "{W}",
        selectedDate: selDate
    }).html();
    $http({
        method: 'GET',
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/Lists/getByTitle('CFR%20Report')/items?$select=P,Year,Target,OData__x0057_1,OData__x0057_2,OData__x0057_3,OData__x0057_4,PTD,YTD,Category,Channel",
        headers: { "Accept": "application/json;odata=verbose" }
    }).success(function (data, status, headers, config) {



        $scope.TotalDataCFR = data.d.results;
        $scope.DataCFR = $filter('filter')($scope.TotalDataCFR, { P: period });
        $scope.DataCFR = $filter('filter')($scope.DataCFR, { Year: year });

    }).error(function (data, status, headers, config) {
    });

    $http({
        method: 'GET',
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/Lists/getByTitle('ATS%20Report')/items/?$select=P,Year,Target,OData__x0057_1,OData__x0057_2,OData__x0057_3,OData__x0057_4,PTD,YTD,DistProd",
        headers: { "Accept": "application/json;odata=verbose" }
    }).success(function (data, status, headers, config) {

        $scope.TotalDataATS = data.d.results;
        $scope.DataATS = $filter('filter')($scope.TotalDataATS, { P: period });
        $scope.DataATS = $filter('filter')($scope.DataATS, { Year: year });
        $scope.TotalATSCount = $scope.DataATS.length==0?1:$scope.DataATS.length;

    }).error(function (data, status, headers, config) {
    });

    $http({
        method: 'GET',
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/lists/getbytitle('CFRRemarks')/items?$filter=Title eq 'CFRRemarks'&$select=Remarks",
        headers: { "Accept": "application/json;odata=verbose" }
    }).success(function (data, status, headers, config) {

        $scope.DataCFRRemarks = data.d.results;

    }).error(function (data, status, headers, config) {
    });


    $http({
        method: 'GET',
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/lists/getbytitle('CFRRemarks')/items?$filter=Title eq 'ATSRemarks'&$select=Remarks",
        headers: { "Accept": "application/json;odata=verbose" }
    }).success(function (data, status, headers, config) {
        $scope.DataATSRemarks = data.d.results;

    }).error(function (data, status, headers, config) {
    });
 
    $http({
        method: 'GET',
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/Lists/getByTitle('CFR%20Report')/items?$Select=Year&$orderby=Year desc",
        headers: { "Accept": "application/json;odata=verbose" }
    }).success(function (data, status, headers, config) {
        $scope.YearData = data.d.results;
        $scope.SelYear = year;
        $scope.SelPeriod = period;

    });
    $scope.getcolorbyTW = function (t, w) {
        if (parseFloat($filter('number')(w * 100, 1)) >= parseFloat($filter('number')(t * 100, 1)))
            return 'green';
        return 'red';
    };
    $scope.getData = function (w, We) {
        w = w == null ? "" : $filter('number')(w * 100, 1) + '%';
        if (Math.round(weak) < We)
            w = "";
        return w;
    };

    $scope.SearchClick = function () {
        var CurDate=new Date();
        var  Curprd = $('#Period').getXXXDate({
            format: "{P}",
            selectedDate: CurDate
        }).html();

        var Curyer = $('#Year').getXXXDate({
            format: "{Y}",
            selectedDate: CurDate
        }).html();
        var CurWeak = $('#Weak').getXXXDate({
            format: "{W}",
            selectedDate: CurDate
        }).html();
        var  chgYear=$scope.SelYear;
        var chgPer=$scope.SelPeriod;
        if(Curyer <chgYear||(Curyer==chgYear&&Curprd > chgPer.replace("P","")))
            weak=4;
        else if(Curyer==chgYear&&Curprd ==chgPer.replace("P",""))
            weak=CurWeak;
        else
           chgPer="P0";
        $scope.DataCFR = $filter('filter')($scope.TotalDataCFR, { P: chgPer});
        $scope.DataCFR = $filter('filter')($scope.DataCFR, { Year: chgYear});
     
        $scope.DataATS = $filter('filter')($scope.TotalDataATS, { P: chgPer});
        $scope.DataATS = $filter('filter')($scope.DataATS, { Year: chgYear});
        $scope.TotalATSCount = $scope.DataATS.length==0?1:$scope.DataATS.length;
       // $scope.TotalATSCount.$apply();
       // $scope.DataCFR.$apply();
       // $scope.DataATS.$apply();
$scope.apply();
    }
});


CFRATSApp.filter('percentage', ['$filter', function ($filter) {
    return function (input, decimals) {
        if (input == null)
            return "";
        return $filter('number')(input * 100, decimals) + "%";


    };
}]);
CFRATSApp.filter('newline', function ($sce) {
    return function (text) {
        text = text.replace(/\n/g, '<br />').replace('&amp;', /&/g).replace('&gt;', />/g).replace('&lt;', /</g);
        return $sce.trustAsHtml(text);
    }
});
CFRATSApp.filter('unique', function () {

    return function (items, filterOn) {

        if (filterOn === false) {
            return items;
        }

        if ((filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)) {
            var hashCheck = {}, newItems = [];

            var extractValueToCompare = function (item) {
                if (angular.isObject(item) && angular.isString(filterOn)) {
                    var props = filterOn.split('.');
                    var valueRet = item;
                    for (var i = 0; i < props.length; i++) {
                        valueRet = valueRet[props[i]];
                    }
                    return valueRet;
                } else {
                    return item;
                }
            };

            angular.forEach(items, function (item) {
                var valueToCheck, isDuplicate = false;

                for (var i = 0; i < newItems.length; i++) {
                    if (angular.equals(extractValueToCompare(newItems[i]), extractValueToCompare(item))) {
                        isDuplicate = true;
                        break;
                    }
                }
                if (!isDuplicate) {
                    newItems.push(item);
                }

            });
            items = newItems;
        }
        return items;
    };
});


SP.SOD.executeFunc("sp.js", "SP.ClientContext", PageReset);
function PageReset() {
    setTimeout(function () { resetParentFrame(); }, 1500);
}
function querySt(Key) {
    var url = decodeURIComponent(window.location.href);
    KeysValues = url.split(/[\?&]+/);
    for (i = 0; i < KeysValues.length; i++) {
        KeyValue = KeysValues[i].split("=");
        if (KeyValue[0] == Key) {
            return KeyValue[1];
        }
    }
    return "";
}

____________________________________________________________________________





<%@ Assembly Name="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Page Language="C#" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage" MasterPageFile="../_catalogs/masterpage/MorningPanelMinimal.master" MainContentID="PlaceHolderMain" meta:progid="SharePoint.WebPartPage.Document" %>

<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
    <meta content="SharePoint.WebPartPage.Document" name="ProgId">
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>CFR & ATS Reports</title>
    <link href="/sites/XXXX/SiteAssets/css/content.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="../SiteAssets/css/CommonCssEfficency.css" />
    <link rel="stylesheet" type="text/css" href="../SiteAssets/css/CTRandATSReport.css" />
    <script type="text/javascript" src="/jQuery/jquery-1.9.1.min.js"></script>  
 
 <!--   <script type="text/javascript" src="/sites/XXXX/SiteAssets/js/jquery.min.js"></script>-->
    <script type="text/javascript" src="/sites/XXXX/SiteAssets/js/angular.min.js"></script>  
    <script type="text/javascript" src="/sites/XXXX/SiteAssets/js/XXXPeriod.jquery.plugin.js"></script>
    <script type="text/javascript" src="/sites/XXXX/SiteAssets/js/index.js"></script>
    <script type="text/javascript" src="/sites/XXXX/SiteAssets/js/CFRandATSReport.js"></script>


    <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="/sites/XXXX/SiteAssets/js/excanvas.min.js"></script><![endif]-->
    <style type="text/css">
        .jqplot-point-label {
            font-size: .80em !important;
        }
    </style>

</asp:Content>

<asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
    <div class="rightMain indicatorBoard kpiMark" >
        <div class="idt-board-main" ng-app="CFRATSApp" ng-controller="MainController">
            <div class="idt-board-title">
                <span id="headerText">Service Level Review - 服务水平回顾</span>
            </div>
            <div class="idt-board-controls">
                <select ng-model="SelYear" class="Year">
                    <option ng-repeat="Y in YearData | unique:'Year'">{{Y.Year}}</option>
                </select>
                <select ng-model="SelPeriod" class="Period">
                    <option value="P1">P1</option>
                    <option value="P2">P2</option>
                    <option value="P3">P3</option>
                    <option value="P4">P4</option>
                    <option value="P5">P5</option>
                    <option value="P6">P6</option>
                    <option value="P7">P7</option>
                    <option value="P8">P8</option>
                    <option value="P9">P9</option>
                    <option value="P10">P10</option>
                    <option value="P11">P11</option>
                    <option value="P12">P12</option>
                    <option value="P13">P13</option>
                </select>
                <input type="button" class="btn_search" ng-click="SearchClick()" value="Search" />
            </div>
            <!--bg-boardCon-wrap-->
            <div class="bg-boardCon-wrap">
                <div class="bg-boardCon">
                    <div class="bg-boardCon-top"></div>
                    <div class="bg-boardCon-middle">
                        <div class="bg-boardCon-main">
                            <div id="CFRATSApp">
                                <div>
                                    <table id="reportTable">
                                        <tr>

                                            <th>Catgeory</th>
                                            <th>Channel</th>
                                            <th>Target</th>
                                            <th>W1</th>
                                            <th>W2</th>
                                            <th>W3</th>
                                            <th>W4</th>
                                            <th>PTD</th>
                                            <th>YTD</th>
                                        </tr>
                                        <tr ng-show="DataCFR.length!=0"  ng-repeat="CFR in DataCFR">
                                            <td>{{CFR.Category}}</td>
                                            <td>{{CFR.Channel}}</td>
                                            <td>{{CFR.Target| percentage:1}}</td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.OData__x0057_1)}" ng-bind="getData(CFR.OData__x0057_1,1)"></td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.OData__x0057_2)}" ng-bind="getData(CFR.OData__x0057_2,2)"></td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.OData__x0057_3)}" ng-bind="getData(CFR.OData__x0057_3,3)"></td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.OData__x0057_4)}" ng-bind="getData(CFR.OData__x0057_4,4)"></td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.PTD)}">{{CFR.PTD| percentage:1}}</td>
                                            <td ng-style="{'color':getcolorbyTW(CFR.Target,CFR.YTD)}">{{CFR.YTD| percentage:1}}</td>
                                        </tr>
                                        <tr ng-show="DataCFR.length==0" > <td colspan="9" class="NoData"><span>Data is not available</span></td></tr>
                                        <tr>
                                            <td colspan="1">Remarks</td>
                                            <td colspan="8">
                                                <div class="remarksText">
                                                    <div ng-repeat="CFRR in DataCFRRemarks">
                                                        <span ng-bind-html="CFRR.Remarks | newline"></span>
                                                    </div>
                                                </div>
                                            </td>
                                        </tr>

                                    </table>
                                </div>
                                <div style="margin: auto auto 30px 30px; width: 95%;">
                                    <div>DT:经销商</div>
                                    <div style="clear: both;">KA:关键客户</div>
                                </div>
                                <div>
                                    <table id="ATSreportTable">
                                        <tr>
                                            <th rowspan="{{TotalATSCount+2}}">
                                                <div>
                                                    ATS
                                                </div>
                                                <div style="clear: both;">生产计划符合率</div>
                                            </th>
                                            <th>
                                                <div>Dist./Prod.</div>
                                                <div style="clear: both;">区域/产品</div>
                                            </th>
                                            <th>Target</th>
                                            <th>W1</th>
                                            <th>W2</th>
                                            <th>W3</th>
                                            <th>W4</th>
                                            <th>PTD</th>
                                            <th>YTD</th>
                                        </tr>
                                        <tr  ng-show="DataATS.length!=0"   ng-repeat="ATS in DataATS">
                                            <td>{{ATS.DistProd}}</td>
                                            <td>{{ATS.Target| percentage:1}}</td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.OData__x0057_1)}" ng-bind="getData(ATS.OData__x0057_1,1)"></td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.OData__x0057_2)}" ng-bind="getData(ATS.OData__x0057_2,2)"></td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.OData__x0057_3)}" ng-bind="getData(ATS.OData__x0057_3,3)"></td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.OData__x0057_4)}" ng-bind="getData(ATS.OData__x0057_4,4)"></td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.PTD)}">{{ATS.PTD| percentage:1}}</td>
                                            <td ng-style="{'color':getcolorbyTW(ATS.Target,ATS.YTD)}">{{ATS.YTD| percentage:1}}</td>
                                        </tr>
                                         <tr ng-show="DataATS.length==0" > <td colspan="8" class="NoData"><span>Data is not available</span></td></tr>
                                        <tr>
                                            <td colspan="1">Remarks</td>
                                            <td colspan="7">
                                                <div class="remarksText">
                                                    <div ng-repeat="ATSR in DataATSRemarks">
                                                        <span ng-bind-html="ATSR.Remarks | newline"></span>
                                                    </div>
                                                </div>
                                            </td>

                                        </tr>

                                    </table>
                                </div>

                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <!--/bg-boardCon-wrap-->

        </div>
    </div>
    <div id="Period" style="display: none"></div>
    <div id="Year" style="display: none"></div>
    <div id="Weak" style="display: none"></div>
</asp:Content>

Javascript - set Previous Date or Future Date

Previous Date

var CurrentDate=new Date();
var PreviousDate=CurrentDate.setDate(CurrentDate.getDate() - 1);

Future Date


var CurrentDate=new Date();
var FutureDate =CurrentDate.setDate(CurrentDate.getDate() + 1);

Friday, November 13, 2015

Most Viewed Documents in Sharepoint


var QueryToGetMostPopularItems ="http://XXX/_api/search/query?querytext='path:http://XXX/Test%20DocumentLibrary'&rowlimit=500&sortlist='ViewsLifeTime:descending'";

Monday, October 19, 2015

Get all List items from Subsites using ECMAScript

<script type="text/javascript" language="javascript">

     ExecuteOrDelayUntilScriptLoaded(RetrieveListItems, "sp.js");
     
     var clientContext = null;
     var spWebobj = null;
     var spListobj = null;
     var liCount;
     var items;
     var listItemInfo = '';  
     
     function RetrieveListItems() {

         clientContext = new SP.ClientContext.get_current();

         this.site = clientContext.get_web();

         this.webSubSites = site.get_webs();

         clientContext.load(this.webSubSites, 'Include(Title, ServerRelativeUrl)');

         clientContext.executeQueryAsync(Function.createDelegate(this, this.onLoadSubWebs), Function.createDelegate(this, this.onQueryFailed));

     }

     function onLoadSubWebs(sender, args) {

         items = [];              
 
         for (var x = 0; x < this.webSubSites.get_count(); x++) {        

             web = this.webSubSites.itemAt(x);
             
             var siteUrl = web.get_serverRelativeUrl();             

                 spListobj = web.get_lists().getByTitle("Tasks");

                 var spCamlQuery = new SP.CamlQuery();               

                 var spViewXML = '<View><Query><Where><And><Leq><FieldRef Name="DueDate"/><Value Type="DateTime"><Today OffsetDays="-3"/></Value></Leq><Neq><FieldRef Name="Status"/><Value Type="Text">Completed</Value></Neq></And></Where></Query></View>'; 
                 
                 spCamlQuery.set_viewXml(spViewXML);

                 var spListobjItems = spListobj.getItems(spCamlQuery);                                 

                 var itemDetails = new Object;

                 itemDetails.ListItems = spListobjItems;
                 itemDetails.WebTitle = web.get_title();
                 itemDetails.TaskListOverDueViewURL = siteUrl + '/Lists/Tasks/';

                 items.push(itemDetails);

                 clientContext.load(spListobjItems, 'Include(Id, FileDirRef)');     
                                                                                
            }

         clientContext.executeQueryAsync(Function.createDelegate(this, this.onLoadTaskDetails), Function.createDelegate(this, this.onQueryFailed));
     }

     function onLoadTaskDetails(sender, args) {

         var htmlGetTitle = "<ul>";

         var htmlGetCount = "<ul>";        
         
         for (var x = 0; x < items.length; x++) {            

                 var itemDetails = items[x];
                 
                 htmlGetCount += "<li>" + itemDetails.ListItems.get_count() + "</li>";

                 htmlGetTitle += "<li> <a href='" + itemDetails.TaskListOverDueViewURL + " ' target=_blank'> <u>" + itemDetails.WebTitle + "</u> </a> </li>";             
         }
         document.getElementById('divSiteCount').innerHTML = htmlGetCount;
         document.getElementById('divSiteTitle').innerHTML = htmlGetTitle;        
        }
 

     function onQueryFailed(sender, args) {

         alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
     }

      </script>   

<table> 
     <tr>
       <th>Project</th>
       <th>Exceptions</th>
   </tr>
   <tr id="divSiteListings"> 
       <td> <div id="divSiteTitle"></div></td>     
       <td> <div id="divSiteCount"></div></td>   
   </tr> 
  </table>