Имя: Пароль:
1C
1С v8
Не получается закрыть выбор
0 koketka
 
01.05.12
19:49
Выбираю счет по нему определяю субконто в табличной форме документа. Вот например выбираю счет 10 там 2 субконто. Программно выбирается все нормально за исключением 3 субконто когда нажимаешь на поле он открывается для выборки 1 субконто! не пойму что не так? вот код
Процедура УслугиСчетЗатратПриИзменении(Элемент)
   Стр = ЭлементыФормы.Услуги.ТекущиеДанные;
   
   Счет = Стр.СчетЗатрат;
   Если Счет.ВидыСубконто.Количество()>0 Тогда
       ТипСубк = Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения;
       Если ТипСубк.ПривестиЗначение(Стр.Субконто1)  <> Стр.Субконто1 Тогда
           Стр.Субконто1 = ТипСубк.ПривестиЗначение(Стр.Субконто1);
       КонецЕсли;
   КонецЕсли;  
   Если Счет.ВидыСубконто.Количество()>1 Тогда
       ТипСубк = Счет.ВидыСубконто[1].ВидСубконто.ТипЗначения;
       Если ТипСубк.ПривестиЗначение(Стр.Субконто2)  <> Стр.Субконто2 Тогда
           Стр.Субконто2 = ТипСубк.ПривестиЗначение(Стр.Субконто2);
       КонецЕсли;
   КонецЕсли;            
   Если Счет.ВидыСубконто.Количество()>2 Тогда
       
       ТипСубк = Счет.ВидыСубконто[2].ВидСубконто.ТипЗначения;
       
       Если ТипСубк.ПривестиЗначение(Стр.Субконто3)  <> Стр.Субконто3 Тогда
           Стр.Субконто3 = ТипСубк.ПривестиЗначение(Стр.Субконто3);
       КонецЕсли;
   КонецЕсли;            
   

КонецПроцедуры

Процедура УслугиСубконто1НачалоВыбора(Элемент, СтандартнаяОбработка)
   Стр = ЭлементыФормы.Услуги.ТекущиеДанные;
   Счет = Стр.СчетЗатрат;
   Если Счет.ВидыСубконто.Количество()>0 Тогда
       ТипСубк = Счет.ВидыСубконто[0].ВидСубконто.ТипЗначения;
       Стр.Субконто1 = ТипСубк.ПривестиЗначение(Стр.Субконто1);
   КонецПроцедуры

Процедура УслугиСубконто2НачалоВыбора(Элемент, СтандартнаяОбработка)
   Стр = ЭлементыФормы.Услуги.ТекущиеДанные;
   Счет = Стр.СчетЗатрат;
   Если Счет.ВидыСубконто.Количество()>1 Тогда
       ТипСубк = Счет.ВидыСубконто[1].ВидСубконто.ТипЗначения;
       Стр.Субконто2 = ТипСубк.ПривестиЗначение(Стр.Субконто2);
       КонецЕсли;    

КонецПроцедуры

Процедура УслугиСубконто3НачалоВыбора(Элемент, СтандартнаяОбработка)
   Стр = ЭлементыФормы.Услуги.ТекущиеДанные;
   Счет = Стр.СчетЗатрат;
   Если Счет.ВидыСубконто.Количество()>2 Тогда
       ТипСубк = Счет.ВидыСубконто[2].ВидСубконто.ТипЗначения;
       Стр.Субконто3 = ТипСубк.ПривестиЗначение(Стр.Субконто3);
      КонецЕсли;

КонецПроцедуры
1 koketka
 
01.05.12
19:50
а должен ничего не открывать ничего не выбирать
2 AlexNew
 
01.05.12
20:27
СтандартнаяОбработка = Ложь
3 koketka
 
01.05.12
20:31
спасибо!
Ошибка? Это не ошибка, это системная функция.