Имя: Пароль:
1C
1C 7.7
v7: Как организовать запрет редактирования доков в 1С Рарус Общепит ред.6
0 never_sleep
 
13.05.14
07:03
Коллеги, подскажите есть ли аналог в 1С Рарус Общепит ред. 6 аналог даты запрета редактирования документов? И если нет, то как это лучше реализовать?
1 Stormicon
 
13.05.14
07:31
Есть обычная дата запрета редактирования, даже с галкой - запрет админам.
2 never_sleep
 
13.05.14
07:36
(1) Не будете любезны указать дислокацию? ))
3 never_sleep
 
13.05.14
08:07
(1) Я все излазил. Где вы его там видели?
4 kobzon
 
13.05.14
08:10
Наверное как и везде в 1с 7.7 - в константах не?
5 never_sleep
 
13.05.14
08:32
(4) Не знал. Спасибо! Получается, что пункт меню в ТиСе "Дата запрета редактирования" просто удобный способ изменения константы. Будем знать! Огромное спасибо еще раз!
6 DrZombi
 
гуру
13.05.14
08:35
(0) Реализуй как обычно.
1. Если мало платят, то через Константу.
2. Если есть вдохновение, то через справочник пользователей. Если Справочника нет, то создай его :)
7 osa1C
 
13.05.14
09:33
(6) классно сказано
8 never_sleep
 
14.05.14
08:23
(4) Не все так просто оказалось.
Если меняю эту константу в Операции-Константы из Предприятия под своей учеткой. То вроде все хорошо. Если кто-то еще заходит, у кого есть доступ хотя бы на просмотр констант, то у него по умолчанию выставляется 01,01,80. Я не закрывая свою сессию заново открываю операции-константы и у меня возвращается на 01,01,80. Что за дебильное поведение? Или я не понимаю какого-то скрытого сакрального смысла функционирования программы?
В ТиСе, где для редактирования этой константы есть специальное поле, код программы, отвечающий за это поле, прост как яйцо:
Константа.ДатаЗапретаРедактирования = ДатаЗапретаРедактирования;
Или, когда я программно обращаюсь к константе, это ведет к её изменению для всех юзеров? Нафига тогда Операции-Константы? Прошу помощи!
9 never_sleep
 
14.05.14
08:24
(6) Константа там есть.
А вот зачем делать справочник пользователей, я не догнал, если честно ((
10 kobzon
 
14.05.14
08:34
(9) Чтобы по каждому пользователю управлять доступом индивидуально. Например в ТиСе есть справочник - Полномочия пользователей.
11 kobzon
 
14.05.14
08:39
Это где такой код прописан?
"Константа.ДатаЗапретаРедактирования = ДатаЗапретаРедактирования;"
12 never_sleep
 
14.05.14
08:43
(11) ТиС ред 9.2
13 kobzon
 
14.05.14
08:47
(12) Я понял что Тис. Код такой где прописан? В Глобальном модуле? Может переменной ДатаЗапретаРедактирования присвоено значение даты 01,01,80?
14 never_sleep
 
14.05.14
08:51
15 never_sleep
 
14.05.14
08:54
Т.е. этот код прописан в обработки.НастройкаПараметровУчета.
Там на форме получается берется значение из этого окошка и записывается в константу вот этой строчкой.
"Константа.ДатаЗапретаРедактирования = ДатаЗапретаРедактирования;"
Ща поищу в общепите где встречается ДатаЗапретаРедактирования. Может правда где есть код, в котором прописано ДатаЗапретаРедактирования = 01,01,80
16 kobzon
 
14.05.14
08:56
(15) Значение установлено в настройках параметра учета.
17 kobzon
 
14.05.14
08:59
Попробуй. Сервис-Настройка Параметров Учета - Системные.
Если слетит снова, нужно копаться. Может кто дописывал чего. Хотя дата какая то знакомая..
18 never_sleep
 
14.05.14
09:05
(17) Этого пункта нет в общепите. Есть в ТиС, но там у меня проблем нет.
И вы правы были. Сделал полнотекстовый поиск в Общепите.
Нашел в 2х местах:
Первое:
(В глобальном модуле)
Процедура ПриНачалеРаботыСистемы()
    
// установка текущего пользователя
//    МоиПрава = НазваниеНабораПрав();
    //****************************************
    //Если МоиПрава = "Администратор" Тогда
     Константа.ДатаЗапретаРедактирования = "01.01.1980";
    //Иначе
    // Константа.ДатаЗапретаРедактирования = РабочаяДата() - 7;
    //КонецЕсли;
    ЭтоПервыйЗапуск = 0;
и второе
(в Обработка.ПервыйЗапуск)
Константа.НазваниеОрганизации = "Наша фирма";
    Константа.НаименованиеПлательщикаПриПеречисленииНалогов = Константа.НазваниеОрганизации;
    Константа.ИспользоватьСписокКорректныхПроводок = Нет;
    Константа.ВсеДокументыВЖурналОпераций = Да;
    Константа.ДатаЗапретаРедактирования = '01.01.1980';
    Константа.ПорядокИсчисленияЕСН.Установить('01.01.1980', 2);
    Константа.ИспользоватьТипыЦен = Перечисление.Булево.Нет;
    Константа.ПроцентОбязательнойПродажиВалюты.Установить('01.01.1999', 75);
19 never_sleep
 
14.05.14
09:06
тупо закомментирую в этих двух кусках
"Константа.ДатаЗапретаРедактирования = '01.01.1980';"
20 kobzon
 
14.05.14
09:09
(19) Комментируй!
21 never_sleep
 
14.05.14
09:12
Сделал, проверил. Вроде нормально.
По ходу это какой-то кустарный кусок кода. Ибо не вижу смысла так жестко, без возможности изменения из режима Предприятие, задавать эту константу.
Спасибо, kobzon!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан