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

1C 8.3. Как оптимизировать данный код, чтобы не нагружать сервер?

Автор gulnyr, 19 июл 2023, 20:15

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

gulnyr

Как переписать данный код так, чтобы не приходилось 100 и более раз получить объект и столько же раз

сделать запись:

...

ВыполнитьВыбрать = Запрос.Выполнить().Выбрать();

Пока ВыполнитьВыбрать.Следующий() Цикл
ДанныеСтрокиСсылка = ВыполнитьВыбрать.СсылкаНомен;
ДанныеСтрокиОбъект = ДанныеСтрокиСсылка.ПолучитьОбъект();
ДанныеСтрокиОбъект.Остатки = ВыполнитьВыбрать.ОстатокВРегистре;
ДанныеСтрокиОбъект.Записать();
КонецЦикла;

antoneus

Ответ простой: не нужно хранить остатки в справочнике.

gulnyr

Цитата: antoneus от 19 июл 2023, 20:22Ответ простой: не нужно хранить остатки в справочнике.
Это понятно. Но все же, как оптимизировать данный код? Помню, что можно было с помощью цикла обойти всю выборку, затем сохранить.

antoneus

Со справочниками, да и документами только так - именно получать в цикле объекты, устанавливать реквизиты и записывать.

Afinogen

gulnyrB) да сделайте вы регистр для хранения остатков если его  еще нет,  сделайте обработку которая зальет туда текущие остатки и будет вам счастье,а то реально  если честно  фигней страдаете)

gulnyr

Цитата: Afinogen от 20 июл 2023, 10:23gulnyrB) да сделайте вы регистр для хранения остатков если его  еще нет,  сделайте обработку которая зальет туда текущие остатки и будет вам счастье,а то реально  если честно  фигней страдаете)
Afinogen, получить не проблема. А как вы потом их отсортируете? Ответ: никак))

gulnyr

Цитата: antoneus от 19 июл 2023, 21:07Со справочниками, да и документами только так - именно получать в цикле объекты, устанавливать реквизиты и записывать.
antoneus, ну значит будем действовать только так

Теги:

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

Рейтинг@Mail.ru

Поиск