Имя: Пароль:
1C
1C 7.7
v7: Заполнение документа out of memory MS SQL вариант
0 Sam1C
 
09.01.20
19:45
Добрый вечер! Заполнение большого  документа на 7.7 SQL, после 20 000 строк в документе вылетает с ошибкой out of memory. Под SQL выделено 24 Гб, падает когда SQL сжирает только половину 12 ГБ! Или это связанно, с 4 Гб ОЗУ на процесс, но система 64 битная. Какие тут могут быть варианты решения проблемы?
1 ДенисЧ
 
09.01.20
19:50
Не делай большие документы. Ваш Кэп.
2 Провинциальный 1сник
 
09.01.20
19:50
sql server тут точно ни при чем
Вылет по оут оф мемори в семерке в 99% случаев связан с переполнением стека из-за зацикленной рекурсии. Чаще всего - если в иерархическом справочнике ссылка элемента самого на себя из-за какого-то сбоя.
3 Sam1C
 
09.01.20
19:55
(2) не в этой ситуации наверно, т.к. если документ разбить на 3 документа, то все ок. Но бухам удобно делать его раз в месяц, а не по декадам... Есть тех. способы решить эту проблему?
4 Провинциальный 1сник
 
09.01.20
19:59
Попробуй уменьшить размер табличной части тогда. Убери кучу реквизитов, храни данные в отдельном справочнике, а в строках ТЧ - ссылки на него. Чтобы уменьшить объем занимаемый.
5 Провинциальный 1сник
 
09.01.20
20:09
+(4) Или еще проще - вообще хранить табличную часть в виде СтроковыйРеквизитНеогрДлины=ЗначениеВСтрокуВнутр(ТаблицаЗначенийНаФорме), правда при этом не будет контроля ссылочной целостности в этих сериализованных данных. При открытии и проведении десериализовать, при записи - сериализовать.
6 Sam1C
 
09.01.20
20:09
(4) да в ТЧ 5 колонок, 4 ссылочные и одна числовая, все больше ничего нет. Сам код расчета довольно тяжелый, куча расчетов с использованием бухитогов и ТаблЗначений.
7 Sam1C
 
09.01.20
20:12
(5) Да не думаю, что падает из-за ТЧ на форме, скорее из-за расчетов и промежуточных Тз
8 Злопчинский
 
09.01.20
22:34
Скорее всего 1сКА ПЕРЕГРУЖЕНА ДАННЫМИ В ТЗ, ПАМЯТИ НЕ ХВАТАЕТ И ВСЕ.
Попробуй помониторить в процессах - объем сжираемой ОП 1сКОЙ перед падением.
9 Провинциальный 1сник
 
10.01.20
07:48
(7) Ну смотрите тогда, на каком этапе виснет. Трассировкой и точками останова.
10 Кирпич
 
10.01.20
08:58
(3) Ну и делай 3 документа раз в месяц. Мало ли чего там бухам не нравится. Завтра им солнышка захочется. Лезть на небо тучи разгонять?
11 Sam1C
 
10.01.20
14:46
Падает с out of memory когда процесс занимает ОЗУ 1,8 Гб. Т.е. упиралось в  ограничение 1cv7s.exe до 2 Гб адресовать памяти. Спасло http://catalog.mista.ru/public/599613/
12 dk
 
10.01.20
14:54
ну однажды может и этого не хватить ))
13 8 bit
 
10.01.20
15:02
сцукабл... 20 лет назад из-за ограничений в 2 гб пришлось конфу переписать на прямые запросы с использованием 1срр
14 Провинциальный 1сник
 
10.01.20
16:40
(11) А причина? Почему процесс столько ест? Жалкие 20 тысяч строк в документе столько не дают..
15 ДенисЧ
 
10.01.20
16:41
(14) А что в алгоритме заполнения? Мож, у тебя тройное декартово идёт?
16 Sam1C
 
11.01.20
12:27
(14) это типовой документ франча, большая выборка по БухИтогам и жрет память, чтобы одну строку добавить в ТЧ там куча расчетов идет
17 rphosts
 
11.01.20
12:32
(16) > это типовой документ франча
типовой и франча - это не совместимые понятия!

Давно пора клюшки забыть!
18 Sam1C
 
11.01.20
19:00
(14) 20 000 строк для документа 7.7 жалкие? если НомерСтроки макс 4 разряда. Получилось после (11) больше 30 000 запихнуть,но при этом в колонке Номерстроки половину с минусом..
19 trdm
 
12.01.20
02:15
(18) интерпретатор с данными тоже отжирают память. Таблицы значений и запросы - вот твой пожиратель.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший