Пользователь должен видеть только свои документы.
По теме из базы знаний
- Консоль запросов со встроенным Конструктором запросов для 1с8.3 (8.2) своими руками
- Криптография и электронная подпись в решениях на 1С
- Подсистема прав доступа (анализ ролей, отладка RLS, английский код, обычные и управляемые формы)
- Как мы загружаем данные в "Центр управления кассами Магнита"
- ФинОфис. Контроль и управление финансами. Практика применения
Найденные решения
Тема очень стара и многократно обсуждалась.
Штатных способов два.
1. Запретить журналы, вместо журналов предложить пользователю обработку, на которой таблица значений заполняется нужными документами. Для примера можно посмотреть, как работает ВыпискаБанка в ТиС. Главная проблема - работает медленно.
2. Воспользоваться отборами в общем журнале. Все прочие журналы запрещаются, в общем журнале фиксируется единственный отбор по автору документа. Проблема - отбор может быть только один. Нельзя отобрать документы одновременно по, например, автору и складу. Решением может быть заведение служебных общих строковых реквизитов с отбором, в которых при записи документов будет запоминаться что-то типа ЗначениеВСтрокуВнутр(Автор)+ЗначениеВСтрокуВнутр(Склад)
Нештатных способов гораздо больше и разнообразней. Это и подмена запросов для SQL баз. Это использование ПоставщикаДанных из 1С++. Есть еще ряд внешних компонентов с требуемым функционалом. Проблема - нужно вложить достаточное количества ума и времени, прежде чем это счастье заработает. Если, конечно, ранее с такими вещами не сталкивался.
Штатных способов два.
1. Запретить журналы, вместо журналов предложить пользователю обработку, на которой таблица значений заполняется нужными документами. Для примера можно посмотреть, как работает ВыпискаБанка в ТиС. Главная проблема - работает медленно.
2. Воспользоваться отборами в общем журнале. Все прочие журналы запрещаются, в общем журнале фиксируется единственный отбор по автору документа. Проблема - отбор может быть только один. Нельзя отобрать документы одновременно по, например, автору и складу. Решением может быть заведение служебных общих строковых реквизитов с отбором, в которых при записи документов будет запоминаться что-то типа ЗначениеВСтрокуВнутр(Автор)+ЗначениеВСтрокуВнутр(Склад)
Нештатных способов гораздо больше и разнообразней. Это и подмена запросов для SQL баз. Это использование ПоставщикаДанных из 1С++. Есть еще ряд внешних компонентов с требуемым функционалом. Проблема - нужно вложить достаточное количества ума и времени, прежде чем это счастье заработает. Если, конечно, ранее с такими вещами не сталкивался.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) fromon,
Можете посмотреть, как сделан отбор по автору в журнале ЖурналОбщий и перенести код в другие журналы.
Вот только для "ограниченных" пользователей использование отборов в ЖурналОбщий придется запретить, иначе они увидят не только то, что им положено. Селяви, за все надо платить.
Как это сделать программно?
Вы хотите, чтобы вам написали и выложили готовый код? Сомневаюсь, что кто-то станет этим заниматься.
Можете посмотреть, как сделан отбор по автору в журнале ЖурналОбщий и перенести код в другие журналы.
Вот только для "ограниченных" пользователей использование отборов в ЖурналОбщий придется запретить, иначе они увидят не только то, что им положено. Селяви, за все надо платить.
ради интереса заглянул сейчас в первую подвернувшуюся бухгалтерию (7.70.601), а там в очевидном виде и понятий-то таких нет: пользователь, свои документы. единственный общий реквизит для документов это комментарий.. к монитору пользователей автор вопрос свой (1) что ли предполагает привязывать?
Тема очень стара и многократно обсуждалась.
Штатных способов два.
1. Запретить журналы, вместо журналов предложить пользователю обработку, на которой таблица значений заполняется нужными документами. Для примера можно посмотреть, как работает ВыпискаБанка в ТиС. Главная проблема - работает медленно.
2. Воспользоваться отборами в общем журнале. Все прочие журналы запрещаются, в общем журнале фиксируется единственный отбор по автору документа. Проблема - отбор может быть только один. Нельзя отобрать документы одновременно по, например, автору и складу. Решением может быть заведение служебных общих строковых реквизитов с отбором, в которых при записи документов будет запоминаться что-то типа ЗначениеВСтрокуВнутр(Автор)+ЗначениеВСтрокуВнутр(Склад)
Нештатных способов гораздо больше и разнообразней. Это и подмена запросов для SQL баз. Это использование ПоставщикаДанных из 1С++. Есть еще ряд внешних компонентов с требуемым функционалом. Проблема - нужно вложить достаточное количества ума и времени, прежде чем это счастье заработает. Если, конечно, ранее с такими вещами не сталкивался.
Штатных способов два.
1. Запретить журналы, вместо журналов предложить пользователю обработку, на которой таблица значений заполняется нужными документами. Для примера можно посмотреть, как работает ВыпискаБанка в ТиС. Главная проблема - работает медленно.
2. Воспользоваться отборами в общем журнале. Все прочие журналы запрещаются, в общем журнале фиксируется единственный отбор по автору документа. Проблема - отбор может быть только один. Нельзя отобрать документы одновременно по, например, автору и складу. Решением может быть заведение служебных общих строковых реквизитов с отбором, в которых при записи документов будет запоминаться что-то типа ЗначениеВСтрокуВнутр(Автор)+ЗначениеВСтрокуВнутр(Склад)
Нештатных способов гораздо больше и разнообразней. Это и подмена запросов для SQL баз. Это использование ПоставщикаДанных из 1С++. Есть еще ряд внешних компонентов с требуемым функционалом. Проблема - нужно вложить достаточное количества ума и времени, прежде чем это счастье заработает. Если, конечно, ранее с такими вещами не сталкивался.
Создал справочник с дополнительными правами пользователей.
Там прописал права на открытие и просмотр необходимых документов (нужны не все разумеется).
В доках "ПриОткрытии()" прописал проверку на права, и в журналах соответственно.
Документы в журналах видно, но ни сумма ни контрагент не отображается.
Все довольны)
Там прописал права на открытие и просмотр необходимых документов (нужны не все разумеется).
В доках "ПриОткрытии()" прописал проверку на права, и в журналах соответственно.
Документы в журналах видно, но ни сумма ни контрагент не отображается.
Все довольны)
(16) falcon,
Нельзя.
В типовой ТиС печать документа из журнала выглядит так:
а в документе следующий код:
в типовой ТиС документ можно напечатать из журнала, минуя ПриОткрытии()....
Нельзя.
В типовой ТиС печать документа из журнала выглядит так:
Процедура глПечатьДокумента(ДокДляПечати, Способ = "ПечатьНаЭкран") Экспорт
// Эта процедура используется для вывода отчета о бух. проводках документа.
Если ПустоеЗначение(ДокДляПечати) = 1 Тогда
Предупреждение("Выберите документ!",60);
Возврат;
КонецЕсли;
СписокПараметров = СоздатьОбъект("СписокЗначений");
СписокПараметров.Установить("Команда",Способ);
ОткрытьФорму(ДокДляПечати,СписокПараметров,1);
КонецПроцедуры // глПечатьДокумента()
Показатьа в документе следующий код:
Процедура ПриОткрытии()
// Заполним таблицу для выбора печатной формы
НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);
Парам = Форма.Параметр;
Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда
Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда
Сообщить("В форму документа "+Вид()+" передан неверный параметр!","I");
СтатусВозврата(0);Возврат;
КонецЕсли;
Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда
КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1);
ПоКнопкеПечать(1,КолЭкз);
СтатусВозврата(0);Возврат;
ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда
ПоКнопкеПечать(0);
СтатусВозврата(0);Возврат;
Иначе
Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I");
СтатусВозврата(0);Возврат;
КонецЕсли;
КонецЕсли;
...
Показать
(20)(21) Не такую уж и кучу усилий.
В ТиС во всех документах вызывается глПроверкаРазрешенияРедактирования(). Вставляем в одно место код и открыть запрещенный документ нельзя хоть из журнала, хоть из отчета.
Практически во всех отчетах есть глФильтрПоПеременнойЗапроса(). Модифицируем её и разом накладываем дополнительные фильтры на почти все отчеты.
Правами забираем открытие внешних обработок и встроенные обработки типа ПодборОбъектов и ВыпискаБанка, могущие показать лишнее. Ну или немного доделать их.
В ТиС во всех документах вызывается глПроверкаРазрешенияРедактирования(). Вставляем в одно место код и открыть запрещенный документ нельзя хоть из журнала, хоть из отчета.
Практически во всех отчетах есть глФильтрПоПеременнойЗапроса(). Модифицируем её и разом накладываем дополнительные фильтры на почти все отчеты.
Правами забираем открытие внешних обработок и встроенные обработки типа ПодборОбъектов и ВыпискаБанка, могущие показать лишнее. Ну или немного доделать их.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот