Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 ноя 2024, 01:54

Как оптимизировать код??

Автор glenchikm, 12 окт 2010, 14:14

0 Пользователей и 1 гость просматривают эту тему.

glenchikm

Есть процедура:
&НаСервере
Процедура УстановитьВидимость()
   

///т.к. всего используется всего 2 субконто то с 1 по 2, а как  сделать универсально??? чтоб если 3 субконто, то автоматически учитывалось???

Для Ном = 1 По 2 Цикл     



      Если Ном <= Объект.Счет.ВидыСубконто.Количество() Тогда
         Элементы["Субконто" + Ном].Заголовок =
                           Строка(Объект.Счет.ВидыСубконто[Ном-1].ВидСубконто);
         Элементы["Субконто" + Ном].Видимость = Истина;
      Иначе
         Элементы["Субконто" + Ном].Видимость = Ложь;
      КонецЕсли;   
         
   КонецЦикла;   
КонецПроцедуры   


а как  сделать универсально??? чтоб если 3 субконто, то автоматически учитывалось, а не в коде изменя с 1 по 3 ??? где-то слышала с использованием метаданных, а как не пойму!!!!


и как оптимизировать с точки зрения быстродействия код:

Если Ном <= Объект.Счет.ВидыСубконто.Количество() Тогда
         Элементы["Субконто" + Ном].Заголовок =
                           Строка(Объект.Счет.ВидыСубконто[Ном-1].ВидСубконто);
         Элементы["Субконто" + Ном].Видимость = Истина;
      Иначе
         Элементы["Субконто" + Ном].Видимость = Ложь;
      КонецЕсли;   
??????????????????????????????

progmikon

По поводу оптимизации - такой подход как у вас имеет место быть. Более того, сейчас посмотрел в типовую Бухгалтерию (правда 8.1), так аналогичная схема.
В качестве альтернативы

КоличествоСубконто = Объект.Счет.ВидыСубконто.Количество();
Для Ном = 1 По КоличествоСубконто  Цикл     
   Элементы["Субконто" + Ном].Заголовок =    Строка(Объект.Счет.ВидыСубконто[Ном-1].ВидСубконто);
   Элементы["Субконто" + Ном].Видимость = Истина;
КонецЦикла;   

Для Сч = (КоличествоСубконто + 1) ПО 3 Цикл
Элементы["Субконто" + Сч].Видимость = Ложь;
КонецЦикла;



glenchikm

Спасибо огромное!!! Сейчас попробую!!!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск