Имя: Пароль:
1C
1C 7.7
v7: Обойти дату запрета в ТиС
0 uuee76
 
03.09.16
11:08
Товарищи,подскажите,как пользователю с правами Администратора разрешить редактирование,проведение документов ранее установленной даты запрета?Где идет эта проверка,в каждом документе или в глобальнике?Может помнит кто навскидку?
1 kofeinik
 
03.09.16
11:18
глПроверкаРазрешенияРедактирования в глобальнике, или поищи там же по имени константы с датой запрета.
2 uuee76
 
03.09.16
11:28
(1) пасиб
3 Chameleon1980
 
03.09.16
13:18
Вроде константа "ДатаЗапретаРедактирование"

на нее можно ориентироваться

хотя смотря какая конфа

в тис точно: "ДатаЗапретаРедактирование" (только посмотрел)
в бух то-же самое (тоже глянул)

предыдущий оратор верно заметил (кусок кода):

Функция глПроверкаРазрешенияРедактирования(Конт) Экспорт
    
    Конт.ПриЗаписиПерепроводить(1);
    
    Если Конт.Выбран() > 0  Тогда
        Если (Конт.ДатаДок<=Константа.ДатаЗапретаРедактирования)
           И (Конт.Форма.ТолькоПросмотр() = 0) Тогда
            Конт.Форма.ТолькоПросмотр(1);
            Предупреждение("Разрешен только просмотр документа!",4);
            Возврат 0;
        КонецЕсли;
    КонецЕсли;

вставляем свою нужную доп. проверку

вчера или позавчера жеж пролетало.

поиск по форуму тоже рулит
4 Chameleon1980
 
03.09.16
13:20
обернуть своим условием
а в нем выполнять стандартную проверку или нет. Взависимости из условия в обертке.
5 Chameleon1980
 
03.09.16
13:21
хотя вот еще глобальный поиск выдал:

Функция глМожноЗаписатьДокумент(Конт) Экспорт
    Если Конт.ДатаДок<=Константа.ДатаЗапретаРедактирования Тогда
        Предупреждение("Нельзя записывать документы с датой, более ранней чем дата запрета редактирования документов!", 60);
        Возврат 0;
    КонецЕсли;
    Возврат 1;
КонецФункции // глМожноЗаписатьДокумент()
6 Chameleon1980
 
03.09.16
13:22
еще там проверка при удалении документа
при отмене проведения

вобщем глобальный поиск в конфигураторе по имени константы вам все скажет

:)
7 Chameleon1980
 
03.09.16
13:25
а дык это ваша-то и есть тема:

Запрет проведения документов задним числом
8 Cthulhu
 
03.09.16
14:26
1. Программно записать документ можно вне зависимости от констант-шмонстант. Делайте выводы.
2. Программно провести документ можно всунув "Провести" между установкой этой константы на то-шо-разрешит-провести-уго и восстановлением значения этой константы "взад". Делайте выводы.
9 Chameleon1980
 
03.09.16
15:01
(8) думаю, автору хоть так решить.
10 Злопчинский
 
03.09.16
15:59
(4) ага, если ИмяПользлователя="иванов"
- в почему учите БЫДЛОкод писать?
11 Злопчинский
 
03.09.16
16:03
правильнее - делаем копию админских прав, именуем типа "Администратор%ОбходДаты" и в обертке пишем

если Найти(Врег(НазваниеНабораПрав),"ОбходДаты")>0
12 Злопчинский
 
03.09.16
16:04
а вообще в (0) - масло масленое
зверь а правами "Администратор" - включил дату запрета ручками назад, сделал что надо, включил обртано.
нахрена городить?
13 Злопчинский
 
03.09.16
16:04
НазваниеНабораПрав = НазваниеНабораПрав()
14 Chameleon1980
 
03.09.16
17:49
(10)
А где ты видишь, что я этому учу.

За это в старые времена расстреливали.
можно и через права. Можно через константу

через права самое правильное, конечно.

(12) не знаю что хотят.
видимо с правами админ не один чел (в том числе которому низзя)
обычно за такие вещи, как правка задним числом отвечает гл. бух. завести копию прав гл бух - выдат их гл.буху и по этим уже правам проверять мона задним числом или нет. Пишу наскоряк.
15 uuee76
 
03.09.16
23:33
(14) Товарисчи не ругайтесь!Вопрос решен всем спасиб!
Ошибка? Это не ошибка, это системная функция.