Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Запрет на редактирование документов 2 страниц V  < 1 2          
MATEVI Подменю пользователя
сообщение 17.05.10, 10:06
Сообщение #21

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2203
Из: Одесса
Спасибо сказали: 968 раз
Рейтинг: 796.3

Цитата(Batchir @ 16.05.10, 1:02) *
Ну в общем не стал я лезть в дебри РЛС и просто реализовал, в подписке на событие "перед записью документа" проверку на проведенный документ и даю отмену. Заказчика устроил этот механизм.

А можно код реализации? Как то надо было запретить запись и проведение задним числом. "Родил" вот такое:
Пользователь = Пользователи.ПолучитьЗначениеПоУмолчанию(ПараметрыСеанса.ТекущийПользователь, "ОсновнойОтветственный");
ТекущийПользователь = ПользователиИнформационнойБазы.НайтиПоИмени(Пользователь);
Роли = ТекущийПользователь.Роли;
Для Каждого Роль Из Роли Цикл
ИмяРоли = Роль.Имя;
Если ИмяРоли = "Пользователь" Тогда
Отказ = ПроверитьВозможностьПроведенияДокументаЗаднимЧислом(ДокументОбъект);//ну дальше проверяю в какой дате сидит документ
Прервать;
КонецЕсли;
КонецЦикла;
Но что то мне не нравится перебор. И как то по сравнению с семеркой где НазваниеНабораПрав() слишком много букв smile.gif

Creaturka Подменю пользователя
сообщение 17.05.10, 13:02
Сообщение #22

Общительный
**
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 7 раз
Рейтинг: 0

РольДоступна (IsInRole)
Синтаксис:
РольДоступна(<Роль>)
Параметры:
<Роль> (обязательный)
Тип: Строка, ОбъектМетаданных: Роль. Название роли как она задана в конфигураторе или объект описания метаданного роли.
Возвращаемое значение:
Тип: Булево. Истина - роль доступна текущему пользователю; Ложь - в противном случае.
Описание:
Определяет доступность указанной роли текущему пользователю.
Пример:
Если Не РольДоступна("Менеджер") Тогда
Сообщить("Просмотр заявок от покупателей не разрешен!");
КонецЕсли;

Спасибо сказали: MATEVI,

Batchir Подменю пользователя
сообщение 17.05.10, 13:31
Сообщение #23

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Цитата(MATEVI @ 17.05.10, 11:06) *
А можно код реализации?

Да там ничего хитрого. В УТ есть событие ПередЗаписьюДокументаПроверкаДоступностиПериода

Так я туда дописал свою проверку
Процедура ПередЗаписьюДокументаПроверкаДоступностиПериода(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    
    Если Отказ Тогда
        Возврат;
    КонецЕсли;
    
    ПроверкаПериодаДокумента(Источник, Отказ, РежимЗаписи);
    #Если Клиент Тогда
        Если Отказ Тогда
            Сообщить("Редактирование данных этого периода запрещено. Изменения не могут быть записаны...", СтатусСообщения.Важное);
        КонецЕсли;
// мой код начало
    Если ПользователиИнформационнойБазы.ТекущийПользователь().ОсновнойИнтерфейс.Имя = "ПродавецКожи" Тогда
        Если Источник.Проведен Тогда
            Отказ = Истина;
            Сообщить("Редактирование проведенных документов запрещено. Изменения не могут быть записаны...", СтатусСообщения.Важное);
        КонецЕсли;
    КонецЕсли;
// мой код конец

    #КонецЕсли
    
КонецПроцедуры // ПередЗаписьюДокументаПроверкаДоступностиПериода()


Ещё раз обращаю внимание, что мне нужно было выполнять именно для определенного интерфейса, независимо от выбранных прав

Спасибо сказали: MATEVI,

MATEVI Подменю пользователя
сообщение 17.05.10, 17:54
Сообщение #24

Отдыхающий
Иконка группы
Ветеран троянской войныМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 2203
Из: Одесса
Спасибо сказали: 968 раз
Рейтинг: 796.3

Да. Как то пропустил 44000000.gif
Синтаксис:
РольДоступна(<Роль>)

pencroff Подменю пользователя
сообщение 24.09.10, 8:52
Сообщение #25

Молчаливый
*
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день.
В типовой УТП необходимо сделать деление видимости, доступности учета по подразделениям.
Это значит что справочники номенклатуры, контрагентов, организации - общие. А вот видимость данных в журналах документов, отчетах,
возможность формирования документов должна зависеть от подразделения в котором работает человек.
Один человек может работать в нескольких подразделениях.
Подскажите как лучше всего реализовать сие чудо?
Решение которое мне пришло (мне кажется что это быстрее чем RLS):
1. Принудительно ограничивать отбор в журналах по подразделению в зависимости от пользователя.
2. Контролировать выбор подразделения в документе в зависимости от пользователя.
3. Как формировать отчеты по подразделению (с запретом изменения отбора) - пока не придумал.

Может быть существует более элегантное решение?
Причина редактирования: Используйте стандартные размеры шрифта

zetovich Подменю пользователя
сообщение 24.09.10, 13:32
Сообщение #26

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

RLS - наше все.
1) можно эти отборы отключать.
2) ну зачем оно Вам нужно(там добавили фильтр...там забыли)?
3) RLS как раз и решит вопрос со всеми отчетами.
что за причина боязни RLS?

shavulsky Подменю пользователя
сообщение 24.09.10, 14:44
Сообщение #27

Общительный
Иконка группы
Группа: Местный
Сообщений: 36
Из: zp.ua
Спасибо сказали: 3 раз
Рейтинг: 0

Цитата(zetovich @ 24.09.10, 15:32) *
что за причина боязни RLS?

Малое кол-во информации, книжек.
если можно - ссылку где почитать

pencroff Подменю пользователя
сообщение 24.09.10, 15:12
Сообщение #28

Молчаливый
*
Группа: Пользователи
Сообщений: 5
Спасибо сказали: 0 раз
Рейтинг: 0

Причина не боязнь а то что могу сделать так что все будет тормозить. Говорят что RLS медленно работает.

zetovich Подменю пользователя
сообщение 24.09.10, 20:28
Сообщение #29

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

Цитата(pencroff @ 24.09.10, 17:12) *
Причина не боязнь а то что могу сделать так что все будет тормозить. Говорят что RLS медленно работает.

Простые запросы (а у Вас именно такие должны быть)..работать будет вполне нормально.
да собственно что мешает проверить?....там 5 мин запроса писательства. (лучше посмотреть на типовые (УТ). Сделать что-то наподобие).
У нас, на 15 одновременно работающих пользователей по 300 документов в день, базе уже 4 года, отлично работает по кассами и складам.
Как будто и нет ограничений.

Batchir Подменю пользователя
сообщение 24.09.10, 20:40
Сообщение #30

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

ОФФТОП. А у меня никак руки не доходят до изучения РЛС, хотя чешутся.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 2:42
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!