2013-03-15 3 views
4

У меня есть объект, называемый продуктом. Существует поле под названием цена товара.Javascript и несколько экземпляров формы

Теперь я создал 100 продуктов. Я хочу, чтобы SUM (математическая операция) все поля товара «цена товара» и отображал его в другом объекте, называемом полем возможностей, называемом «общая цена товара».

Кроме этого, если я создаю продукт 101, и это поле «цена товара», «общая цена товара» автоматически появляется на самой дате.

Так что у меня есть SUMMED поля формы. например, есть поле A и поле B, умножив поле A на 3.14 и отображая результат в поле B.

Вот код.

function SumField() { 
    var price = Xrm.Page.getAttribute("new_price"); 
    var total_price = Xrm.Page.getAttribute("new_total_price"); 

    if(price.getValue() != null) { 
     var newValue = price.getValue() * 3.14; 
     total_price.setValue(newValue); 

     // Make sure the changes are saved back to the server - in CRM 4.0, this was  crmForm.new_fieldname.ForceSubmit = true; 
     Xrm.Page.getAttribute("new_total_price").setSubmitMode("always"); 
    } 
} 
+4

Не могли бы вы объяснить, что хотите? Вы хотите обновить поле возможностей? –

+0

да, я хочу автоматически обновлять поле возможности. – ozil

+0

Код, который вы указали, указывает, что вы добавляете поля в одну форму и обновляете другое поле в этой форме. Это, по-видимому, противоречит вашему вопросу, который предполагает сложение значений по нескольким объектам, а затем обновление другого другого объекта. Можете ли вы объяснить значимость/значимость кода? Вы используете его? – glosrob

ответ

1

В этом случае JavaScript не будет работать, по крайней мере, это будет не оптимальное решение.

Вместо того, чтобы обрабатывать его с помощью JavaScript, создайте плагин, который запускается при изменении объекта продукта и обновляет желаемую запись объекта возможности. (Я считаю, что будет несколько продуктов, связанных с одной возможностью, то есть соотношением 1: N)

Если вы хотите, чтобы это изменение в одном продукте обновляло значения во всех записях Возможность создать другой объект, скажем, «Конфигурация», которая будет удерживайте это значение и покажите его в форме Opportunity с использованием JavaScript (причина в том, что если создание одной записи продукта обновит все записи о возможностях, это повлияет на производительность CRM)

1

У вас есть некоторые возможности, лучший выбор зависит от вашей технологической экспертизы:

  • Рабочий процесс - запуск рабочего процесса при изменении поля new_total_price d и обновить связанную с этим возможность. Для этого вам не нужны какие-либо известные языки программирования
  • Плагин - обновление вашего продукта позволяет обновить соответствующую возможность. Вам нужно знать C# или VB .NET.
  • Javascript - Одно из решений - это возможность проверить, связан ли продукт (например, использовать FetchXML или OData), заполненную new_total_price, с этой информацией вы можете обновить свою возможность.

Существует больше альтернатив, но у вас есть несколько вариантов.

+0

Есть ли функция (функция CRM SDK), которая может использоваться для итерации всех экземпляров формы для выбора определенного поля. – ozil

+0

Нет никакого способа получить экземпляры формы. Что вы пытаетесь сделать? –

Смежные вопросы