Как убрать взаимосвязь полей?

Добрый день!
Дано: карточка "Продажи", поле "состояние", поле "причина победы".
В данный момент поле "причина победы" становится доступным для заполнения только если в поле "состояние" значение "выполнена".
Вопрос: как расшить эти поля, т.е. поле "причина победы" должно быть доступно для заполнения в любом случае.

Спасибо!

Нравится

6 комментариев

Нужно открыть скрипт карточки wnd_OpporttunityEditScript. Там есть функции:

function UpdateFinishControls(IsEnabled){
	edtWinner.IsEnabled = IsEnabled;
	edtWinningReason.IsEnabled = IsEnabled;
}
 
function UpdateFinishControlsByDataset(Dataset) {
	var StatusID = Dataset.Values('StatusID');
	var IsFinish;
	if (!IsEmptyGUID(StatusID)){
		IsFinish = GetDetailSummary('tbl_OpportunityStatus', 'ID', StatusID, 
			'IsFinish', stNone);
	} else {
		IsFinish = false;
	}
	//this needs to handle null values
	var IsFinishControlsEnabled = (IsFinish == true);
	UpdateFinishControls(IsFinishControlsEnabled);
}

Собственно, первая включает или выключает поля, связанные с победой. А вторая - проверяет состояние продажи и если оно относится к конечным - запускает первую для изменения доступности этих полей.

Если эта логика не нужна - можно закомментировать содержимое функции UpdateFinishControlsByDataset целиком или только её последнюю строку.

"Зверев Александр" написал:

Если эта логика не нужна - можно закомментировать содержимое функции UpdateFinishControlsByDataset целиком или только её последнюю строку.


Александр, я не силен в программировании, куда конкретно нужно поставить и что поставить? Можете выделить это на картинке?

Например, так:

function UpdateFinishControlsByDataset(Dataset) {
/*
         var StatusID = Dataset.Values('StatusID');
         var IsFinish;
         if (!IsEmptyGUID(StatusID)){
                 IsFinish = GetDetailSummary('tbl_OpportunityStatus', 'ID', StatusID, 
                         'IsFinish', stNone);
         } else {
                 IsFinish = false;
         }
         //this needs to handle null values
         var IsFinishControlsEnabled = (IsFinish == true);
         UpdateFinishControls(IsFinishControlsEnabled);
*/
}

Поле перестало быть доступным при любом значении поля "состояние" :sad:

А, ещё в функции wnd_OpportunityEditOnPrepare закомментировать строку:

 	UpdateFinishControls(OpportunityEdit.OldStatusIsFinish);

то есть станет:

 	//UpdateFinishControls(OpportunityEdit.OldStatusIsFinish);

Всё, работает! Спасибо!

Показать все комментарии