• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

1c77 Отбор по реквизиту в журнале

  • Автор темы vbs
  • Дата начала
V

vbs

Ситуация такая : пользователю при открытии общего журнала принудительно устанавливается отбор по некоему общему реквизиту документа.
Просмотр подчиненных разрешен. Но при попытке его открыть выдается

УстановитьОтбор("Филиал",ФилиалДляОтбора);
{Журнал.Общий.Форма.ФормаСписка.Модуль(24)}: Неверное имя реквизита!


ФилиалДляОтбора при этом имеет непустое значение соответствующего справочника

При самостоятельной установке отбора по данному реквизиту (для пользователя с полными полномочиями) ничего подобного не происходит
Что-то я упустил, только не понимаю, где ;)
 
T

TimeDontWait

А что, если так:
Код:
УстановитьОтбор("Филиал",ФилиалДляОтбора);
ФилиалДляОтбора=ФилиалДляОтбора.ТекущийЭлемент();
 
V

vbs

УстановитьОтбор("Филиал",ФилиалДляОтбора); //Так в этом месте уже и ругается.
ФилиалДляОтбора=ФилиалДляОтбора.ТекущийЭлемент();

Я, собственно, представляю, как это преодолеть, тем более, что ограниченному пользователю видеть надо
не все подчиненные документы, а выборочно это сделать несложно.
Просто попробовал проверить штатные, как мне показалось, средства, и вот такой конфуз
 
P

puh14

А если у пользователя нет прав на чтение справочника с филиалами?

может таки грамматика затесалась?

а если пробежаться по метаданным и вытащить все графы отбора для этого пользователя?
 
U

User1C

Просмотр подчиненных разрешен. Но при попытке его открыть выдается

УстановитьОтбор(<?>,);
Синтаксис:
УстановитьОтбор(<ИмяОтбора>,<ЗначениеОтбора>)
Назначение:
Установить отбор журнала.
Параметры:
<ИмяОтбора> - строка с именем отбора (если пусто - отбор отключается);
<ЗначениеОтбора> - значение отбора.

Замечание:
Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа. В этом случае синтаксис вызова метода следующий:
УстановитьОтбор(<ВидДокумента>)
Параметры:
<ВидДокумента> - строковое выражение - вид документа отбора.
Метод доступен только в контексте Модуля формы журнала.
 
V

vbs

А если у пользователя нет прав на чтение справочника с филиалами?
Таки доступ к этому справочнику действительно закрыт. Для этого вся заморочка с отбором в общем журнале ровно по конкретному филиалу.
Так никто и не требует этого доступа - установил я отбор по твоему филиалу - и шаг влево, шаг вправо исключены. Механизм работает.
Подчиненные я попытался задействовать потому, что они не видны в общем журнале (с фильтром), ибо не для всех обязательно заполнение филиала.
Теперь буду курить в сторону создания механизма просмотра тех документов, в которых филиал не заполнен, но по внутренним реквизитам
его просмотр ограниченному пользователю разрешен. Это просто. Удобства пользователя для начальства - дело второе.
Главное ограничить его в информации.

Что мне хотел сказать User1C я так и не понял.
Ясно, что при попытке вызвать журнал подчиненных неявно вызывается форма общего журнала (где-то, помню, была настройка
типа "Одна форма для журнала подчиненных и...", только забыл, где)
 
Д

Дайнеко

Долго читал, с трудом понимал, но кажется понял. Просто люблю "детские" объяснения ситуации:
1. Польз. открыл журнал Полный - видит док-ты конкретного филиала. Красиво.
2. На одном из доков правой кнопкой мышки вызвал меню "Подчиненные документы" - выскочила ошибка. Некрасиво.
Так, что-ли?
А вот "Просмотр подчиненных разрешен" я не знаю, об чем это.

Согласен, User1C выразился невнятно, но направление указал правильное:
Во всех журналах, кроме журнала подчиненных документов, работает отбор по виду документа.

А именно дело было так:
* VBS поставил в Конфигураторе в Полном журнале галочку "Использовать как подчиненный". Не со зла, а так, для красоты.
______.JPG
* Польз. открывает журнал подчиненных.
* 1С думает: "кто у нас журнал Подчиненных? А тот же что и Полный".
* Тогда рисует форму Полного журнала и натыкается на злополучную строку автора.
* Согласно цитате 1С User1C входит во внутренний неразрешимый конфликт: "Программер! Какой-какой отбор. Я-ж буду творить отбор по головному документу".
* Собака думает, что хозяин зовет жену. А Эмма думает...
 
V

vbs

VBS поставил в Конфигураторе в Полном журнале галочку "Использовать как подчиненный". Не со зла, а так, для красоты
Не ставил я, до меня так было, а я не удосужился с этими птичками поэкспериментировать.
Именно в таком виде (вариант Дайнеко) надо настроить общий журнал (использовать как полный). Тогда и фильтр на подчиненные игнорируется,
а это, хоть и паллиатив, но зато не надо плодить дополнительные обработки
Da ist der Hund begraben, так что ей и думать не надо, да и Эмма спокойна

А вот "Просмотр подчиненных разрешен" я не знаю, об чем это.
А это в настройках прав
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!