Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 05:39
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как оптимизировать код??  (Прочитано 1449 раз)

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

Оффлайн glenchikm

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-09
  • Сайт: 
Есть процедура:
&НаСервере
Процедура УстановитьВидимость()
   

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

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



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


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


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

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


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
По поводу оптимизации - такой подход как у вас имеет место быть. Более того, сейчас посмотрел в типовую Бухгалтерию (правда 8.1), так аналогичная схема.
В качестве альтернативы

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

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



Оффлайн glenchikm

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-10-09
  • Сайт: 
Спасибо огромное!!! Сейчас попробую!!!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 226
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal