Имя: Пароль:
1C
1С v8
Процедура экспорт
0 Начинающий_13
 
01.09.11
12:01
Здравствуйте
Создал экспортную процедуру (Все работает)запрещает редактирование документы до даты запрета редактирования, но когда на ее смотрю что не то. Можно сделать по корретней

Процедура ДатаЗапретаРедактированияПометки(ЭлементыФормы,Док,Дата,Отказ) Экспорт
   
   //Док=ЭлементыФормы.ЖурналДокументовСписок.ТекущиеДанные;
   Если Док.Дата <= КонецДня(Константы.ДатаЗапретаРедактирования.Получить()) Тогда
   
       Если Док.ПометкаУдаления = Ложь Тогда
           Предупреждение("Нельзя ОТМЕЧАТЬ НА УДАЛЕНИЕ документы с датой, более ранней, чем дата запрета редактирования документов!",5);
       Иначе
           Предупреждение("Нельзя ОТМЕНЯТЬ УДАЛЕНИЕ документов с датой, более ранней, чем дата запрета редактирования документов!",5);
       КонецЕсли;
       Отказ=Истина;
       
   КонецЕсли;
   
   
КонецПроцедуры

В журнале
Процедура ЖурналДокументовСписокПередУстановкойПометкиУдаления(Элемент,Отказ)
   Перем Дата;    
   Док=ЭлементыФормы.ЖурналДокументовСписок.ТекущиеДанные;
   РаботаСФормами.ДатаЗапретаРедактированияПометки(ЭлементыФормы,Док,Дата,Отказ);
КонецПроцедуры
1 DSSS
 
01.09.11
12:02
Переделай конструкцию Если Иначе КонецЕсли в ? :)
2 Ненавижу 1С
 
гуру
01.09.11
12:03
зачем передается дата?
3 mirosh
 
01.09.11
12:04
(0) все нормально здесь, разве что назвать процедуру можно по-понятней, например "ПроверитьПоДатеЗапретаРедактирования"
4 Ненавижу 1С
 
гуру
01.09.11
12:04
+(2) аналогично ЭлементыФормы
5 simol
 
01.09.11
12:04
Зашел в док, перенес дату на текущую и удалил документ.
6 Начинающий_13
 
01.09.11
12:05
(2) Дату убрал все идет спасибо
7 Ненавижу 1С
 
гуру
01.09.11
12:06
(5) в форме документа штатно вроде нет изменения пометки
8 Начинающий_13
 
01.09.11
12:07
(4)Элементы формы убрал все идет Спасибо
9 simol
 
01.09.11
12:09
(6)У тебя дыра в процедуре, см (5) а ты плюшками балуешся
10 simol
 
01.09.11
12:10
Проверяй еще и Док.Ссылка.Дата
11 Начинающий_13
 
01.09.11
12:11
(10) Хорошо
12 simol
 
01.09.11
12:11
Да и перезапись не помеченного на удаление будет с сообщением:
Нельзя ОТМЕНЯТЬ УДАЛЕНИЕ..... А никакой отмены удаления делать то и не будут
13 Начинающий_13
 
01.09.11
12:11
Вроде все, нет проще уже
СПАСИБО
14 simol
 
01.09.11
12:12
(13)Проще может нет, но процедура не рабочая. Защита дырявая. Давай что получилось в результате.
15 Mort
 
01.09.11
12:13
Пометку удалять нельзя, а реквизиты менять можно? Бред.
16 simol
 
01.09.11
12:13
(15)Там ничо низя, просто сообщения разные и ниочем
17 GANR
 
01.09.11
12:16
ВставкаВТекст = ?(Док.ПометкаУдаления, "ОТМЕЧАТЬ НА УДАЛЕНИЕ документы", "ОТМЕНЯТЬ УДАЛЕНИЕ документов");
ТекстСообщения = "Нельзя " + ВставкаВТекст + " с датой, более ранней, чем дата запрета редактирования документов!";
Отказ = Истина;
Предупреждение(ТекстСообщения);

+ Константы.ДатаЗапретаРедактирования.Получить() - лишний запрос к данным в течение сеанса - лучше-бы получить эту константу в начале сеанса и не мучить жесткий диск далее.
18 simol
 
01.09.11
12:54
Я так понял автору нужна просто красивая процедура и все равно рабочая или нет.