AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.06.2009, 14:01   #1  
Elka is offline
Elka
Участник
Аватар для Elka
 
431 / 22 (1) +++
Регистрация: 02.12.2008
Адрес: г. Ростов-на-Дону
plug in :Найти все объеты по ссылке
Добрый день. Подскажите пожалуйста. У меня такая задача : есть мой объект new_platpor, который является дочерним от счета (invoice). На форме объета new_platpor есть поле new_chet (это и есть родительский счет). Хочу найти все new_platpor, у которых родительским является один и тот же счет, просуммировать их суммы (new_summa) и вывести на форму счета в поле (plsum). При этом ,если эта сумма превысит общую сумму счета, то поругаться и не сохранить мой new_platpor.

1. Регистрировать плагин на создание new_platpor?
2. Как отменить сохранение new_platpor и поругаться ?
3. Большие сомнения как найти мои объекты с одинаковыми счетами .. Я пытаюсь считать из поля new_chet номер, счета, а потом найти все new_platpor, которые ссылаютя на счета с таким номером..
4. Не знаю как правильно обращаться к своим объектам..Visual Studio ругается

Текст всего этого безобразия, пока выглядит так :
try
{
ICrmService crmService = context.CreateCrmService(true);
decimal sum = ((CrmMoney)entity.Properties["new_summa"]).Value;

String new_invoicenumber = "";
decimal itog ;
if (entity.Properties.Contains("new_chet"))
{
ColumnSet cs = new ColumnSet();
Lookup regarding = (Lookup)entity.Properties["new_chet"];
cs.Attributes.Add("invoicenumber");
invoice _invoice = (invoice)crmService.Retrieve(EntityName.invoice.ToString(), regarding.Value, cs);
if (_invoice == null || _invoice.invoicenumber == null)
{
return;
}
else
{
new_invoicenumber = _invoice.invoicenumber;
}
}
QueryByAttribute query = new QueryByAttribute();
query.ColumnSet = new AllColumns();
query.EntityName = EntityName.new_platpor.ToString();
query.Attributes = new string[] { "new_chet" };
query.Values = new string[] { new_invoicenumber };
BusinessEntityCollection retrieved = crmService.RetrieveMultiple(query);

itog= 0;
foreach (new_platpor oplata in retrieved.BusinessEntities)
{
itog = oplata.new_sum + itog;
// crmService.Update(oplata);
}
sum=sum + itog;
//______________________________________
QueryByAttribute mquery = new QueryByAttribute();
mquery.ColumnSet = new AllColumns();
mquery.EntityName = EntityName.invoice.ToString();
mquery.Attributes = new string[] { "invoicenumber" };
mquery.Values = new string[] { new_invoicenumber };
BusinessEntityCollection mretrieved = crmService.RetrieveMultiple(query);
foreach (invoice inv in mretrieved.BusinessEntities)
{
if ((decimal)inv.totalamount.Value < sum) {
//­ надо как-то поругаться..и не дать сохранить
}
((CrmMoney)entity.Properties["plsum"]).Value=sum;

crmService.Update(inv);
}


//________________________________________
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
При слиянии записей-дубликатов выскакивает ошибка о "циклической ссылке" Bakai Madybaev Dynamics CRM: Функционал 11 20.12.2011 22:59
Microsoft Dynamics CRM Team Blog: Storing Configuration Data for Microsoft Dynamics CRM Plug-ins Blog bot Dynamics CRM: Blogs 0 24.10.2008 22:05
Ronald Lemmen: Plug-in not working Blog bot Dynamics CRM: Blogs 0 04.09.2008 00:05
Microsoft Dynamics CRM Team Blog: Accessing a SQL Database from a Microsoft Dynamics CRM Plug-in Blog bot Dynamics CRM: Blogs 0 14.07.2008 13:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.