Программно установить флажок "Потребовать установку (смену) пароля при входе" #788564


#0 by Егор123
Доброго времени суток! Поставили задачу написать обработку программной установки данного флага у выбранных пользователей. За основу взял обработку уведомлений (там тоже регистр сведений, но ссылаются они не справочники, а на перечисления). Не получается обратиться к реквезиту ПотребоватьСменуПароляПриВходе, который находится на ФормаЭлемента справочника Пользователи. Начинающий программист - камне много попрошу не кидать и написать по делу что я делаю не так или возможно сталкивался кто-то с подобным.
#1 by Cool_Profi
А зачем ты пытаешься изменить реквизит формы, если тебе надо менять реквизит объекта?
#2 by Егор123
, в списке реквизитов объекта нет нужного мне. Вот код с уведомлениями (который я закоментил) - он ссылался на объект Перечесления, в котором были необходимые Значения - ПоПочте и  СозданиеЗаписиКалендаря. В справочнике Пользователи я таких данных не нашёл. И в моём случае не понимаю как достать эти данные (ПотребоватьСменуПароляПриВходе)...
#3 by Fish
Ну так посмотри в коде, где эти данные хранятся в базе.
#4 by Егор123
Сейчас попытался написать внешнюю обработку, чтоб у всех пользователей при нажатии на кнопку галочка "ПотребоватЬСменуПароляПриВходе" - стала true. Подскажите - что я делаю не так? Пишет: {ВнешняяОбработка.ВнешняяОбработка2.Форма.Форма.Форма}: Слишком много фактических параметров
#5 by Fish
А что в строке 149?
#6 by Егор123
Для каждого УдаляемаяЗапись Из МассивУдаляемых3 Цикл
#7 by zvial
Так это ж набор записей, у метода Добавить нет параметров
#8 by zvial
Надо как то так: Но, вообще не понятен код - зачем добавлять в РС уже имеющиеся данные из массива удаляемых? Может, их удалять над было?
#9 by Егор123
В начале я делаю отбор тех данных (пользователей), у которых ПотребоватьСменуПароля = Ложь. А потом я хочу их записать в регистр со значением Истина. Как это в целом будет выглядеть?
#10 by zvial
Возможно, так:
#11 by zvial
Либо просто в цикле по набору записей для всех записей установить значение ПотребоватьСменуПароляПриВходе = Истина
#12 by Егор123
тоже пишет, что недостаточно фактических параметров
#13 by Егор123
да, вот так сделал. спасибо)
#14 by zvial
Ну так, блин, посмотрите в СП требуемые параметры методов НаборЗаписейКоды.Загрузить(времТЗ);
#15 by zvial
Хорошо
#16 by Егор123
я не ещё не столь шарю) мало ли кому пригодится
#17 by Егор123
А как вывести сообщением список тех пользователей, у которых уже была эта галочка?
#18 by trdm
> ПотребоватьСменуПароляПриВходе Надо еще проверку даты времени установки старого пароля знать и запоминать и проверку на заполненность пароля. И что-бы не чаще чем в пол года пароль менять, (если не пустой). А то Unscrew eggs....
#19 by Егор123
Что делаю не так подскажите? Пишет, что не соответствие типов (параметр 2).. хочу вывести сообщением тех пользователей, у которых значение Ложь...
#20 by Cool_Profi
И увидишь ты в лучшем случае строку "Результат запроса" Перебирать-то его кто будет? Алексей Николаевич? Или Сам ВВ?
#21 by Егор123
, боюсь ВВ меня пошлёт) а как перебрать это всё дело? Я вроде в запросе уже указал что мне нужно выбрать и откуда, а потом пытаюсь получить соответствующие запросу данные.
#22 by Fish
Открой наконец СП и почитай.
#23 by Cool_Profi
Открой справочку и посмотри, что тебе возвращает Запрос.Выполнить. И что с этим можно потом делать.
#24 by Fish
Продай ему СП :)
#25 by Cool_Profi
Ээээ.... А я тут каким боком? ;-)
#26 by Егор123
да открыл я СП, всё равно не могу понять как это сделать...
#27 by Cool_Profi
Тогда теперь открой книжку Радченко и найди там главу про запросы.
#28 by Fish
Тогда для начала надо почитать какую-нибудь литературу по 1С, посмотреть видеоуроки. Если же и это не поможет - тогда 1С - это просто не твоё.
#29 by Cool_Profi
а ещё можно нажать Ф1 в конфигураторе - содержание - встроенный язык - работа с запросами  - выполнение и работа с запросами во встроенном языке.
#30 by Егор123
так я для этого на форуме и зарегался чтобы спрашивать то,что непонятно .. я не понимаю как обратиться к данным, как их вывести на экран.   книгу открыл. начал пробовать так, как там - не выходит. Мне нужно, чтоб показали как делать на похожем запросе - тогда я въеду в тему..
#31 by Cool_Profi
сделай как в там есть пример
#32 by Егор123
Спасибо. Нашёл, смог, познал!)
#33 by Егор123
А можно сделать так, чтобы в запросе читались не все пользователи? (т.е., например, исключить одно подразделение).
#34 by Fish
Можно. Условие надо в запросе написать.
#35 by Егор123
А как в запросе обратиться к строке? Если кавычки - ругается. Если убрать, пишет что такого поля необнаружено.
#36 by Cool_Profi
|    (СведенияОПользователяхДокументооборот.Подразделение <> ""Бухгалтерия""
#37 by Cool_Profi
Да и вообще - подразделение - это ссылка на справочник, а не строка
#38 by Fish
Тебе надо почитать про параметры в запросе.
#39 by Егор123
ну да, не помогло. а как тогда обратиться к конкретному элементу справочника?
#40 by Fish
Он предопределённый?
#41 by Егор123
нет. Это подразделение же.
#42 by Fish
Тогда через параметр. В запросе пишешь: А после запроса что-то типа: Запрос.УстановитьПараметр("Бухгалтерия", БухгалтерияСсылка), где переменная БухгалтерияСсылка должна содержать нужную тебе ссылку.
#43 by Егор123
я сейчас так и сделал, ошибку пишет..
#44 by Егор123
{ВнешняяОбработка.ПотребоватьСменуПароляУВсехПользователей.Форма.Форма.Форма}: Ошибка при вызове метода контекста (Выполнить)     РезультатЗапроса = Запрос.Выполнить; по причине: {(14, 59)}: Не задано значение параметра "МассивОРПП" (СведенияОПользователяхДокументооборот.Подразделение <> (<<?>>&МассивОРПП)
#45 by Cool_Profi
@ Не задано значение параметра "МассивОРПП" @ Вот ведь Боря... Старался... Писал программу на русском языке... И всё равно находятся люди, которые не понимают...
#46 by Егор123
Может скажите что не так.. я не понимаю почему пишет ошибку, помогите исправить.
#47 by Cool_Profi
Раз
#48 by Егор123
а нужно то как?
#49 by Fish
Для начала нужно понять, что из себя представляет ссылка на элемент справочника, и как её получить.
#50 by Егор123
ну В РегистрыСведений.СведенияОПользователяхДокументооборот есть ресурс Подразделения он ссылается на справочник СтруктураПредприятия
#51 by Егор123
и что с этой информацией делать?)
#52 by Fish
Ресурс регистра с типом СправочникСсылка.СтруктураПредприятия и ссылка на элемент справочника, хоть и имеющая тот же тип - это две разные вещи. Когда поймёшь это (прочитав хотя бы азы), тогда сразу поймёшь, что с этим делать.
#53 by Егор123
Я понимаю, что разные. но не понимаю как получить ссылку на элемент. как узнать где он хранится. можете просто сказать как надо?
#54 by Fish
Можно открыть СП и посмотреть примеры. Или воспользоваться поиском. Это, кстати, и в правилах написано: "Скорее всего Вы не первый, кто столкнулся с этой проблемой. Попробуйте найти ответ на форуме (в правом нижнем углу есть окно поиска) или в многочисленных статьях и FAQ по 1С, ссылки на которые вы найдете на сайте . В любом случае полученные знания не будут лишними." А разжёвывать азы лениво, если честно.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С