Добрый день!
Дано: карточка "Продажи", поле "состояние", поле "причина победы".
В данный момент поле "причина победы" становится доступным для заполнения только если в поле "состояние" значение "выполнена".
Вопрос: как расшить эти поля, т.е. поле "причина победы" должно быть доступно для заполнения в любом случае.
Спасибо!
Нравится
Нужно открыть скрипт карточки 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);