Добрый день.
Возник такой вопрос. Если задачу открывает один человек, то когда другой человек ее открывает выскакивает надпись, задача уже открыта на редактирование вы будете работать в режиме просмотра.
Не подскажете, можно ли открыть задачу сразу в режиме просмотра, чтобы если кто то хочет ее редактировать не должен был ждать пока выйдут с просмотра.
Нравится
var Attributes = GetEditDataAttributes(Self, BaseGridArea); var wndTask = Services.GetSingleItemByUSI('wnd_TaskEdit'); ShowEditWindowEx('wnd_TaskEdit', Attributes);
Открыл окно на редактирование. Какой параметр необходимо указать, для того, чтобы только просматривать можно было. Необходимо запретить редактирование.
В базовом функционале данная функция не реализована. По умолчанию у нас открываются карточка на редактирования и любой пользователь может редактировать запись.
Если Вы хотите добавить новую кнопку "Открыть на редактирование" - сообщите нам пожалуйста. Также, предаставьте, пожалуйста, описание всей функцуии, которая выполняет блокировку записи на изменение.
Я хочу добавить "Открыть с запретом редактирования"
function ProcessBaseDBEditOnPrepare(Window, BaseDBEdit){ var Datalink = Window.ComponentsByName('dlData'); InitializeDBEdit(Datalink, BaseDBEdit, Window); if (BaseDBEdit.RecordID == GUID_NULL) { AppendRecord(BaseDBEdit, Window); } else { EditRecord(BaseDBEdit, Window); } SetOwnerDSDefaults(BaseDBEdit.Dataset); var btnOK = Window.ComponentsByName('btnOK'); EnableOKButtonByRights(btnOK, BaseDBEdit); var EditEnabled = lockrecord(Datalink.Dataset.Values('ID')); if (EditEnabled){ Window.Attributes('IsLocked') = true; } else { ShowInformationDialog('Карточка редактируется другим пользователем.\nКарточка будет открыта в режиме просмотра.\n'); btnOK.IsEnabled = false; Window.Attributes('IsLocked') = false; }; SetOwnerWNDDefaults(Window); SetOwnerWNDCode(Window); Window.Attributes('WindowWasPrepared') = true; }
есть такая функция, но она работает следующим образом, если кто то уже открыл карточку на редактирование, то второй откроет на просмотр. но я хочу сделать кнопку, чтобы сразу открывать только на просмотр.
если надо код какого то скрипта выложу
Могу Вам предложить реализовать требуемую задачу следующим образом:
Добавить кнопку "Открыть для чтения". После нажатия на эту кнопку функция написанная Вами не должна отрабатывать (Вам необходимо прописать это в настройке кнопки). В этом случае карточка откроется стандартным образом. А в открытой карточке сделать неактивной кнопку "Ок" что бы пользователь не мог сохранить изменения.
Если же пользователь будет открывать методом используемым по умолчанию у Вас в компании то карточка будет открываться на изменения.
wndTask.СomponentsByName('btnOK').IsEnabled = false;
не прокатывает
Сделайте следующим образом.
Обьявите глобальную переменную в скрипте scr_TasksGridArea. При нажатии на кнопку "Открыть для чтения" присвойте ей значение нуля. На событие wnd_TaskEditOnPrepare для скрипта scr_TaskEdit введите проверку значения переменной. Если оно будет равно нулю - блокируйте кнопку ОК.