Имя: Пароль:
1C
1C 7.7
v7: При смены даты очистить таблицу
Ø (Злопчинский 18.04.2015 13:02)
0 adm1nb3k
 
18.04.15
02:13
Здравствуйте. Уважаемые специалисты, нужна ваша помощь.
Задача такая: При смены даты документа очистить табличную часть документа.
Делаю вот так, но при нажатию Отмены, дата все равно меняется.
[code]
Процедура ПриСменыДаты();
    Если (Строка(НазваниеНабораПрав())="Администратор") Тогда  
        
    Иначе    
        
        Если КоличествоСтрок() <> 0 Тогда
            Если    Вопрос("Таблица будет очищена, а существующие строки удалены.
                |Продолжать?","ОК+Отмена") = "ОК" Тогда
                УдалитьСтроки();
            Иначе
                СтатусВозврата(0);Возврат;
            КонецЕсли;
        КонецЕсли;
        
    КонецЕсли;
КонецПроцедуры
[/code]
1 Рамзан
 
18.04.15
02:50
типо очищается у всех, кроме Администратора.
и в чем проблема ?
2 Рамзан
 
18.04.15
02:51
тэги 1С-/1С надо попробовать...
3 Злопчинский
 
18.04.15
02:58
(0)  в этом коде дата у тебя уже изменена и идет работа только с тч документа
4 Злопчинский
 
18.04.15
02:59
Прсменедаты не является предопределенной процедурой поэтому статсвозврата в ноль здесь не работает
5 Злопчинский
 
18.04.15
03:00
Используй приначалевыборазначения
И запоминай исходную лату
При смене даты восстанавливай если надо из запомненной
6 Злопчинский
 
18.04.15
03:01
только ты хрень написал
Приначале выборазначения анализируй тч дока и там флаг стандартной обработки ставь в ноль
7 Рамзан
 
18.04.15
03:18
у него в реквизите ДатаДок эта функция прописана...
и все будет работать.
А так все нормально.
"
Иначе
                СтатусВозврата(0);Возврат; "

можно убрать вообще.
8 adm1nb3k
 
18.04.15
10:02
Спасибо. Вот конечный результат кода:
Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, Продолжать)
    Если ЭлементДиалога="ДатаДок" Тогда
        
        
        Если (Строка(НазваниеНабораПрав())="Администратор") Тогда  
            
        Иначе    
            
            Если КоличествоСтрок() <> 0 Тогда
                
                Если    Вопрос("Таблица будет очищена, а существующие строки удалены.
                
                |Продолжать?","ОК+Отмена") = "ОК" Тогда
                    УдалитьСтроки();
                Иначе
                    СтатусВозврата(0);Возврат;
                КонецЕсли;
            КонецЕсли;
            
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
9 Злопчинский
 
18.04.15
13:02
(7)  учи матчасть
Прооцедура прописанная в свойствах ревизита отрабатыват ПОСЛЕ изменения реквизита
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn