Имя: Пароль:
1C
1C 7.7
v7: Как сделать программно активной закладку на форме?
0 Ночной Эльф
 
27.03.13
15:30
Есть условие по которому некоторые пользователи не могут выбирать одну из закладок собственно вот процедура которая не делает активным те слои что находятся в этой закладке

Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки)

   ПредыдущаяЗакладка = ТекущаяЗакладка;
   ТекущаяЗакладка = НомерЗакладки;
   
   Если НомерЗакладки=1 Тогда
       Форма.ИспользоватьСлой("Основной,ОбщийОтдел");
   ИначеЕсли НомерЗакладки=2 Тогда
       Форма.ИспользоватьСлой("Основной,СпециалистПоКадрам");
   ИначеЕсли НомерЗакладки=3 Тогда
       Форма.ИспользоватьСлой("Основной,ХозОтдел");
   ИначеЕсли НомерЗакладки=4 Тогда
       Форма.ИспользоватьСлой("Основной,ОтделИт");
   ИначеЕсли НомерЗакладки=6 Тогда
       Форма.ИспользоватьСлой("Основной,ПроизводственыйОтдел");
   ИначеЕсли НомерЗакладки=5 Тогда

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

Но при щелчке на эту закладку с номером 5 она так и остается быть активной, а вот отображаются слои 1 закладки что не очень то и правильно, т.е. ВОПРОС как сделать активным 1 закладку?
1 Рэйв
 
27.03.13
15:31
2 Ночной Эльф
 
27.03.13
15:34
да это я и так знаю, а того чего мне надо там нету, она все равно активная 5 та на которую я щелкнул а не 1
3 varelchik
 
27.03.13
16:23
Форма.Закладки.ТекущаяСтрока(НомерЗакладки)
4 NikVars
 
27.03.13
21:14
Процедура ПриВыбореЗакладки(НомерЗакладки, ЗначениеЗакладки)

   ПредыдущаяЗакладка = ТекущаяЗакладка;
   ТекущаяЗакладка = НомерЗакладки;

   Если НомерЗакладки=5 Тогда

       Если ИмяПольз = "Менеджер" Тогда
           НомерЗакладки = 6;
       КонецЕсли;
       
   КонецЕсли;    
   
   Если НомерЗакладки=1 Тогда
       Форма.ИспользоватьСлой("Основной,ОбщийОтдел");
   ИначеЕсли НомерЗакладки=2 Тогда
       Форма.ИспользоватьСлой("Основной,СпециалистПоКадрам");
   ИначеЕсли НомерЗакладки=3 Тогда
       Форма.ИспользоватьСлой("Основной,ХозОтдел");
   ИначеЕсли НомерЗакладки=4 Тогда
       Форма.ИспользоватьСлой("Основной,ОтделИт");
   ИначеЕсли НомерЗакладки=5 Тогда
       Форма.ИспользоватьСлой("Основной,Проектировщик");
   ИначеЕсли НомерЗакладки=6 Тогда
       Форма.ИспользоватьСлой("Основной,ПроизводственыйОтдел");
   КонецЕсли;
   
КонецПроцедуры