Необходимо выполнить запрос даты, числа и записей справочников, которые впоследствии будут установлены по умолчанию.
С помощью клиентского 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 |