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

Автор Тема: Оптимизация кода  (Прочитано 414 раз)

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

Оффлайн Natain14

  • *
  • Сообщений: 35
  • РЕПУТАЦИЯ: 2
  • КПД: 6%
  • Регистрация: 2015-06-16
  • Сайт: 
Добрый день, подскажите, пожалуйста, как работает метод "Найти" для таблицы значений?
Вопрос связан с тем, что в таблице, например 50 000 строк. Использование этого метода сильно затормозит систему?


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Re: Оптимизация кода
« Ответ #1: 31 Мар 2016, 09:43 »
Лучше запросом

Оффлайн Natain14

  • *
  • Сообщений: 35
  • РЕПУТАЦИЯ: 2
  • КПД: 6%
  • Регистрация: 2015-06-16
  • Сайт: 
Re: Оптимизация кода
« Ответ #2: 31 Мар 2016, 11:30 »
Т.е.
Для каждого Строка из Таб цикл
Данные =ТаблицаОпераций.Найти(Таб.ИдентификаторОперации,"ИдентификаторОперации")
Конеццикла;

будет работать медленнее,чем запрос в цикле даже если колонка ИдентификаторОперации добавлена в индекс??:

Для каждого Строка из Таб цикл
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
   ТаблицаОпераций.ИдентификаторОперации,
   ТаблицаОпераций.КучаДругихКолонок
ИЗ
   &ТаблицаОпераций КАК ТаблицаОпераций
ГДЕ
   ТаблицаОпераций.ИдентификаторОперации = &ИдентификаторОперации"
Запрос.Параметры.Установить("ИдентификаторОперации",Таб.ИдентификаторОперации);
Запрос.Параметры.Установить("ТаблицаОпераций",ТаблицаОпераций);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() тогда
Данные = ...
Конецесли;
Конеццикла;

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Re: Оптимизация кода
« Ответ #3: 31 Мар 2016, 12:08 »
Щас руки побрубаю по самые уши за такой код. ui;;t;
В качестве примера:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТЗВнешняя.Номенклатура,
| ТЗВнешняя.Количество
|ПОМЕСТИТЬ втТЗ
|ИЗ
| &ТЗВнешняя КАК ТЗВнешняя
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| втТЗ.Номенклатура,
| втТЗ.Количество,
| ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
| втТЗ КАК втТЗ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
| ПО втТЗ.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура";

Запрос.УстановитьПараметр("ТЗВнешняя",ТЗ);

Результат = Запрос.Выполнить();


Теги:
 

УПП. Ставлю останов в отладчике, при выполнении кода игнорируется останов

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 624
Последний ответ 06 Июл 2016, 09:45
от Luzer1C
Как изменить длину кода и длину порядка в плане счетов. БП (базовая) ред.3.0

Автор АлексеевнаРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1779
Последний ответ 20 Ноя 2013, 12:01
от LordWizard
Формирование Штрих-Кода в программе "Управление небольшой фирмой"

Автор IgorVartaРаздел Закрытые темы

Ответов: 0
Просмотров: 4130
Последний ответ 10 Апр 2011, 23:46
от IgorVarta
Может ли внешняя обработка работать с текстом кода модуля объекта документа?

Автор SeiOkamiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2083
Последний ответ 27 Май 2012, 15:05
от Dethmontt
Получение HTML кода из ПолеHTMLДокумента в тонком клиенте на платформе 8.2

Автор s.rРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2724
Последний ответ 05 Июл 2010, 20:27
от s.r

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
alex0402
74 Сообщений
alexandr_ll
38 Сообщений
LexaK
32 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
crow1983
31 Сообщений
sertak sertak
26 Сообщений
BuhRust
18 Сообщений
дфтын дфтын
17 Сообщений
Vzonder
17 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal