Имя: Пароль:
1C
 
Форма - обработка выбора
0 НовыйУчастник Форума
 
11.08.09
17:26
Есть форма, на форме ТЧ - ТабличноеПолеПользователи. Есть кнопка подбор, и процедура к ней:

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   
   Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.Пользователи") Тогда
       Строка = Пользователи.Найти(ЗначениеВыбора,"Имя");
       Если Строка = Неопределено Тогда
           Строка = Пользователи.Добавить();
           Строка.Имя = ЗначениеВыбора;
           Строка.Назначить = Истина;
       Иначе
           Предупреждение(СокрЛП(ЗначениеВыбора) + " - уже есть в списке пользователей!", 5, "Внимание!");
       КонецЕсли;

Проблема - если добавлять пользователей не через подбор, а просто Ins тогда, пользователь выбирается, добавляется все ок, но хочется еще и Назначить = ИСТИНА делать (это флажок)...не пойму куда добавить?

сюда - Процедура ТабличноеПолеПользователиПользовательОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

не помогает - Элемент же это только ячейка Пользователь
1 1СCовец
 
11.08.09
17:36
ПередНачаломДобавления()
2 НовыйУчастник Форума
 
11.08.09
17:36
(0) оп
3 73
 
11.08.09
17:38
ЭлементыФормы.ТабличноеПолеПользователи.ТекущиеДанные.Назначить = Истина
4 НовыйУчастник Форума
 
11.08.09
17:45
(1)Процедура ТабличноеПолеПользователиПередНачаломДобавления(Элемент, Отказ, Копирование)
   Элемент.Назначить = Истина;
КонецПроцедуры


Поле не обнаружено...Элемент.Колонки.Назначить - он не дает записать...чето не так делаю?
5 73
 
11.08.09
17:46
Вставь (3) в ТабличноеПолеПользователиПользовательОбработкаВыбора
6 НовыйУчастник Форума
 
11.08.09
17:47
(3) родил, респектую -))
7 НовыйУчастник Форума
 
11.08.09
18:01
(0) с ролями почему-то не получается:


Процедура ТабличноеПолеРолиИмяНачалоВыбора(Элемент, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   ФормаПодбора = Справочники.avdЗадачиПользователя.ПолучитьФормуВыбора(,ЭтаФорма);
   ФормаПодбора.ЗакрыватьПриВыборе = Истина;
   ФормаПодбора.МножественныйВыбор = Ложь;
   ФормаПодбора.Открыть();
   //Если Результат
   
КонецПроцедуры

Процедура ТабличноеПолеРолиИмяОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   
   Сообщить("фыва");
   Строка = Роли.Найти(ВыбранноеЗначение,"Имя");
   Если Строка = Неопределено Тогда
       ЭлементыФормы.ТабличноеПолеПользователи.ТекущиеДанные.Имя = ВыбранноеЗначение;
       ЭлементыФормы.ТабличноеПолеПользователи.ТекущиеДанные.Назначить = Истина;
   Иначе
       Предупреждение(СокрЛП(ВыбранноеЗначение) + " - уже есть в списке пользователей!", 5, "Внимание!");
   КонецЕсли;
   
КонецПроцедуры
8 НовыйУчастник Форума
 
11.08.09
18:02
(8)
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
   
   Если ТипЗнч(ЗначениеВыбора) = Тип("СправочникСсылка.Пользователи") Тогда
       Строка = Пользователи.Найти(ЗначениеВыбора,"Имя");
       Если Строка = Неопределено Тогда
           Строка = Пользователи.Добавить();
           Строка.Имя = ЗначениеВыбора;
           Строка.Назначить = Истина;
       Иначе
           Предупреждение(СокрЛП(ЗначениеВыбора) + " - уже есть в списке пользователей!", 5, "Внимание!");
       КонецЕсли;
       
   Иначе
       
       Строка = Роли.Найти(ЗначениеВыбора,"Имя");
       
       //Сообщить(ТипЗнч(ЗначениеВыбора));
       
       Если Строка = Неопределено Тогда
           Строка = Роли.Добавить();
           Строка.Имя = ЗначениеВыбора;
           Строка.Назначить = Истина;
       Иначе
           Предупреждение(СокрЛП(ЗначениеВыбора) + " - уже есть в списке ролей!", 5, "Внимание!");
       КонецЕсли;
       //КонецЕсли;
   КонецЕсли;
   
КонецПроцедуры
9 НовыйУчастник Форума
 
11.08.09
18:03
(7) т.е. для Ролей - выбирать через подбор или Ins - все едино...как обойти это ограничение? т.е. когда я жму Инс - строка добавляется, а не выбирается в текущую (новую, созданную)
10 73
 
11.08.09
18:05
?    
ФормаПодбора = Справочники.avdЗадачиПользователя.ПолучитьФормуВыбора(,Элемент);
11 НовыйУчастник Форума
 
11.08.09
18:08
(10) не понял....для Ролей есть отдельная форма, в ней список ролей в конфе
12 НовыйУчастник Форума
 
11.08.09
18:09
(10) лано спасибо, не буду мучиться - глобальной переменной победил