0
Dynamics CRM에 Silverlight 4 컨트롤이 있습니다.Silverlight 4 for ASync 대기
여러 배송 날짜가 있는지 여부에 따라 여러 기회를 만들어야합니다. 사용자는 제품 정보, 날짜 및 수익이 포함 된 양식 작성 기회 양식 하단에 간단한 양식이 있습니다. 이렇게하면 사용자가 컨트롤에 입력 한 대체 정보가있는 원본 복사본이 만들어집니다.
현재 통화가 완료 될 때까지 잠시 기다리는 동안 기회가 만들어집니다. 이상적으로는 새로운 기회가 모두 만들어지면 양식이 자동으로 닫히기를 바랍니다. 다음은 관련 코드입니다. CRM을 모든 것이 만들어 질 때까지 기다리려면 누군가가 도와 주어야합니까?
//OpportunitySet contains all necessary information to create multiple records,
//data is valid(it will create information if enough time is given.
_context.BeginSaveChanges(OnCreateOpportunityComplete, _context.OpportunitySet);
xrm.Page.data.entity.attributes.get("new_haschildren").setValue(true);
xrm.Page.data.entity.save("saveandclose");
private void OnCreateOpportunityComplete(IAsyncResult result)
{
try
{
_context.EndSaveChanges(result);
Opportunity createdOpportunity = result.AsyncState as Opportunity;
//result.AsyncWaitHandle.WaitOne();
MessagePanel.Children.Add(new TextBlock()
{
Text = String.Format("Created a new Opportunity named \"{0}\"\n\twith OpportunityId = \"{1}\".",
createdOpportunity.Name, createdOpportunity.OpportunityId)
});
BeginRetrieveOpportunity(createdOpportunity.OpportunityId);
OnRetrieveOpportunityComplete(result);
}
catch (SystemException se)
{
_syncContext.Send(new SendOrPostCallback(showErrorDetails), se);
}
}
도움이 될만한 의견이 있습니다.
내 주요 메소드의 마지막 행입니다. 나는 그것을 얻기 위해 더 많은 시간이 걸리기 위해 몇 가지 시도를했지만 아무 것도 아직 효과가없는 것으로 보인다. –
비동기 메소드가있는 경우 이전에 xrm 메소드를 주 내부의 마지막 행으로 사용하지 않으려면 비동기 호출의 마지막 완료 메소드 내에 있어야합니다. 또한 비동기 호출 체인을 수행 할 수도 있습니다 (예 : 두 번째 비동기라고 부르는 첫 번째 비동기 완료 후 동기 동작을 시뮬레이트). –
방금 시도했으나 양식이 닫히지 않았습니다. OnCreateOpportunityComplete에 중단 점을 넣었고 레코드가 만들어졌지만 아무 것도 맞지 않았습니다. –