Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在插件中复制合同产品-Dynamics CRM_C#_Dynamics Crm 2011 - Fatal编程技术网

C# 在插件中复制合同产品-Dynamics CRM

C# 在插件中复制合同产品-Dynamics CRM,c#,dynamics-crm-2011,C#,Dynamics Crm 2011,我正在编写一个插件,将合同产品从合同复制到新创建的opportunity。它似乎可以复制现有产品,但如果有任何写入产品,就会出现问题。write-in opportunity产品似乎复制正确,但当我尝试打开它时,会收到一条消息,说明发生了错误。该插件似乎已成功完成 有人知道会发生什么吗 代码如下: //Operate on each contract product found foreach (var contProd in contProdCollection.Entities) {

我正在编写一个插件,将合同产品从合同复制到新创建的opportunity。它似乎可以复制现有产品,但如果有任何写入产品,就会出现问题。write-in opportunity产品似乎复制正确,但当我尝试打开它时,会收到一条消息,说明发生了错误。该插件似乎已成功完成

有人知道会发生什么吗

代码如下:

//Operate on each contract product found 
foreach (var contProd in contProdCollection.Entities)
{

    //Create the new opp product
    Entity newOppProd = new Entity("opportunityproduct");

    //Get comm rate from the old connection
    ColumnSet contProdCols = new ColumnSet("isproductoverridden", "productid", "uomid", "ispriceoverridden", "quantity", "priceperunit", "extendedamount", "new_costperunit", "new_totalcost");
    Guid contProdId = contProd.Id;
    Entity contProd2 = service.Retrieve("quotedetail", contProdId, contProdCols);

    newOppProd.Attributes["opportunityid"] = newOpp;

    //check whether the product is a write in or not

    if (contProd2.GetAttributeValue<Boolean>("isproductoverridden") == false)
    {
        //product is existing
        //fill in the details of the new opp product

        newOppProd.Attributes["isproductoverridden"] = contProd2.Attributes["isproductoverridden"];

        if (contProd2.Contains("productid") == true)
        {
            newOppProd.Attributes["productid"] = contProd2.Attributes["productid"];
        }
        if (contProd2.Contains("uomid") == true)
        {
            newOppProd.Attributes["uomid"] = contProd2.Attributes["uomid"];
        }
        if (contProd2.Contains("ispriceoverridden") == true)
        {
            newOppProd.Attributes["ispriceoverridden"] = contProd2.Attributes["ispriceoverridden"];
        }
        if (contProd2.Contains("quantity") == true)
        {
            newOppProd.Attributes["quantity"] = contProd2.Attributes["quantity"];
        }
        if (contProd2.Contains("priceperunit") == true)
        {
            newOppProd.Attributes["priceperunit"] = contProd2.Attributes["priceperunit"];
        }
        if (contProd2.Contains("extendedamount") == true)
        {
            newOppProd.Attributes["extendedamount"] = contProd2.Attributes["extendedamount"];
        }
        if (contProd2.Contains("new_costperunit") == true)
        {
            newOppProd.Attributes["new_customerrate"] = contProd2.Attributes["new_costperunit"];
        }
        if (contProd2.Contains("new_totalcost") == true)
        {
            newOppProd.Attributes["new_customercost"] = contProd2.Attributes["new_totalcost"];
        }
        service.Create(newOppProd);

    }
    else
    {
        //product is write in
        newOppProd.Attributes["isproductoverridden"] = contProd2.Attributes["isproductoverridden"];

        if (contProd2.Contains("productdescription") == true)
        {
            newOppProd.Attributes["productdescription"] = contProd2.Attributes["productdescription"];
        }
        if (contProd2.Contains("ispriceoverridden") == true)
        {
            newOppProd.Attributes["ispriceoverridden"] = contProd2.Attributes["ispriceoverridden"];
        }
        if (contProd2.Contains("quantity") == true)
        {
            newOppProd.Attributes["quantity"] = contProd2.Attributes["quantity"];
        }
        if (contProd2.Contains("priceperunit") == true)
        {
            newOppProd.Attributes["priceperunit"] = contProd2.Attributes["priceperunit"];
        }
        //if (contProd2.Contains("extendedamount") == true)
        //{
        //    newOppProd.Attributes["extendedamount"] = contProd2.Attributes["extendedamount"];
        //}
        if (contProd2.Contains("new_costperunit") == true)
        {
            newOppProd.Attributes["new_customerrate"] = contProd2.Attributes["new_costperunit"];
        }
        if (contProd2.Contains("new_totalcost") == true)
        {
            newOppProd.Attributes["new_customercost"] = contProd2.Attributes["new_totalcost"];
        }
             service.Create(newOppProd);
    }
}   
//对找到的每个合同产品进行操作
foreach(contProdCollection.Entities中的var contProd)
{
//创建新的opp产品
实体newOppProd=新实体(“机会主义产品”);
//从旧连接获取通信速率
ColumnSet contProdCols=新列集(“isProductOverrided”、“productid”、“uomid”、“isPriceOverrided”、“quantity”、“priceperunit”、“extendedamount”、“new_costperunit”、“new_totalcost”);
Guid contProdId=contProd.Id;
实体contProd2=service.Retrieve(“quotedetail”、contProdId、contProdCols);
newOppProd.Attributes[“opportunityid”]=newOpp;
//检查产品是否为写入式
if(contProd2.GetAttributeValue(“isProductOverrided”)==false)
{
//产品已存在
//填写新opp产品的详细信息
newOppProd.Attributes[“isProductOverrided”]=contProd2.Attributes[“isProductOverrided”];
if(contProd2.Contains(“productid”)==true)
{
newOppProd.Attributes[“productid”]=contProd2.Attributes[“productid”];
}
if(contProd2.Contains(“uomid”)==true)
{
newopprod.Attributes[“uomid”]=contProd2.Attributes[“uomid”];
}
if(contProd2.Contains(“isPriceOverrided”)==true)
{
newOppProd.Attributes[“isPriceOverrided”]=contProd2.Attributes[“isPriceOverrided”];
}
if(contProd2.Contains(“数量”)==true)
{
newopprod.Attributes[“quantity”]=contProd2.Attributes[“quantity”];
}
if(contProd2.Contains(“priceperunit”)==true)
{
newOppProd.Attributes[“priceperunit”]=contProd2.Attributes[“priceperunit”];
}
if(contProd2.Contains(“extendedamount”)==true)
{
newOppProd.Attributes[“extendedamount”]=contProd2.Attributes[“extendedamount”];
}
if(contProd2.Contains(“new_costperunit”)==true)
{
newOppProd.Attributes[“new_customerrate”]=contProd2.Attributes[“new_costperunit”];
}
if(contProd2.Contains(“new_totalcost”)==true)
{
newOppProd.Attributes[“new_customercost”]=contProd2.Attributes[“new_totalcost”];
}
创建(newopprod);
}
其他的
{
//产品正在写入
newOppProd.Attributes[“isProductOverrided”]=contProd2.Attributes[“isProductOverrided”];
if(contProd2.Contains(“productdescription”)==true)
{
newOppProd.Attributes[“productdescription”]=contProd2.Attributes[“productdescription”];
}
if(contProd2.Contains(“isPriceOverrided”)==true)
{
newOppProd.Attributes[“isPriceOverrided”]=contProd2.Attributes[“isPriceOverrided”];
}
if(contProd2.Contains(“数量”)==true)
{
newopprod.Attributes[“quantity”]=contProd2.Attributes[“quantity”];
}
if(contProd2.Contains(“priceperunit”)==true)
{
newOppProd.Attributes[“priceperunit”]=contProd2.Attributes[“priceperunit”];
}
//if(contProd2.Contains(“extendedamount”)==true)
//{
//newOppProd.Attributes[“extendedamount”]=contProd2.Attributes[“extendedamount”];
//}
if(contProd2.Contains(“new_costperunit”)==true)
{
newOppProd.Attributes[“new_customerrate”]=contProd2.Attributes[“new_costperunit”];
}
if(contProd2.Contains(“new_totalcost”)==true)
{
newOppProd.Attributes[“new_customercost”]=contProd2.Attributes[“new_totalcost”];
}
创建(newopprod);
}
}   

我看不出代码中有任何错误。你犯了什么错误?当您试图在CRM中导航到新创建的Opportunity产品时,您说您得到了它?在我看来,这很可能是javascript错误或select插件错误。@Daryl它只给出了一条通用的“Microsoft Dynamics CRM遇到错误”消息。没有比这更有用的了。是的,在尝试查看新Opportunity ProductNo Download File选项时会发生这种情况?您是否有任何在OnLoad中运行的Javascript?可能希望填充ProductId?