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

Хранилище

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

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



> Программно дать право на "Вывод" (сохранение файла) на команду &НаКлиенте          
AnryMc Подменю пользователя
сообщение 16.02.24, 9:09
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

Пользователь без права "Вывод" (нет права печатать и сохранять в файл).

В одном документе программно формируется файл.

Как дать право на сохранение только этого файла?

Причем: Процедура &НаКлиенте

AnryMc Подменю пользователя
сообщение 16.02.24, 10:47
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

В Серверном Привилегированном модуле делаю

//добавить роль:

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ВыбПользователь);
ПользовательИБ.Роли.Добавить(Метаданные.Роли.Бухгалтер);
ПользовательИБ.Записать();

//удалить роль:

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ВыбПользователь);
ПользовательИБ.Роли.Удалить(Метаданные.Роли.Бухгалтер);
ПользовательИБ.Записать();


У пользователя роли появляются
НО!
РольДоступна("Бухгалтер") = ЛОЖЬ

Как ОБНОВИТЬ (динамически)
роли доступные Текущему пользователю в Текущем сеансе????

alexxbely Подменю пользователя
сообщение 19.02.24, 9:21
Сообщение #3

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

AnryMc @ 16.02.24, 10:09 * ,
а якщо спробувати
УстановитьПривилегированныйРежим(Истина)
**тут робимо що треба
УстановитьПривилегированныйРежим(Ложь)

alex-l1904 Подменю пользователя
сообщение 19.02.24, 12:08
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 67
Спасибо сказали: 11 раз
Рейтинг: 11

alexxbely @ Сегодня, 10:21 * ,

із довідки
"В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий."

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

AnryMc Подменю пользователя
сообщение 19.02.24, 12:40
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

alex-l1904 @ Сегодня, 13:08 * ,

На клиенте доступна файловая система ("Документы" - данного пользователя операционной системы") в которую нужно сохранить файл пользователю клиентской части...
Агент (сервер) находится на другом компьютере откуда папка "Документы" пользователя недоступны да и на том компе нет его учетки.
Метод УстановитьПривилегированныйРежим - не работает на тонком клиенте

alexxbely Подменю пользователя
сообщение 19.02.24, 16:33
Сообщение #6

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

Цитата(alex-l1904 @ 19.02.24, 13:08) *
alexxbely @ Сегодня, 10:21 ,

із довідки
"В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий."


З вашим зауваженням повністю згоден, але тут жодного слова ані про клієнт-сервер, ані про тонкий клієнт.

sava1 Подменю пользователя
сообщение 19.02.24, 17:59
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

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

AnryMc Подменю пользователя
сообщение 20.02.24, 8:28
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

Цитата(alexxbely @ 19.02.24, 17:33) *
З вашим зауваженням повністю згоден, але тут жодного слова ані про клієнт-сервер, ані про тонкий клієнт.


Цитата(AnryMc @ 16.02.24, 10:09) *
Причем: Процедура &НаКлиенте



AnryMc @ Сегодня, 9:23 * ,

+

Цитата(AnryMc @ 16.02.24, 11:47) *
В Серверном Привилегированном модуле делаю




Цитата(sava1 @ 19.02.24, 18:59) *
поправить процедуру проверки - проще, чем извращаться.
права читаются при входе - в текущем сеансе пользователя они не будут применены



Задача:
Дано: Есть пользователь без прав "Вывод данных". База клиент - сервер (тонкий клиент). Агент сервера стоит на другом компе в сети чем клиент.
Нужно: Сделать кнопочку (команду) по которой клиент может сохранить некий файл в доступную ему на клиентском компьютере директорию.

Сообщение отредактировал AnryMc - 20.02.24, 8:28

sava1 Подменю пользователя
сообщение 20.02.24, 10:21
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

Цитата(AnryMc @ 20.02.24, 8:28) *
Нужно: Сделать кнопочку (команду) по которой клиент может сохранить некий файл в доступную ему на клиентском компьютере директорию.


добавить свою команду и ее обработчик. Как роль может влиять на сохранение/чтение файла? тут скорее ограничения ОС

AnryMc Подменю пользователя
сообщение 20.02.24, 10:50
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

Цитата(sava1 @ 20.02.24, 11:21) *
добавить свою команду и ее обработчик. Как роль может влиять на сохранение/чтение файла? тут скорее ограничения ОС


У роли пользователя нет права "Вывод данных" - соответственно он не может сохранить файл и копирование только одного реквизита / ячейки и прочие ограничения.

sava1 Подменю пользователя
сообщение 20.02.24, 10:59
Сообщение #11

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

право вывод влияет на Табл. документ. как оно может повлиять на программное сохранение файла?

AnryMc Подменю пользователя
сообщение 20.02.24, 11:06
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

Цитата(sava1 @ 20.02.24, 11:59) *
как оно может повлиять на программное сохранение файла


Цитата
Вывод — вывод на печать, запись и копирование в буфер обмена


Не верите - попробуйте...

P.S. Кстати проверяется просто. Любой отчет (табличный документ) стать на любую ячейку - "три точки" вверху справа - ВОПРОС: Доступно ли Файл - сохранить как...???

P.P.S.
Кусок кода (работает если у роли есть право "Вывод данных"
&НаКлиенте

//...

    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    
    Диалог.Заголовок = "Виберіть місце збереження та ім'я для файлу вивантаження";
    Диалог.ПолноеИмяФайла = КаталогДокументов()+"Вивантаження.XLSX";
    Фильтр = "XLSX-файл (*.XLSX)|*.XLSX";
    Диалог.Фильтр = Фильтр;
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Расширение = "XLSX";
    Диалог.Каталог = КаталогДокументов();
    
    Если Диалог.Выбрать() Тогда
        
        Элемент = Диалог.ПолноеИмяФайла;

               //Темп_ТД - ТАБЛИЧНЫЙ ДОКУМЕНТ
        
           Темп_ТД.Записать(Элемент, ТипФайлаТабличногоДокумента.XLSX);


Если у роли нет права "Вывод данных" -

Цитата
Помилка вивантаження файлу: C:\Users\ХХХХХХХХХХ\Documents\Вивантаження.XLSX :: {Справочник.ККККККК.Форма.ФормаСписка.Форма(833)}: Помилка при виклику методу контексту (Записать): Виведення заборонено


Сообщение отредактировал AnryMc - 20.02.24, 11:22

sava1 Подменю пользователя
сообщение 20.02.24, 11:40
Сообщение #13

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2691
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

Цитата(AnryMc @ 16.02.24, 9:09) *
В одном документе программно формируется файл.

Как дать право на сохранение только этого файла?

Причем: Процедура &НаКлиенте


Где здеся интерактивные действия пользователя с выбором директории, формой отчета и т.д.?


по поводу вывода ТД

перед сохранением
ТабДокумент.Вывод = ИспользованиеВывода.Разрешить;

AnryMc Подменю пользователя
сообщение 20.02.24, 12:01
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Спасибо сказали: 97 раз
Рейтинг: 98.6

Цитата(sava1 @ 20.02.24, 12:40) *
Где здеся интерактивные действия пользователя с выбором директории,


Цитата(AnryMc @ 20.02.24, 12:06) *
Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

Диалог.Заголовок = "Виберіть місце збереження та ім'я для файлу вивантаження";
Диалог.ПолноеИмяФайла = КаталогДокументов()+"Вивантаження.XLSX";
Фильтр = "XLSX-файл (*.XLSX)|*.XLSX";
Диалог.Фильтр = Фильтр;
Диалог.МножественныйВыбор = Ложь;
Диалог.Расширение = "XLSX";
Диалог.Каталог = КаталогДокументов();

Если Диалог.Выбрать() Тогда


Цитата(sava1 @ 20.02.24, 12:40) *
перед сохранением

ТабДокумент.Вывод = ИспользованиеВывода.Разрешить;



Цитата(AnryMc @ 20.02.24, 12:06) *
Кусок кода (работает если у роли есть право "Вывод данных"


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


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

 

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