Имя: Пароль:
1C
1С v8
границы запрета, почему игнорируется...
,
0 MrZLO
 
08.10.12
13:43
Здрасте!!! УТ 10.3 (10.3.13.2)

вообщем есть документ ЧекККМ. Если на основании заказа покупателя делать новый документ ЧекККМ, то игнорируется проверка даты запрета редактирования.

Права пользователя обычные (неполные)

Итак... у дока ЧекККМ

Процедура ОбработкаЗаполнения(Основание)

   ДокументОснование = Основание.Ссылка;
   
   Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

// вот эта строчка не работает никак!!!                НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета(ДокументОснование, ДокументОснование.ПолучитьФорму());
       
...
1 MrZLO
 
08.10.12
13:44
ясно дело она раскомментирована :)
2 MrZLO
 
08.10.12
13:46
или вот... есть у меня группа пользователей Группа123
ей в настройках соответствует дата запрета изменения данных?

можно ли кодом узнать эту дату запрета именно для Группа123?
3 MrZLO
 
08.10.12
13:48
ап!!!
4 MrZLO
 
08.10.12
14:02
эх... думал, кто чем подскажет...
5 temsa
 
08.10.12
14:04
На днях узнал что в БП каз  настро
6 temsa
 
08.10.12
14:06
+ узнал что настройка даты запрета не дейстыует для тех у кого полные права. НО в предприятии есть настройка типа "Настройка даты запретазайдествовать тем кто имеет полные права поищи может аналогичная ситуация."
7 MrZLO
 
08.10.12
14:08
да мне главное просто обычным юзерам запредить, пофиг на полные права
на обычных юзерах даже не работает проверка типовая именно в документе ЧекККМ
8 MrZLO
 
08.10.12
14:10
даже так не хочет...

НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета(ЭтотОбъект, ЭтотОбъект.ПолучитьФорму());
9 pumbaEO
 
08.10.12
14:10
т.е. даже не заглянул в НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета и уже кричишь, что не работает?

Ответь на такой вопрос, почему при СОЗДАНИИ документа должна проверяться дата запрета ИЗМЕНЕНИЯ документа?
10 MrZLO
 
08.10.12
14:14
(9) при создании должна проверяться дата не создаваемого, а основания
11 MrZLO
 
08.10.12
14:15
т.е. в моем случае дата документа заказа покупателю
12 pumbaEO
 
08.10.12
14:16
(10) вот как, а если заказ прошлым годом, а дата отгрузки сегодня, дата оплаты завтра - то хана денюжкам?
13 MrZLO
 
08.10.12
14:26
(12) у нас так устроено, это надо принять как есть...
создаем ЧекККМ на основании заказа покупателю, при этом автоматом создается перемещение и в док-т основание добавляется комментарий...

так вот если дата запрета редактирования для пользователя установлена, то все работает, но когда до доходит дело до записи комментария в заказ покупателю, то программа ругается

ДокОбъект = ДокументОснование.ПолучитьОбъект();
ДокОбъект.Комментарий = "Отбит чек " +Номер+ " от " +Дата;
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);

это логично, но почему вначале процедуры проверка на запрет редактирования игнорится...


Процедура ОбработкаЗаполнения(Основание)

   ДокументОснование = Основание.Ссылка;
   
   Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета(ДокументОснование, ДокументОснование.ПолучитьФорму());

...

ДокОбъект = ДокументОснование.ПолучитьОбъект();
ДокОбъект.Комментарий = "Отбит чек " +Номер+ " от " +Дата;
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
14 MrZLO
 
08.10.12
14:27
Процедура ОбработкаЗаполнения(Основание)

   ДокументОснование = Основание.Ссылка;

ДокОбъект = ДокументОснование.ПолучитьОбъект();
   
   Если ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

НастройкаПравДоступа.ОпределитьДоступностьВозможностьИзмененияДокументаПоДатеЗапрета(ДокОбъект, ДокОбъект.ПолучитьФорму());

...

ДокОбъект.Комментарий = "Отбит чек " +Номер+ " от " +Дата;
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);

и так тоже ругается
15 MrZLO
 
08.10.12
14:31
через исключение делать, предварительно писав комментарий в документ основание - вариант, но хотелось бы штатными средствами обойтись...
16 pumbaEO
 
08.10.12
14:37
(14) Извини, но твой код заставляет задуматься об отсутствии у тебя логического мышления.

Посмотри на код, еще разок, проясни для себя где у тебя объект - ЧекККМ, где объект - Заказ, какой из объектов участвует в проверке и какая из форм передается, что бы там поставить ТолькоПросмотр = Истина.
А потом обрати внимание на возможность отмены для ОбработкаЗаполнения.
Закон Брукера: Даже маленькая практика стоит большой теории.