Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/75: Рейтинг темы: голосов - 75, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 42

Оптимизация Цикла

17.02.2013, 19:10. Показов 14782. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый день

ситуация такая, ассортимент товаров очень велик и постоянно увеличивается
на каждый товар заводится карточка
на сегодняшний день, открытие новой карточки занимает 24 секунды, долго

покопался и нашел цикл, пробегающий по уже всем существующим кодам товара для установления нового, уникального

//________________________________

Процедура ВводНового()
ПеремКода=0; //<<------------------------------ ПеремКода
Справ=СоздатьОбъект("Справочник.Номенкла тура");
А=0;
Пока А=0 Цикл
Если (Число(Код)<0) Или (Справ.НайтиПоКоду(Код)=1) Тогда
ПеремКода=ПеремКода+1;
Код=Число(ПеремКода);
Иначе
А=1;
КонецЕсли;
КонецЦикла;

//_________________________________

в общем, именно "пробегание" по всем уже существующим кодам и затягивает процесс.
если выставить начальное значение ПеремКода=10000; то создание карточки занимает десятую долю секунды

решение некрасивое, топорное и через некоторое время к этому вопросу придется снова вернутся, чтобы выставить ещё более высокую цифру.....

хотелось бы узнать мнение опытных товарищей, нет ли какого-нибудь более изящного решения ускорить прохождение цикла, которое бы закрыло вопрос окончательно, например, как узнать наивысший код в справочнике, не перебирая его весь
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.02.2013, 19:10
Ответы с готовыми решениями:

Оптимизация цикла for
Исходные данные: имеется цикл for, прерывание которого невозможно(должен выполнить все итерации). #include &lt;iostream&gt; int...

Оптимизация цикла for
Скажите, пожалуйста, как оптимизируется первый цикл? И чем он отличается от второго? Первый цикл: int a = 2; for (int i = 0; i &lt;...

Оптимизация цикла
Есть такой код: % Генерация точек в объеме N=20 for i=(1:N) pointx(i)=unifrnd(x_min,x_max,1,1); ...

22
0 / 0 / 0
Регистрация: 31.01.2008
Сообщений: 89
12.03.2013, 18:27
Студворк — интернет-сервис помощи студентам
Рискну посоветовать запрос с функцией МАКСИМУМ и числовым значением кода.
0
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
12.03.2013, 23:06
касательно одновременной записи одинаковых кодов :
При автонумерации в семерке ,если не ошибаюсь, есть еще одна табличка - она содержит еще не записанные, но уже занятые номера. Так что для полной гарантии - прямой запрос с блокировкой таблицы временных номеров при вводе туда нового номера. а остальные пусть подождут - мало у кого время ожидания захвата таблиц меньше минуты. Что это за таблица с времянками можо глянуть через профайлер при вызове процедуры установитьновыйномер() для незаписанного документа/элемента справочника.

а по проблеме - прямой запрос в руки (там все скулевое работает, в отличие от восьмерки <_< ), и опять-же - учитываем занятые незаписанные номера.
0
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 42
13.03.2013, 13:59
Цитата Сообщение от puh14
касательно одновременной записи одинаковых кодов :
При автонумерации в семерке ,если не ошибаюсь, есть еще одна табличка - она содержит еще не записанные, но уже занятые номера. Так что для полной гарантии - прямой запрос с блокировкой таблицы временных номеров при вводе туда нового номера. а остальные пусть подождут - мало у кого время ожидания захвата таблиц меньше минуты. Что это за таблица с времянками можо глянуть через профайлер при вызове процедуры установитьновыйномер() для незаписанного документа/элемента справочника.

а по проблеме - прямой запрос в руки (там все скулевое работает, в отличие от восьмерки <_< ), и опять-же - учитываем занятые незаписанные номера.
к своему стыду должен признаться что не работал ещё с профайлером, посоветуйте какую-нибудь статью, чтобы я не мучал вас вопросами куда тыкать, что нажимать и почему у меня ничего не получается <_<
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2013, 13:59

Оптимизация цикла for()
Доброго времени суток, форумчане! При нажатии на кнопку: private void button1_Click(object sender, EventArgs e) { ...

Оптимизация цикла for в таймере
всем привет, подскажите кто-нибудь, как мне оптимизировать работу таймера?интервал 1000 мл.сек, в массиве massiveOfString может...

Оптимизация условия цикла while
Доброго времени суток, друзья! Я еще совсем новичок в С++. Подскажите плз как оптимизировать следующее условие выхода из цикла while. Уж...

Оптимизация цикла по скорости
Помогите пожалуйста оптимизировать данный цикл (изменить его, чтобы он выполнялся быстрее): int a = new int; int b = new int; ...

Оптимизация цикла (перебор 5000000 элементов)
Можно ли как-то оптимизировать данный цикл? for (i=10000000; i&lt;15000000; i++) { for (k = i, j = 0; j &lt; 8; j++, k /= 10) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru