Имя: Пароль:
1C
1С v8
Нехватка памяти при проведении РаспределениеНДСКосвенныхРасходов
0 lubja
 
01.08.11
14:26
не пинайте!
8.2.13.219 БП 2.0.19.9 скульная. в табчасти 650 строк. при проведении сжирает оперативки порядка 4 гигов, при том буквально метрами поглощает при добавлении строк регистр НДСПредъявленныйРеализация0. дело происходит в общем модуле ОбщегоНазначения. начальство настаивает на том, чтобы по кускам записывала (типа транзакциями), а мне не кайф ломать код...
собсна, вопрос - может кто сталкивался, как решили? если допиливали то, что? в инете видела жалобы на проведение этого дока, но не более...
1 lubja
 
01.08.11
14:31
забыла сказать, после того, как ОНО сожрало память, вылетает ошибка нехватки памяти...
2 lubja
 
01.08.11
14:44
и кстати, думает ну очень долго...
3 Salvador Limones
 
01.08.11
14:46
Как-то это подозрительно. ТИИ давно делала? Или хотя бы пересчёт итогов.
4 lubja
 
01.08.11
14:47
(3) как появилась эта проблема, и ТИИ и пересчет сделала... 0 эмоций... (
5 lubja
 
01.08.11
14:50
хочу ща проверить (на всякий случай) как в файловом будет вести себя (сомневаюсь, конечно, что лучше, но все же), да тока эта дрянь повисла...
6 Scooter
 
01.08.11
14:59
(3)+реиндекс
(4)сервер 1с перегружали?
(5)замер производительности и смотреть на чем спотыкается
7 lubja
 
01.08.11
15:10
(6)
2. нет
3. вот как раз на втором месте по замеру стоит строка:
СтрокаДвижения = НаборДвижений.ДобавитьПриход();
где НаборДвижений - РегистрНакопления.НДСПредъявленныйРеализация0
8 Scooter
 
01.08.11
15:19
(7)получается что просто добавление записи в набор занимает массу времени  :\ ?

тогда чтото с таблицей: ТИИ, реиндекс, сжатие, выгрузка/загрузка (короче шаманить)
9 lubja
 
01.08.11
15:21
+ такая же хрень происходит с доком НДСПредъявленныйРеализация0, тока там полторы тыщщи строк (но его я пока не рассматривала пристально)...
10 lubja
 
01.08.11
15:57
эм... из эти 650 строк получилась тз с более ляма строками... и цикл идет:
Для каждой Колонки Из ТЗ.Колонки Цикл
  Для Каждой стр Из ТЗ Цикл
     строкаНабора = НаборДанных.ДобавитьПриход()
     ...
  КонецЦикла
КонецЦикла

то, что ТЗ получилась такой большой - это нормально?!
11 Salvador Limones
 
01.08.11
16:00
Это типовая? О_О
12 lubja
 
01.08.11
16:02
(11) эм... слегка допилиная ))
13 Axel2009
 
01.08.11
16:04
(10) ну вот поменяй циклы местами
14 slad
 
01.08.11
16:16
(10)
В процедуре ВыполнитьДвижениеПоРегистру ?
15 lubja
 
01.08.11
16:21
(14) да-да, в нем родимом)
16 Scooter
 
01.08.11
16:26
(12)ну чтож вы сразу не сказали
в обработке проведения полностью готовишь таблицу (запросом !!!) и загружаешь её в регистр
17 slad
 
01.08.11
16:26
В типовом стоит условие

           Для каждого СтрокаТаблицы Из ТаблицаДвижений Цикл

               Если ПерваяКолонка Тогда

                   Если ВидДвижения = ВидДвиженияНакопления.Приход Тогда
                       СтрокаДвижения = НаборДвижений.ДобавитьПриход();
                   ИначеЕсли ВидДвижения = ВидДвиженияНакопления.Расход Тогда
                       СтрокаДвижения = НаборДвижений.ДобавитьРасход();
                   Иначе
                       СтрокаДвижения = НаборДвижений.Добавить(); // Для оборотных регистров
                   КонецЕсли;

                   МассивСтрок[Индекс] = СтрокаДвижения;
                   Если СтрокаТаблицы.Период = '00010101' Тогда
                       СтрокаДвижения.Период = НаборДвижений.мПериод;
                   Иначе
                       СтрокаДвижения.Период = СтрокаТаблицы.Период;
                   КонецЕсли;

               Иначе

                   СтрокаДвижения = МассивСтрок[Индекс];

               КонецЕсли;
18 lubja
 
01.08.11
16:28
(16) т.е. все-таки предлагаете переписать обработку проведения? :)
19 Scooter
 
01.08.11
16:30
(18)а код в (10) типовой?
20 lubja
 
01.08.11
16:31
(17) да, стоит. вот этот типовой механизм не трогался! трогался код, где одна из временных таблиц формируется
(19) да
21 lubja
 
01.08.11
16:32
+(20) т.е. один запрос был слегка подправлен, а все остальное проведение штатное
22 Scooter
 
01.08.11
16:33
(21)а вы можете разбить док на десять документов?
23 slad
 
01.08.11
16:33
Закомментируй нетиповые изменения и посмотри
24 lubja
 
01.08.11
16:35
(22) первоначально так и решили, чтобы не тормозить работу. но начальство такой варик не устраивает
(23) изменения были такого рода: в запросе вместо оборотов взята таблица остатков. по идеи это должно было уменьшить количество строк...
25 Scooter
 
01.08.11
16:36
(24)>первоначально так и решили

ну нормально, тогда пишите на линию поддержки чтоб 1С поправило ошибку, их косяк
26 lubja
 
01.08.11
16:38
(25) так что интересно, я просмотрела ошибки на сайте 1с. и такого рода, как у меня, не было. но не может же быть, чтобы во всей стране не нашлось бы аналогичного случая, как у нас...
27 slad
 
01.08.11
16:39
(25) написать что поправили одну ВТ и нехватка памяти ))) я думаю ясен ответ службы поддержки
28 slad
 
01.08.11
16:39
проверь типовой механизм, оптимизация потом )
29 lubja
 
01.08.11
16:40
(28) ща буду проверять... через часок-другой, думаю, отпишусь)))
Независимо от того, куда вы едете — это в гору и против ветра!