Помогите сообразить
20.10.2009
14:37
#1
ПУБ 7.7, надо прописать пользователя чтобы он не мог открывать документ созданный другим пользователем и мог редактировать только свои документ, открытие документа должно происходить из журнала по этим документам, подскажите что мне сделать, эти бухи уже достали
20.10.2009
14:41
#3
задача неправильно вами уяснена.Поясню свою ерунду-заходит сотрудник в журнал документов находит документ своего коллеги открывает и начинает там исправлять, где мне написать проверку на пользователя в журнале или в документе в процедуре приОткрытии, у меня уже голова пухнет , такое впечатление что производим атомную бомбу.
20.10.2009
14:50
#4
"В ПУБ при открытии каждого документа вызывается процедурка глобального модуля глПроверкаРазрешенияРедактирования()
Надо этим воспользоваться!
Сморим глобальный модуль и делаем так:
Функция глПроверкаРазрешенияРедактирования(Конт) Экспорт
Если Конт.Выбран() = 1 Тогда
Если ((Конт.ДатаДок <= Константа.ДатаЗапретаРедактирования) и (Конт.Форма.ТолькоПросмотр() = 0)) ИЛИ (Конт.Автор<>Пользователь) Тогда
Конт.Форма.ТолькоПросмотр(1);
Предупреждение("Разрешен только просмотр документа!", 4);
КонецЕсли;
КонецЕсли;
КонецФункции"
Надо этим воспользоваться!
Сморим глобальный модуль и делаем так:
Функция глПроверкаРазрешенияРедактирования(Конт) Экспорт
Если Конт.Выбран() = 1 Тогда
Если ((Конт.ДатаДок <= Константа.ДатаЗапретаРедактирования) и (Конт.Форма.ТолькоПросмотр() = 0)) ИЛИ (Конт.Автор<>Пользователь) Тогда
Конт.Форма.ТолькоПросмотр(1);
Предупреждение("Разрешен только просмотр документа!", 4);
КонецЕсли;
КонецЕсли;
КонецФункции"
20.10.2009
14:59
#6
"В данном случае человеку надо "не открывать", если не его.
В модуле этого журнала написать что-то типа:
Процедура ПриВыбореСтроки()
Если ДокументПользователя (ИмяПользователя()) = 0 Тогда
СтатусВозврата (0);
Возврат;
КонецЕсли;
КонецПроцедуры
Форма.ОбработкаВыбораСтроки(1);
Ну а эту контрукцию "ДокументПользователя (ИмяПользователя)" сами реализуйте."
В модуле этого журнала написать что-то типа:
Процедура ПриВыбореСтроки()
Если ДокументПользователя (ИмяПользователя()) = 0 Тогда
СтатусВозврата (0);
Возврат;
КонецЕсли;
КонецПроцедуры
Форма.ОбработкаВыбораСтроки(1);
Ну а эту контрукцию "ДокументПользователя (ИмяПользователя)" сами реализуйте."
20.10.2009
15:16
#8
А без этого не работает.
Из справки - Замечание:
Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) предопределенной процедурой ПриВыбореСтроки включается в форме списка справочника, журнала, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Данная процедура может располагаться только в программном модуле формы.
Из справки - Замечание:
Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) предопределенной процедурой ПриВыбореСтроки включается в форме списка справочника, журнала, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Данная процедура может располагаться только в программном модуле формы.
20.10.2009
15:16
#9
Огромное спасибо всем, все отлично работает, теперь буду ждать нового каприза,ещё раз спасибо.
20.10.2009
15:29
#10
"> А без этого не работает.
> Из справки - Замечание:
> Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) предопределенной процедурой ПриВыбореСтроки включается в форме списка справочника, журнала, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Данная процедура может располагаться только в программном модуле формы.
точно, как же я забыл :
Форма.ОбработкаВыбораСтроки(>);
Form.ProcessSelectLine(>);
Синтаксис:
Форма.ОбработкаВыбораСтроки(<Флаг>)
Назначение:
Включает в форме списка (справочника, журнала, счетов, журнала операций, журнала проводок) обработку выбора строки предопределенной процедурой ПриВыбореСтроки.
Параметры:
<Флаг> - число: 1 - включает обработку выбора предопределенной процедурой; 0 - выключает обработку выбора предопределенной процедурой.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма."
> Из справки - Замечание:
> Режим обработки выбора строки (двойной щелчок мыши или клавиша Enter) предопределенной процедурой ПриВыбореСтроки включается в форме списка справочника, журнала, счетов, журнала операций, журнала проводок при помощи метода Форма.ОбработкаВыбораСтроки(1). Данная процедура может располагаться только в программном модуле формы.
точно, как же я забыл :
Форма.ОбработкаВыбораСтроки(>);
Form.ProcessSelectLine(>);
Синтаксис:
Форма.ОбработкаВыбораСтроки(<Флаг>)
Назначение:
Включает в форме списка (справочника, журнала, счетов, журнала операций, журнала проводок) обработку выбора строки предопределенной процедурой ПриВыбореСтроки.
Параметры:
<Флаг> - число: 1 - включает обработку выбора предопределенной процедурой; 0 - выключает обработку выбора предопределенной процедурой.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма."
Читают тему
(гостей: 1)