Имя: Пароль:
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!