Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Обработка "Закрытие даты запрета редактирования"          
candrey Подменю пользователя
сообщение 25.02.15, 20:41
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Добрый вечер.
В наличии 1С Предприятие 8.2, релиз Управление тороговым предприятием для Украины 1.2. Файловый вариант.Обычное приложение.

Столкнулся с проблемой немогу добавить вторую и третю группу пользователей для закрытия даты запрета редактирования вчерашним днем т.е физичиски добавить могу строчку, но програмно она не выполняется. Выполняется самая последняя "М3".
Сама обработка предназначена для "закрытие периода на редактирования вчерашней даты"
Помогите с решение проблемы!
Зарания Спасибо!

Сам код.

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ПользовательДляЗапрета = Справочники.ГруппыПользователей.НайтиПоНаименованию("М1");

        ПользовательДляЗапрета = Справочники.ГруппыПользователей.НайтиПоНаименованию("М2");

    ПользовательДляЗапрета = Справочники.ГруппыПользователей.НайтиПоНаименованию("М3");
    
    
    
    // Создаём ДеревоЗначений для обработки
    ДеревоДаты =  Новый ДеревоЗначений;
    
    ДеревоДаты.Колонки.Добавить("ОрганизацияПользователь");
    ДеревоДаты.Колонки.Добавить("Граница");
    ДеревоДаты.Колонки.Добавить("ПравоНаИзменение");
    ДеревоДаты.Колонки.Добавить("ТипСтроки");
    
    // Код из модуля общей формы УстановкаДатыЗапретаИзмененияДанных. Процедура ЗаполнитьДеревоДат().
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
    
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    Организации.Ссылка КАК Организация,
                   |    ЕСТЬNULL(Границы.Пользователь, НЕОПРЕДЕЛЕНО) КАК Пользователь,
                   |    ЕСТЬNULL(Границы.ГраницаЗапретаИзменений, ДАТАВРЕМЯ(1, 1, 1, 23, 59, 59)) КАК ГраницаЗапретаИзменений,
                   |    ЕСТЬNULL(НастройкиПравДоступаПользователей.Запись, ЛОЖЬ) КАК ПравоНаИзменение,
                   |    ВЫБОР
                   |        КОГДА ЕСТЬNULL(Границы.Пользователь, НЕОПРЕДЕЛЕНО) = НЕОПРЕДЕЛЕНО
                   |            ТОГДА 1
                   |        КОГДА Границы.Пользователь ССЫЛКА Справочник.ГруппыПользователей
                   |            ТОГДА 2
                   |        КОГДА Границы.Пользователь ССЫЛКА Справочник.Пользователи
                   |            ТОГДА 3
                   |    КОНЕЦ КАК ПризнакТипаСтроки
                   |ИЗ
                   |    Справочник.Организации КАК Организации
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГраницыЗапретаИзмененияДанных КАК Границы
                   |        ПО Границы.Организация = Организации.Ссылка
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                   |        ПО Организации.Ссылка = НастройкиПравДоступаПользователей.ОбъектДоступа
                   |            И (НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации))
                   |            И (НастройкиПравДоступаПользователей.Пользователь В
                   |                (ВЫБРАТЬ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы.Ссылка
                   |                ИЗ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы
                   |                ГДЕ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы.Пользователь = &ТекущийПользователь))
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Организация,
                   |    ПризнакТипаСтроки,
                   |    Границы.Пользователь
                   |АВТОУПОРЯДОЧИВАНИЕ";
    
    Выборка = Запрос.Выполнить().Выбрать();
    ЕстьРольПолныеПрава = РольДоступна("ПолныеПрава");
    Пока Выборка.Следующий() Цикл
        
        Если Выборка.Пользователь = Неопределено Тогда
            СтрокаОрганизации = ДеревоДаты.Строки.Добавить();
            
            СтрокаОрганизации.ОрганизацияПользователь    = Выборка.Организация;
            СтрокаОрганизации.Граница                    = Выборка.ГраницаЗапретаИзменений;
            СтрокаОрганизации.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
            СтрокаОрганизации.ТипСтроки                    = Выборка.ПризнакТипаСтроки;
        Иначе
            
            Если СтрокаОрганизации = Неопределено ИЛИ СтрокаОрганизации.ОрганизацияПользователь <> Выборка.Организация Тогда
                СтрокаОрганизации = ДеревоДаты.Строки.Добавить();
                СтрокаОрганизации.ОрганизацияПользователь    = Выборка.Организация;
                СтрокаОрганизации.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
                СтрокаОрганизации.ТипСтроки                    = 1;
            КонецЕсли;
            
            СтрокаПользователя = СтрокаОрганизации.Строки.Добавить();
            СтрокаПользователя.ОрганизацияПользователь    = Выборка.Пользователь;
            СтрокаПользователя.Граница                    = Выборка.ГраницаЗапретаИзменений;
            СтрокаПользователя.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
            СтрокаПользователя.ТипСтроки                = Выборка.ПризнакТипаСтроки;
        КонецЕсли;
    КонецЦикла;
    
    
    // Код из модуля общей формы УстановкаДатыЗапретаИзмененияДанных. Процедура СохранитьДанные().
    Запрос = Новый Запрос;
    Запрос.Текст  = "ВЫБРАТЬ //РАЗРЕШЕННЫЕ
                    |    Организации.Ссылка КАК Организация
                    |ИЗ
                    |    Справочник.Организации КАК Организации";
    
    Если Не РольДоступна("ПолныеПрава") Тогда
        Запрос.Текст = Запрос.Текст + "
        |ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
        |ПО Организации.Ссылка = НастройкиПравДоступаПользователей.ОбъектДоступа
        |    И (НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации))
        |    И (НастройкиПравДоступаПользователей.Пользователь В
        |                (ВЫБРАТЬ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы.Ссылка
        |                ИЗ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы
        |                ГДЕ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы.Пользователь = &ТекущийПользователь))
        |    И (НастройкиПравДоступаПользователей.Запись = ИСТИНА)";
        
        Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
    КонецЕсли;
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НужноДобавить = Истина;
        
        Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
        Набор.Отбор.Организация.Установить(Выборка.Организация);
        
        СтрокаВДереве = ДеревоДаты.Строки.Найти(Выборка.Организация, "ОрганизацияПользователь");
        
        Запись = Набор.Добавить();
        Запись.Организация = Выборка.Организация;
        Запись.Пользователь = Неопределено;
        
        Если СтрокаВДереве = Неопределено Тогда
            Запись.ГраницаЗапретаИзменений = Дата('00010101');
        Иначе
            Запись.ГраницаЗапретаИзменений = СтрокаВДереве.Граница;
            Для Каждого СтрокаРоли ИЗ СтрокаВДереве.Строки Цикл
                Запись = Набор.Добавить();
                Запись.Организация = Выборка.Организация;
                Запись.Пользователь = СтрокаРоли.ОрганизацияПользователь;
                Если Запись.Пользователь = ПользовательДляЗапрета Тогда
                    НужноДобавить = Ложь;
                    Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
                Иначе
                    Запись.ГраницаЗапретаИзменений = СтрокаРоли.Граница;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
        
        // Добавим пользователя
        Если НужноДобавить Тогда
            Запись = Набор.Добавить();
            Запись.Организация = Выборка.Организация;
            Запись.Пользователь = ПользовательДляЗапрета;
            Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
        КонецЕсли;
        
        Набор.Записать();
        
    КонецЦикла;

Zaval Подменю пользователя
сообщение 25.02.15, 21:47
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1994
Из: Киева и окрестностей
Спасибо сказали: 406 раз
Рейтинг: 0

Одной переменной три раза присваиваются разные значения.
Остается последнее. Все честно.
Если последнюю строчку убрать - последним станет второе, оно и останется.

Спасибо сказали: candrey,

candrey Подменю пользователя
сообщение 26.02.15, 11:44
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Вы верно все сказали, так оно и есть.
Т.е вы предлагаете использовать три переменные?
И им присваивать разные значения?

candrey Подменю пользователя
сообщение 27.02.15, 14:24
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 155
Спасибо сказали: 6 раз
Рейтинг: 0

Изменил код. Ввел новые переменные.
Добавил две переменные. В результате программа блокирует изменения вчерашнего дня, что и требовалось. Но при прокрутке даты сдвигается только дата для "М1". Я так понимаю т.к она последняя в процедуре, то она затирает предыдущую запись "М в регистре.
Помоги как решить эту проблему? Чтоб двигались обе даты для "М" и "М1"
        ПользовательДляЗапрета = Справочники.Пользователи.НайтиПоНаименованию("М");
    ПользовательДляЗапрета1 = Справочники.Пользователи.НайтиПоНаименованию("М1");
    .........................................

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НужноДобавить = Истина;


                
        Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
        Набор.Отбор.Организация.Установить(Выборка.Организация);
        
        СтрокаВДереве = ДеревоДаты.Строки.Найти(Выборка.Организация, "ОрганизацияПользователь");
        
        Запись = Набор.Добавить();
        Запись.Организация = Выборка.Организация;
        Запись.Пользователь = Неопределено;
        
        Если СтрокаВДереве = Неопределено Тогда
            Запись.ГраницаЗапретаИзменений = Дата('00010101');
        Иначе
            Запись.ГраницаЗапретаИзменений = СтрокаВДереве.Граница;
            Для Каждого СтрокаРоли ИЗ СтрокаВДереве.Строки Цикл
                Запись = Набор.Добавить();
                Запись.Организация = Выборка.Организация;
                Запись.Пользователь = СтрокаРоли.ОрганизацияПользователь;
                Если Запись.Пользователь = ПользовательДляЗапрета Тогда
                    НужноДобавить = Ложь;
                    Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
                Иначе
                    Запись.ГраницаЗапретаИзменений = СтрокаРоли.Граница;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;


    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НужноДобавить = Истина;
        
        
        Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
        Набор.Отбор.Организация.Установить(Выборка.Организация);
        
        СтрокаВДереве = ДеревоДаты.Строки.Найти(Выборка.Организация, "ОрганизацияПользователь");
        
        Запись = Набор.Добавить();
        Запись.Организация = Выборка.Организация;
        Запись.Пользователь = Неопределено;
        
        Если СтрокаВДереве = Неопределено Тогда
            Запись.ГраницаЗапретаИзменений = Дата('00010101');
        Иначе
            Запись.ГраницаЗапретаИзменений = СтрокаВДереве.Граница;
            Для Каждого СтрокаРоли ИЗ СтрокаВДереве.Строки Цикл
                Запись = Набор.Добавить();
                Запись.Организация = Выборка.Организация;
                Запись.Пользователь = СтрокаРоли.ОрганизацияПользователь;
                Если Запись.Пользователь = ПользовательДляЗапрета1  Тогда
                    НужноДобавить = Ложь;
                    Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
                Иначе
                    Запись.ГраницаЗапретаИзменений = СтрокаРоли.Граница;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
        
        
        
        
        // Добавим пользователя
        Если НужноДобавить Тогда
            Запись = Набор.Добавить();
            Запись.Организация = Выборка.Организация;
            Запись.Пользователь = ПользовательДляЗапрета;
            Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
        КонецЕсли;
        
        
        Если НужноДобавить Тогда
            Запись = Набор.Добавить();
            Запись.Организация = Выборка.Организация;
            Запись.Пользователь = ПользовательДляЗапрета1;
            Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
        КонецЕсли;


Весь код
 Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ПользовательДляЗапрета = Справочники.Пользователи.НайтиПоНаименованию("М");
    ПользовательДляЗапрета1 = Справочники.Пользователи.НайтиПоНаименованию("М1");

    
    // Создаём ДеревоЗначений для обработки
    ДеревоДаты =  Новый ДеревоЗначений;
    
    ДеревоДаты.Колонки.Добавить("ОрганизацияПользователь");
    ДеревоДаты.Колонки.Добавить("Граница");
    ДеревоДаты.Колонки.Добавить("ПравоНаИзменение");
    ДеревоДаты.Колонки.Добавить("ТипСтроки");
    
    

    
    // Код из модуля общей формы УстановкаДатыЗапретаИзмененияДанных. Процедура ЗаполнитьДеревоДат().
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
    
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    Организации.Ссылка КАК Организация,
                   |    ЕСТЬNULL(Границы.Пользователь, НЕОПРЕДЕЛЕНО) КАК Пользователь,
                   |    ЕСТЬNULL(Границы.ГраницаЗапретаИзменений, ДАТАВРЕМЯ(1, 1, 1, 23, 59, 59)) КАК ГраницаЗапретаИзменений,
                   |    ЕСТЬNULL(НастройкиПравДоступаПользователей.Запись, ЛОЖЬ) КАК ПравоНаИзменение,
                   |    ВЫБОР
                   |        КОГДА ЕСТЬNULL(Границы.Пользователь, НЕОПРЕДЕЛЕНО) = НЕОПРЕДЕЛЕНО
                   |            ТОГДА 1
                   |        КОГДА Границы.Пользователь ССЫЛКА Справочник.ГруппыПользователей
                   |            ТОГДА 2
                   |        КОГДА Границы.Пользователь ССЫЛКА Справочник.Пользователи
                   |            ТОГДА 3
                   |    КОНЕЦ КАК ПризнакТипаСтроки
                   |ИЗ
                   |    Справочник.Организации КАК Организации
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГраницыЗапретаИзмененияДанных КАК Границы
                   |        ПО Границы.Организация = Организации.Ссылка
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                   |        ПО Организации.Ссылка = НастройкиПравДоступаПользователей.ОбъектДоступа
                   |            И (НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации))
                   |            И (НастройкиПравДоступаПользователей.Пользователь В
                   |                (ВЫБРАТЬ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы.Ссылка
                   |                ИЗ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы
                   |                ГДЕ
                   |                    Справочник.ГруппыПользователей.ПользователиГруппы.Пользователь = &ТекущийПользователь))
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Организация,
                   |    ПризнакТипаСтроки,
                   |    Границы.Пользователь
                   |АВТОУПОРЯДОЧИВАНИЕ";
    
    Выборка = Запрос.Выполнить().Выбрать();
    ЕстьРольПолныеПрава = РольДоступна("ПолныеПрава");
    Пока Выборка.Следующий() Цикл
        
        Если Выборка.Пользователь = Неопределено Тогда
            СтрокаОрганизации = ДеревоДаты.Строки.Добавить();
            
            СтрокаОрганизации.ОрганизацияПользователь    = Выборка.Организация;
            СтрокаОрганизации.Граница                    = Выборка.ГраницаЗапретаИзменений;
            СтрокаОрганизации.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
            СтрокаОрганизации.ТипСтроки                    = Выборка.ПризнакТипаСтроки;
        Иначе
            
            Если СтрокаОрганизации = Неопределено ИЛИ СтрокаОрганизации.ОрганизацияПользователь <> Выборка.Организация Тогда
                СтрокаОрганизации = ДеревоДаты.Строки.Добавить();
                СтрокаОрганизации.ОрганизацияПользователь    = Выборка.Организация;
                СтрокаОрганизации.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
                СтрокаОрганизации.ТипСтроки                    = 1;
            КонецЕсли;
            
            СтрокаПользователя = СтрокаОрганизации.Строки.Добавить();
            СтрокаПользователя.ОрганизацияПользователь    = Выборка.Пользователь;
            СтрокаПользователя.Граница                    = Выборка.ГраницаЗапретаИзменений;
            СтрокаПользователя.ПравоНаИзменение            = ЕстьРольПолныеПрава ИЛИ Выборка.ПравоНаИзменение;
            СтрокаПользователя.ТипСтроки                = Выборка.ПризнакТипаСтроки;
        КонецЕсли;
    КонецЦикла;
    
    
    // Код из модуля общей формы УстановкаДатыЗапретаИзмененияДанных. Процедура СохранитьДанные().
    Запрос = Новый Запрос;
    Запрос.Текст  = "ВЫБРАТЬ //РАЗРЕШЕННЫЕ
                    |    Организации.Ссылка КАК Организация
                    |ИЗ
                    |    Справочник.Организации КАК Организации";
    
    Если Не РольДоступна("ПолныеПрава") Тогда
        Запрос.Текст = Запрос.Текст + "
        |ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
        |ПО Организации.Ссылка = НастройкиПравДоступаПользователей.ОбъектДоступа
        |    И (НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации))
        |    И (НастройкиПравДоступаПользователей.Пользователь В
        |                (ВЫБРАТЬ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы.Ссылка
        |                ИЗ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы
        |                ГДЕ
        |                    Справочник.ГруппыПользователей.ПользователиГруппы.Пользователь = &ТекущийПользователь))
        |    И (НастройкиПравДоступаПользователей.Запись = ИСТИНА)";
        
        Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
    КонецЕсли;
    
    
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НужноДобавить = Истина;


                
        Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
        Набор.Отбор.Организация.Установить(Выборка.Организация);
        
        СтрокаВДереве = ДеревоДаты.Строки.Найти(Выборка.Организация, "ОрганизацияПользователь");
        
        Запись = Набор.Добавить();
        Запись.Организация = Выборка.Организация;
        Запись.Пользователь = Неопределено;
        
        Если СтрокаВДереве = Неопределено Тогда
            Запись.ГраницаЗапретаИзменений = Дата('00010101');
        Иначе
            Запись.ГраницаЗапретаИзменений = СтрокаВДереве.Граница;
            Для Каждого СтрокаРоли ИЗ СтрокаВДереве.Строки Цикл
                Запись = Набор.Добавить();
                Запись.Организация = Выборка.Организация;
                Запись.Пользователь = СтрокаРоли.ОрганизацияПользователь;
                Если Запись.Пользователь = ПользовательДляЗапрета Тогда
                    НужноДобавить = Ложь;
                    Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
                Иначе
                    Запись.ГраницаЗапретаИзменений = СтрокаРоли.Граница;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;


    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        НужноДобавить = Истина;
        
        
        Набор = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьНаборЗаписей();
        Набор.Отбор.Организация.Установить(Выборка.Организация);
        
        СтрокаВДереве = ДеревоДаты.Строки.Найти(Выборка.Организация, "ОрганизацияПользователь");
        
        Запись = Набор.Добавить();
        Запись.Организация = Выборка.Организация;
        Запись.Пользователь = Неопределено;
        
        Если СтрокаВДереве = Неопределено Тогда
            Запись.ГраницаЗапретаИзменений = Дата('00010101');
        Иначе
            Запись.ГраницаЗапретаИзменений = СтрокаВДереве.Граница;
            Для Каждого СтрокаРоли ИЗ СтрокаВДереве.Строки Цикл
                Запись = Набор.Добавить();
                Запись.Организация = Выборка.Организация;
                Запись.Пользователь = СтрокаРоли.ОрганизацияПользователь;
                Если Запись.Пользователь = ПользовательДляЗапрета1  Тогда
                    НужноДобавить = Ложь;
                    Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
                Иначе
                    Запись.ГраницаЗапретаИзменений = СтрокаРоли.Граница;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
        
        
            
                
        
        
        
        
        // Добавим пользователя
        Если НужноДобавить Тогда
            Запись = Набор.Добавить();
            Запись.Организация = Выборка.Организация;
            Запись.Пользователь = ПользовательДляЗапрета;
            Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
        КонецЕсли;
        
        
        Если НужноДобавить Тогда
            Запись = Набор.Добавить();
            Запись.Организация = Выборка.Организация;
            Запись.Пользователь = ПользовательДляЗапрета1;
            Запись.ГраницаЗапретаИзменений = НачалоДня(ТекущаяДата()) - 1;
        КонецЕсли;

        
        Набор.Записать();
    КонецЦикла;    
    КонецЦикла;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 7:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!