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

Автор Тема: Как уменьшить расход памяти при создании/редактировании документов на сервере  (Прочитано 1199 раз)

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

Оффлайн wposta

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-17
  • Сайт: 
  • Профессия: Программист 1С
Платформа 8.3, управляемые формы, файловый вариант.
Загружаю данные из xml файла, создаю МассивДоков, затем начинаю создавать или изменять документы, и тут начинает сжираться память. Ощущение что все документы после записи висят в памяти.

Для Каждого Док Из МассивДоков Цикл
         ФлагНовый = ложь;
         ЗначениеРекв = 0;
         ПоискДок = ВсеДопРеквизиты.Найти( Строка(Док.Номер) + "_" + Док.Дата);
         Если ПоискДок = Неопределено Тогда
            ФлагНовый = Истина;
            НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
         Иначе
            НовДок = ПоискДок.Объект.ПолучитьОбъект();
            ЗначениеРекв = НовДок.СуммаДокумента;
            НовДок.Товары.Очистить();
            НовДок.ТоварыПоДаннымПоставщика.Очистить();
         КонецЕсли;
...
КонецЦикла;


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ну, судя по приведенному куску кода - так и есть. То что вы привели - имеет вид неоптимального кода.

Оффлайн wposta

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-17
  • Сайт: 
  • Профессия: Программист 1С
Это понимаю, но как все таки сделать, чтоб документы все не висели в памяти?

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Переписать код, чтобы сделать его оптимальным.
У вас как минимум 3 массива с данными, которые до конца процедуры висят в памяти:
1. МассивДоков
2. ВсеДопРеквизиты
3. Файл исходных данных(которого нет в приведенном куске кода. предполагаю, что переменную с файлом данных вы не обнуляете.)
Копайте в сторону единого запроса.

Оффлайн wposta

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-08-17
  • Сайт: 
  • Профессия: Программист 1С
Спасибо за рекомендации, но эти массивы занимают совсем не много места, проверял, если совдавать один документ, то память расходуется довольно незначительно, а вот как только начинаю все затрагивать, тогда и растет. Может есть путь, после записи документа убрать его из оперативы? Ведь фактически одной и той же переменной присваиваю ДокументОбъект, а ощущение что они накапливаются и только потом все проводятся и удаляются из памяти.


 

Как создать нескольких документов "расчет при увольнении" на основании кадрового документа "увольнение" как Отпуска

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

Ответов: 3
Просмотров: 3178
Последний ответ 21 Мар 2015, 20:24
от дфтын
Не работает структура подчиненности документов "Требование-накладная" и "Передач

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

Ответов: 0
Просмотров: 4094
Последний ответ 10 Мар 2011, 07:36
от sv_stas_sv
готовая компонента сканирования/загрузки / распознавания бумажных документов (счетов, налоговых накладных, приходных накладных) из бумажного документа в 1с

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

Ответов: 1
Просмотров: 171
Последний ответ 14 Ноя 2017, 10:43
от oleg-x
Реквизит "Ссылка" у справочников и документов

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

Ответов: 3
Просмотров: 3020
Последний ответ 29 Май 2013, 16:24
от leklerk
"Дубляж" документов реализации в ВзаиморасчетыКомпанииОстаткиИОбороты

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

Ответов: 0
Просмотров: 1784
Последний ответ 24 Янв 2014, 13:55
от mspuz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

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

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal