|   |   | 
| 
 | Запретить добавление строк непериодического независимого регистра сведений | ☑ | ||
|---|---|---|---|---|
| 0
    
        SeiOkami 10.07.21✎ 10:18 | 
        Коллеги, как запретить добавление строк непериодического независимого регистра сведений?
 Для этой возможности будет отдельная роль. Особо уравновешенный пользователь заведет нужные записи в РС, а далее ресурсы этих записей будут править обычные юзвери. Думал, задача простая, пока что не нашёл решения "Добавление новой записи" - это когда в базе пытается появиться запись с набором измерений, которых ещё нет в РС. Хочу в обработчиках событий это как-то отловить и установить Отказ | |||
| 1
    
        BeerHelpsMeWin 10.07.21✎ 10:26 | 
        дык ПередЗаписью     | |||
| 2
    
        SeiOkami 10.07.21✎ 10:27 | 
        (1), дык как ?     | |||
| 3
    
        BeerHelpsMeWin 10.07.21✎ 10:27 | 
        Или ролями отрегулируй. Право на чтение - в какую-нибудь обычную роль, право на запись - в отдельную, и выдай ее кому надо.     | |||
| 4
    
        BeerHelpsMeWin 10.07.21✎ 10:28 | 
        а, тьфу, тебе надо именно добавление новой отрегулировать     | |||
| 5
    
        SeiOkami 10.07.21✎ 10:29 | 
        Вот я изменяю запись РС. Просто меняю ресурс у существующей записи
 В отладке нахожусь в событиях ПередЗаписью() и ПриЗаписи() Сначала платформой происходит первая итерация - удаление прошлой записи. Потом вторая итерация - добавление новой. В момент второй итерации в РС уже нет записи. Мне нужно на второй итерации (добавлении записи) понять, это реально новая или изменение существующей. Но в этом моменте старой записи уже нет. | |||
| 6
    
        BeerHelpsMeWin 10.07.21✎ 10:30 | 
        ммм а если сравнить количество записей в РС в ПередЗаписью() и в ПриЗаписи()     | |||
| 7
    
        RomanYS 10.07.21✎ 10:37 | 
        А не правильнее ли этот вопрос решать на уровне интерфейса? Не очень хорошо, когда пользователь что-то заполняет, а потом отказ получает     | |||
| 8
    
        SeiOkami 10.07.21✎ 10:39 | 
        (7), кнопки добавления,копирования, будут отключены, но на уровне записи всё равно стоило бы проверить.
 Но, похоже, что это невозможно. | |||
| 9
    
        SeiOkami 10.07.21✎ 10:40 | 
        (6), количество не меняется в этих событиях
 сначала запись идет пустого набора. В обоих событиях 0 строк. Потом запись нового. В обоих событиях одна строка. | |||
| 10
    
        dmpl 10.07.21✎ 10:41 | 
        (0) Запрети всем редактирование, само редактирование пусть делают в специальной обработке, которая будет менять нужные поля в привилегированном режиме.     | |||
| 11
    
        SeiOkami 10.07.21✎ 10:43 | 
        (10), да, только это и остаётся.
 Однако, хочется уже добить эту тему. Неужели нет вообще никакой возможности? | |||
| 12
    
        dmpl 10.07.21✎ 10:46 | 
        (11) Ну можешь добавить регистр "Операции записи в регистр", где сохранять информацию об удалении записи, и давать отказ, если пытается записаться запись, которой нет в этом регистре. Но проще воспользоваться привилегированным режимом.     | |||
| 13
    
        dmpl 10.07.21✎ 10:51 | 
        (11) Ну или сделать скрытый реквизит в регистре, который при добавлении записи устанавливается в Истина для правильного пользователи и в Ложь для неправильного. Тогда при попытке записи можно будет сразу слать.     | |||
| 14
    
        BeerHelpsMeWin 10.07.21✎ 10:57 | 
        Сделай вместо РС справочник :)     | |||
| 15
    
        GROOVY 10.07.21✎ 11:24 | 
        ДопПараметры Перед записью установить и читать при повторной записи...     | |||
| 16
    
        OldCondom 10.07.21✎ 11:36 | 
        создать менеджер записи, прочитать. Проверить, есть ли запись. Если нет - значит новые данные.     | |||
| 17
    
        SeiOkami 10.07.21✎ 11:40 | 
        (15), ДополнительныеСвойства не передаются между этими двумя операциями     | |||
| 18
    
        SeiOkami 10.07.21✎ 11:40 | 
        (16), записи всегда нет, потому что она удаляется перед добавлением     | |||
| 19
    
        SeiOkami 10.07.21✎ 11:41 | 
        Можно, конечно, использовать какой-то параметр сеанса для этого, но жуть ведь редкостная     | |||
| 20
    
        RomanYS 10.07.21✎ 11:54 | 
        (9) Ну так перед записью пустого набора и проверяй     | |||
| 21
    
        OldCondom 10.07.21✎ 11:54 | 
        (18) Чего? Пару дней назад делал обмен с таким регистром, почти такая же задача. Все ок.     | |||
| 22
    
        SeiOkami 10.07.21✎ 11:55 | 
        (21), значит задача другая     | |||
| 23
    
        SeiOkami 10.07.21✎ 11:56 | 
        (20), что именно проверять ?     | |||
| 24
    
        dmpl 10.07.21✎ 11:58 | 
        (21) Проверка была в модуле набора записей?     | |||
| 25
    
        RomanYS 10.07.21✎ 12:18 | 
        (23) Уже попробовал, не работает. При создании новой записи пустой набор не записывается     | |||
| 26
    
        SeiOkami 10.07.21✎ 12:26 | 
        (25) при создании записи не записывается пустой
 а вот при изменении измерений - да | |||
| 27
    
        SeiOkami 10.07.21✎ 12:30 | 
        Нашёл пока одно нормальное решение. Но только на уровне формы записи.
 Здесь можно перед записью сравнить новый ключ записи с исходным. | |||
| 28
    
        RomanYS 10.07.21✎ 13:01 | 
        (27) так можно из формы списка создание запретить, а в форме записи закрыть измерения для изменения.     | |||
| 29
    
        mistеr 10.07.21✎ 15:04 | 
        (0) Задача простая, и решение простое. Набор значений измерений регистра выделить в отдельную сущность, то есть в справочник.
 А двигать регистр все же советую документом. | |||
| 30
    
        SeiOkami 10.07.21✎ 16:04 | 
        (29), действительно, прям самое простое {сарказм}     | |||
| 31
    
        bolder 10.07.21✎ 18:40 | 
        (0) Правми доступа запретить редактирование.В обработке привелигированными правами делать что хочешь.     | |||
| 32
    
        mistеr 10.07.21✎ 18:51 | 
        (29) Однозначно проще, чем то, что ты пытаешься делать.     | |||
| 33
    
        bolder 10.07.21✎ 18:57 | 
        (32) Да, это тоже неплохо.Но так контроль за неуравновешенными пользователями слабее, чем в обработке.     | |||
| 34
    
        2S 10.07.21✎ 19:24 | 
        В качестве варианта при открытии писать в тз. Потом проверять по уид.     | |||
| 35
    
        RomanYS 10.07.21✎ 19:31 | 
        (34) проблема в том, что писать не куда. Запись происходит два раза, причем в двух наборах записей не связанных общим контекстом. Только костыли с глобальными переменными или параметром сеанса     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |