Имя: Пароль:
1C
1C 7.7
v7: Запрет на редактирование!
0 Aleksei_Pro
 
08.06.12
09:56
Ребят подскажите, у реквизита ТЧ "количество" прицепил процедуру и ее описываю:
   
......
Если ДоступноВсего < Кол Тогда
       Предупреждение("Нельзя перемещать большее количество товара, чем в документе - основание.
       |Нажмите ""Esc"" для завершения действия !!!");
       Количество = 0;
       Возврат;
   КонецЕсли;    
.......

Почему он не возвращает 0, а ставит то что пользователь выбрал?
1 1Сергей
 
08.06.12
10:01
Предупреждение выскакивает?
2 Aleksei_Pro
 
08.06.12
10:02
(1) да выскакивает, а вот количество не изменяет.
3 1Сергей
 
08.06.12
10:04
(2) хоть Esc, хоть Enter?
4 floody
 
08.06.12
10:05
Возврат убрать
5 Aleksei_Pro
 
08.06.12
10:05
(3) я тя не понял, я пытаюсь поставить запрет, чтобы пользователь не ввел большее кол-во чем положено.
6 Aleksei_Pro
 
08.06.12
10:05
(4) не поможет
7 Анатолий Никитин
 
08.06.12
10:07
а ты названия переменных смотрел? ДоступноВсего, Кол, Количество ?
8 Aleksei_Pro
 
08.06.12
10:08
(7) а что с ними не так?
9 Эльниньо
 
08.06.12
10:44
Вот это вот:
|Нажмите ""Esc"" для завершения действия !!!
зачем?
10 vova1122
 
08.06.12
10:45
Поставь Количество = 0;  до Предупреждения
11 Эльниньо
 
08.06.12
10:59
Если ДоступноВсего < Кол Тогда
       Предупреждение("Нельзя перемещать большее количество товара, чем в документе - основание!", 10);
       Количество = 0;
   КонецЕсли;
12 Aleksei_Pro
 
08.06.12
13:24
(11) (10) неа, я так пробовал, не взлетает
13 Aleksei_Pro
 
08.06.12
13:26
Весь код

Процедура  ПриИзмененииКолва()
   
   Сз_ = "";
   Заявка = "";
     
   ТекНом = Номенклатура;      
   стр = "";
   ДоступноВсего = 0;
   Если ТЗдоступности.НайтиЗначение(ТекНом,стр,"Номенклатура") =1 Тогда
        ТЗдоступности.ПолучитьСтрокуПоНомеру(стр);
         ДоступноВсего = ТЗдоступности.Количество;
   КонецЕсли;        
       
   Кол = 0;
   ВыбратьСтроки();
   Пока ПолучитьСтроку() = 1 Цикл
       Если Номенклатура = Текном Тогда
           Кол = Кол   + Количество;
       КонецЕсли;
   КонецЦикла;            
   Если ДоступноВсего < Кол Тогда
       Предупреждение("Нельзя перемещать большее количество товара, чем в документе - основание !!!",10);
       Количество = 0;
   КонецЕсли;    
   
КонецПроцедуры // ПриИзмененииКолва
14 Zmich
 
08.06.12
13:26
(12) Попробуй добавить
Форма.Обновить();
15 chief accountant
 
08.06.12
13:27
(13) И в какой строке конфа должна количество обнулить?
16 Aleksei_Pro
 
08.06.12
13:34
(14) пробовал
(15) в какой изменяю в той и дожна
17 chief accountant
 
08.06.12
13:35
(16) во время изменения количества?
18 Zmich
 
08.06.12
13:36
У тебя в процедуре ВыбратьСтроки(), ПолучитьСтроку() сбивают номер текущей строки (на которой курсор). Попробуй так:

Процедура  ПриИзмененииКолва()
   
   Сз_ = "";
   Заявка = "";
     
   ТекНом = Номенклатура;      
   стр = "";
   ДоступноВсего = 0;
   Если ТЗдоступности.НайтиЗначение(ТекНом,стр,"Номенклатура") =1 Тогда
        ТЗдоступности.ПолучитьСтрокуПоНомеру(стр);
          ДоступноВсего = ТЗдоступности.Количество;
   КонецЕсли;        
       
   Кол = 0;
   
   ТЗ = СоздатьОбъект("ТаблицаЗначений");
   ВыгрузитьТабличнуюЧасть(ТЗ);

   ТЗ.ВыбратьСтроки();
   Пока ТЗ.ПолучитьСтроку() = 1 Цикл
       Если ТЗ.Номенклатура = Текном Тогда
           Кол = Кол   + ТЗ.Количество;
       КонецЕсли;
   КонецЦикла;            
   Если ДоступноВсего < Кол Тогда
       Предупреждение("Нельзя перемещать большее количество товара, чем в документе - основание !!!",10);
       Количество = 0;
   КонецЕсли;    
   Форма.Обновить();
КонецПроцедуры // ПриИзмененииКолва
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой