Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрет на редактирование
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vofka
Привет!



Процедура ПриНачалеРедактированияСтроки()
Если (Проведен() = 1) И (КоличествоСтрок() > 0) Тогда
Если ИмяПользователя() <> СокрЛП("Вася") Тогда
Предупреждение("Редактирование запрещено!!!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры


Это работает. Но мне нужно добавить ещё одного пользователя. Делю что-то типа:



Процедура ПриНачалеРедактированияСтроки()
Если (Проведен() = 1) И (КоличествоСтрок() > 0) Тогда
Если (ИмяПользователя() <> СокрЛП("Вася")) ИЛИ (ИмяПользователя() <> СокрЛП("Петя")) Тогда
Предупреждение("Редактирование запрещено!!!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры


Так не работает.

Подскажите пожалуйста, как это правильно реализовать (я думаю задумку все поняли smile.gif )
Pepe
Попробуй взять в скобки условие. Короче добавь "(" после Если и ")" перед Тогда
MATEVI
Цитата(Vofka @ 02.03.09, 15:06) необходимо зарегистрироваться для просмотра ссылки
Привет!

Так не работает.

Подскажите пожалуйста, как это правильно реализовать (я думаю задумку все поняли smile.gif )


Не ИЛИ а И
Vofka
Цитата(MATEVI @ 02.03.09, 20:42) необходимо зарегистрироваться для просмотра ссылки
Не ИЛИ а И


Ура! Good-Post.gif
sVasilich
Не или а И???
А Вася и Петя теперь редактировать могут?
Vofka
Могут smile.gif
DartRomanius
Vofka, внимательно смотри на логические условия. smile.gif
novosys
форум по азам программирования...
zetovich


ВРег(ИмяПользователя()) <> СокрЛП("ВАСЯ")

так правельнее
MATEVI
Цитата(zetovich @ 07.05.09, 11:25) необходимо зарегистрироваться для просмотра ссылки


ВРег(ИмяПользователя()) <> СокрЛП("ВАСЯ")

так правельнее

А так нет?
НРег(ИмяПользователя()) <> СокрЛП("вася")
И почему именно так правЕльнее?
zetovich
Цитата(MATEVI @ 07.05.09, 17:19) необходимо зарегистрироваться для просмотра ссылки
А так нет?
НРег(ИмяПользователя()) <> СокрЛП("вася")
И почему именно так правЕльнее?

можно и так.
а потому.
Batchir
laugh.gif или так

НРег(ИмяПользователя()) <> НРег(СокрЛП("вАсЯ"))
Zaval
Ну воть, научили человека правильно каку делать...
Не слушай этих еретиков, сделай через название набора прав. Добавить юзера или права поменять - не придется выгонять всех из базы в разгар рабочего дня.
Для фикси - эт ваще как серпом по ...
Batchir
Цитата(Zaval @ 09.05.09, 2:14) необходимо зарегистрироваться для просмотра ссылки
Ну воть, научили человека правильно каку делать...

Так я ж не говорил что правильно, это уже так - поржать.
Fynjy
Ни когда не привязывайся к именам - это ужасный метод программинга в 1С... Нужно будет добавить еще 2 и будешь дальше прописывать если?
Vofka
Цитата(Fynjy @ 16.06.09, 20:59) необходимо зарегистрироваться для просмотра ссылки
Ни когда не привязывайся к именам - это ужасный метод программинга в 1С... Нужно будет добавить еще 2 и будешь дальше прописывать если?


Можно было как-то динамически задавать параметры пользователям, но учитывая то, что в базе очень многое сделано через Ж и очень много подобных привязок - сделал так. 19000000.gif
Zaval
Цитата(Vofka @ 17.06.09, 10:43) необходимо зарегистрироваться для просмотра ссылки
Можно было как-то динамически задавать параметры пользователям, но учитывая то, что в базе очень многое сделано через Ж и очень много подобных привязок - сделал так. 19000000.gif


Посмотри в СП ВстрЯзык - Системные - Функции/Процедуры - Среда исполнения.

Там тебе и НазваниеИнтерфейса, и ИмяКомпьютера, и самое правильное - НазваниеНабораПрав.
pechkin_ua
<pre><code>
Процедура ПриНачалеРедактированияСтроки()
Если (Проведен() = 1) И (КоличествоСтрок() > 0) Тогда
Если (ИмяПользователя() <> СокрЛП("Вася")) ИЛИ (ИмяПользователя() <> СокрЛП("Петя")) Тогда
Предупреждение("Редактирование запрещено!!!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
</pre></code>

Так не работает.

Подскажите пожалуйста, как это правильно реализовать (я думаю задумку все поняли smile.gif )
[/quote]

так и не будет работать. по условию получается фигня ...
если ставишь условие, что все кроме Васи и Пети могут, а остальные нет
то условие должно выглядеть так:
Если (ИмяПользователя() <> СокрЛП("Вася")) И (ИмяПользователя() <> СокрЛП("Петя")) Тогда

это равносильно, что:

Если (ИмяПользователя() = СокрЛП("Вася")) ИЛИ (ИмяПользователя() = СокрЛП("Петя")) Тогда
// Вася и Петя - классссные пацаны
// делай что хочешь ... шутка
Иначе
// всем остальным
Предупреждение("Редактирование запрещено!!!");
СтатусВозврата(0);
Возврат;
КонецЕсли;

если наборы прав для Васи и Пети одинаковы тогда лучше всего сделай так. Например, набор прав Васи - "офигенный_пацан". Тогда создай копию этого набора прав. Н-р: "офигенный_пацан1". и пропиши её для Васи и Пети.
Vofka
PECHKIN_UA, вопрос давно решён smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.