Имя: Пароль:
1C
 
Процедура УстановитьПараметрГраницыЗапретаИзмененияДанных (УТ)
0 pro3ri
 
01.10.15
15:13
Добрый день!
В модуле приложения https://s.mail.ru/399wcGkpeQom/img-2015-10-01-17-14-06.png
выполняется процедура, это соответствие, как в него провалиться и изменить то, что надо присваивать?
1 pro3ri
 
01.10.15
15:18
(0) + есть пользователь с ролью 1, у него заполняется соответсвие, копирую роль, проставляю роль 2, соответсвие = неопределено
2 ukolabrother
 
01.10.15
15:22
(0) процедура это соответствие? F12 нажми на процедуре и провалишься
3 pro3ri
 
02.10.15
09:25
(2) нажал, провалился
вот процедура

Процедура УстановитьПараметрГраницыЗапретаИзмененияДанных() Экспорт
        
    Если РольДоступна("ПолныеПрава") Тогда
        ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных(0));
        Возврат;
    КонецЕсли;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВЫБОР КОГДА (Границы.Организация) ЕСТЬ NULL  ТОГДА &ПустаяОрганизация ИНАЧЕ Границы.Организация КОНЕЦ КАК Организация,
    |    МИНИМУМ(ВЫБОР КОГДА (Границы.ГраницаЗапретаИзменений) ЕСТЬ NULL  ТОГДА ДАТАВРЕМЯ(1, 1, 1) ИНАЧЕ Границы.ГраницаЗапретаИзменений КОНЕЦ) КАК ГраницаЗапретаИзменений
    |ИЗ
    |    Перечисление.НаборПравПользователей КАК НаборыПрав
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГраницыЗапретаИзмененияДанных КАК Границы
    |        ПО Границы.Роль = НаборыПрав.Ссылка
    |
    |ГДЕ
    |    (НаборыПрав.Ссылка В (&СписокДоступныхРолей))
    |
    |СГРУППИРОВАТЬ ПО
    |    ВЫБОР КОГДА (Границы.Организация) ЕСТЬ NULL  ТОГДА &ПустаяОрганизация ИНАЧЕ Границы.Организация КОНЕЦ";
    
    Запрос.УстановитьПараметр("СписокДоступныхРолей", ПолучитьСписокНабораПрав());
    Запрос.УстановитьПараметр("ПустаяОрганизация", ПараметрыСеанса.ПустаяОрганизация);
    РезультатЗапроса = Запрос.Выполнить();
    Если РезультатЗапроса.Пустой() Тогда
        Соответствие = Неопределено;
    Иначе            
        Соответствие = Новый Соответствие;
        Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            Соответствие[Выборка.Организация] = Выборка.ГраницаЗапретаИзменений;
        КонецЦикла;        
        ЕСли Соответствие.Количество() = 0 Тогда
            Соответствие = Неопределено;
        КонецЕсли;        
    КонецЕсли;
    
    Если Соответствие <> Неопределено Тогда
        СохранятьСоответствие = Ложь;
        Для Каждого КлючИЗначение Из Соответствие Цикл
            ЕСли КлючИЗначение.Значение <> Дата('00010101') Тогда
                СохранятьСоответствие = Истина;
                Прервать;
            КонецЕсли;
        КонецЦикла;
        Если НЕ СохранятьСоответствие Тогда
            Соответствие = Неопределено;
        КонецЕсли;            
    КонецЕсли;
        
    ПараметрыСеанса.ГраницыЗапретаИзмененияДанных = Новый ХранилищеЗначения(Соответствие, Новый СжатиеДанных(0));
    
КонецПроцедуры


В самом начале поставил точку останова. Но она не срабатывает, по F11 не проваливается. Почему не срабатывает точка останова?