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

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

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 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
78 Сообщений
IL2016
30 Сообщений
Дмитрий Джей Дмитрий Джей
30 Сообщений
oooo800
29 Сообщений
antoneus antoneus
25 Сообщений
LexaK
25 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
alexandr_ll
14 Сообщений
мадам брошкина
13 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal