Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Необходимо выполнить запрос даты, числа и записей справочников, которые впоследствии будут установлены по умолчанию.

С помощью клиентского API веб-доступа можно создать диалог, содержащий реквизиты различных типов («Дата», «Число», «Справочник» и т.д.), и заполнить его значениями по умолчанию:

JS

 

// Сгенерировать форму.
var CP = WA.CMP;
var form = new CP.forms.FormBuilder("last_edit_edoc");
// Добавить на форму реквизит типа "Дата".
form.addDate("Date");
// Добавить на форму реквизит типа "Дата" и заполнить по умолчанию

// числом 363. Заполнение значений по умолчанию работает только для Input.
form.addInput("Number", 9, undefined, "number", 363);
// Добавить на форму реквизит типа "Выбор из справочника" для справочника "Договоры".
form.addReferenceSelect("Ref", "ДГВ");
 
var dialog = new CP.dialogs.BaseDialog();
dialog.title = L("LAST_OPENED_DOCS");
dialog.html = form.render();
dialog.isShowCancelButton = true;
dialog.show();
// Для реквизита типа "Дата" установить значение 15.04.2016.
form.setValue("Date", "15.04.2016", "15.04.2016");
// Для реквизита типа "Число" установить значение 2016.
form.setValue("Number", 2016, 2016);
// Для реквизита типа "Справочник" установить значение записи справочника с ИД = 138923.
form.setValue("Ref", 138923, 'Договор рег.№АВТОНОМЕР от 14.04.2016 к До(Д000005)');

Либо вызвать диалог по имени и при инициализации заполнить его реквизиты:

 

// Получить диалог по названию.
WA.FC.dialogs.getDialogByName('SomeDialog')
.done(function (dialog) {
   dialog.Init.done(function () {
  // Заполнить реквизиты значениями по умолчанию.
     dialog.form.requisites["DT"].setValue("14.05.1998", "14.05.1998");
     dialog.form.requisites["intReq"].setValue(2, 2);
     dialog.form.requisites["Договоры"].setValue(138923, 'Договор рег.№АВТОНОМЕР от 14.04.2016 к До(Д000005)');
  });
   dialog.show();
})

Если заполнять значения по умолчанию в прикладном действии/сценарии/отчете при получении диалога перед прикладной функцией ShowDialog, то в веб-клиенте это не подхватится.

Например, прикладной сценарий вида:

 

Dialog = Dialogs.TestWADlg.CreateNew()

Dialog.DT = "20.06.2011"

ShowDialog(Dialog)

Вызов сценария в веб-клиенте:

 

WA.FC.scripts("NewReferenceRecord").showDialogAndExecute('TestWADlg').done(function(data) {
 console.log(data);
});

В этом случае значение реквизита диалога DT не будет заполнено.

См. также

 

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }