Имя: Пароль:
1C
1С v8
Запрет заполнения поля ввода
0 Gill
 
23.11.11
12:05
Привет всем! На документе есть поле ввода с типом Справочник.Ссылка, при подборе в табличную часть документа это поле ввода должно заполняться или не заполняться с сообщением об отказе по определенной логике. Задача такая на форме документа есть реквизит "Вид документа" (тип ПеречеслениеСсылка)...Значение этого реквизита заполняется в зависимости от вида работы (это реквизит ТЧ) выбранном пользователем.Т.е. для каждого Вида работы в карточке элемента указано какой вид документа используется для дальнейшей обработки.Т.к. у меня "ВидДокумента" это общий реквизит формы, а не ТЧ, мне нужно исключить возможность подбора в текущую ТЧ видов работ с разными значениями реквизитов "ВидДокумента"...Делаю через ОбработкуВыбора поля ввода ВидРаботы, не получается то,что нужно

Процедура ТЧВыполняемыеРаботыВидРаботыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   // Вставить содержимое обработчика.
Если ВидДокумента<>Элемент.ВидДокумента  
   Тогда Сообщить("бла-бла-бла");
       отказ=Истина;
   Возврат;
КонецЕсли;

//Вообщем мне нужно запрещать заполнение поле ввода в ТЧ если пользователь выбирает еще одну работу но с другим "ВидомДокумента"    
КонецПроцедуры
1 hhhh
 
23.11.11
12:20
Если ВидДокумента<>ВыбранноеЗначение.ВидДокумента
2 Gill
 
23.11.11
12:26
(1) спасибо!
3 Gill
 
23.11.11
14:08
(1) чё-то сообщение об отказе выдается,но тем не менее в ТЧ все-равно добавляется строка
4 vicof
 
23.11.11
14:13
(3) СтандартнаяОбработка = Ложь не?
5 Buster007
 
23.11.11
14:16
а что такое "отказ=Истина;"?
6 vicof
 
23.11.11
14:16
(5) с КД, наверное, переигрался)
7 Gill
 
23.11.11
14:17
СтандартнаяОбработка = Ложь куда воткнуть?
8 Gill
 
23.11.11
14:18
(5) это мой загон)
9 vicof
 
23.11.11
14:19
(7) продам СП. Недорого.
10 Wobland
 
23.11.11
14:19
(7) а куда хочешь. попробуй вместо первого комментария
11 Gill
 
23.11.11
14:26
(10) не получается
12 vicof
 
23.11.11
14:28
(11) давай, делись, почему тебя конфигуратор не любит)
13 PVV65
 
23.11.11
14:28
(10) Я бы вставил вместо "Отказ = Истина".
(11) Что не получается;
14 Wobland
 
23.11.11
14:28
(13) а мне комментарий не нравится ;) а Отказ убрать надо, да
15 PVV65
 
23.11.11
14:32
(14) "СтандартнаяОбработка = Ложь" надо написать только внутри конструкции Если ... КонецЕсли, дабы в остальных случаях выполнялась стандартная обработка выбора.
16 Gill
 
23.11.11
14:35
спасибо всем!!!
Если не ВидНаряда.Пустая() и ВидНаряда<>ВыбранноеЗначение.ТипДокумента  
Тогда Сообщить("так не надо");
//отказ=Истина;
СтандартнаяОбработка=Ложь;
Возврат;
КонецЕсли;
17 Wobland
 
23.11.11
14:36
(15) а, ну да
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший