Имя: Пароль:
1C
1С v8
Закрытие месяца. Недостаточно памяти.
0 jamesgold
 
12.08.16
16:38
Добрый день,  прошу помочь!

Закрываю месяц, падает "Недостаточно памяти". Падает при выгрузке результата запроса в таблицу значений:
Результат = Запрос.Выполнить().Выгрузить();
Количество строк возвращаемое из запроса 8 млн. Вылет происходит в процедуре "АнализДанныхПроизводства".

Клиент Windows 7 (64), увеличивал память для клиента методом: bcdedit /set increaseuserva 6144
Увеличивал файл подкачии.
Пробовал закрытие по RDP на мощном сервере 1С, результат тот же, - при выгрузке из запроса "Недостаточно памяти."
Клиент-серверная версия
1С:Предприятие 8.2 (8.2.19.106)
Бухгалтерия предприятия, редакция 2.0 (2.0.65.37)
1 jamesgold
 
12.08.16
16:40
Памяти на клиенте 8ГБ
2 vicof
 
12.08.16
16:41
а на сервере?
3 vicof
 
12.08.16
16:41
Ну если ты на клиент передаешь 8 миллионов строк, неудивительно, что падает
4 jamesgold
 
12.08.16
16:41
Таже ошибка
5 lubitelxml
 
12.08.16
16:46
я конечно может фигню скажу - но я бы попробовал на копии - установить 8.3.9 64х клиент, и попробовать на нем
6 jamesgold
 
12.08.16
16:47
У 1С есть клиент 64?
7 lubitelxml
 
12.08.16
16:48
(6) в тестовой 8.3.9 появился буквально на днях
8 jamesgold
 
12.08.16
16:49
Даже если на тесте закроет на рабочую такое не поставишь пока
9 Amra
 
12.08.16
16:49
Характеристики "мощного" сервера? 1Сный сервер там 32 или 64?
10 lubitelxml
 
12.08.16
16:51
размер БД? кол-во доков в день, с какого года учет?
11 jamesgold
 
12.08.16
16:52
Win srv 12, Сервер 1С х64, 20ГБ оперативки, 10ГБ база
12 aleks_default
 
12.08.16
16:54
для РПхоста ограничение на использование памяти стоит?
13 Amra
 
12.08.16
16:54
А скуль где? ТАм же или на отдельном серваке?
14 jamesgold
 
12.08.16
16:55
Ошибка на клиенте 1cv8.exe набирает больше 4ГБ и палает
15 lubitelxml
 
12.08.16
16:57
(14) ограничение 32х версии
16 jamesgold
 
12.08.16
16:58
(15) Именно, т.к. клиент 1С х32
17 jamesgold
 
12.08.16
16:59
(13) Скуль вместе с сервером 1с, но клиентчистый, тока 1с стоит
18 lubitelxml
 
12.08.16
16:59
(16) у тебя реально много документов в день? сколько штук?
19 jamesgold
 
12.08.16
17:02
(18) Достаточно интенсивно ведется, 10ГБ база, 5 лет
20 jamesgold
 
12.08.16
17:19
ап
21 Rlogin
 
12.08.16
17:21
10 Гб это вообще ни о чем.
Процедура типовая ?
22 elCust
 
12.08.16
17:22
(5) Хош потестить нового клиента на хомячках?
23 zak555
 
12.08.16
17:22
(11) сколько ДТшник весит ?
24 hitodom
 
12.08.16
17:31
можно на серевере запустить.
Но нужно обработочку написать небольшую
25 Флориан
 
12.08.16
17:34
(0) АнализДанныхПроизводства - в каком модуле процедура?
26 PLUT
 
12.08.16
18:15
(25) ctrl - shift - F в пофигураторе
27 jamesgold
 
12.08.16
22:27
(23) 600 МБ
28 jamesgold
 
12.08.16
22:27
(24) Что за обработка?
29 jamesgold
 
12.08.16
22:28
(21) АнализДанныхПроизводства - типовая функция в закрытии месяца
30 jamesgold
 
12.08.16
22:28
(25) модуль Документа - РегламентнаяОперация
31 Jija Grenkov
 
12.08.16
22:29
Не выгружать в таблицу значение, а работать с итератором.
32 Jija Grenkov
 
12.08.16
22:29
или код править нельзя?
33 Jija Grenkov
 
12.08.16
22:30
Дело в ограничении по памяти самой 1с, а не в нехватке ОЗУ.
34 Fram
 
12.08.16
22:34
(28) можно как регл задание попробоать запустить. то есть надо будет процедурку в общем модуле замутить, если я правильно помню.
35 jamesgold
 
14.08.16
21:37
Ап
36 Franchiser
 
гуру
14.08.16
23:12
Результат = Запрос.Выполнить().Выгрузить();
Это код ваш или типовой?
37 Jija Grenkov
 
14.08.16
23:14
(36) автор не отвечает на такие вопросы ) Я уже пробовал уточнять
38 Franchiser
 
гуру
14.08.16
23:18
1. Сделать УФ
2. Сделать так чтобы коды выполнялся на сервере ( в толстом клиенте можно использовать фоновые задания, можно, если не ошибаюсь писать код  в ОМ с галочкой Сервер)
3. перейти на БП 3.0
39 Franchiser
 
гуру
14.08.16
23:19
если есть возможность не использовать метод выгрузить(), т.к. эта ТЗ займет всю память: переписать код на ВТ / вложенные запросы.
40 Jija Grenkov
 
14.08.16
23:58
(39) На сколько я помню тут должно быть достаточно использовать обход через итератор
41 Franchiser
 
гуру
15.08.16
00:49
(39) Достаточно будет обход Результата-выборки, но не Результата-ТЗ
42 Звездец
 
15.08.16
01:09
(27) всего 600 и падает, странно. Жаль что автор не отвечает типовая база или нет. Мне тоже кажется что там кто-то порылся в коде.

Не мешало бы и ТИИ сделать перед закрытием
43 jamesgold
 
15.08.16
10:27
(36) Типовая
44 jamesgold
 
15.08.16
10:28
(41) Нужно вернуть именно таблицу значений
45 jamesgold
 
15.08.16
10:29
(42) База клиент-серверная, с полным набором планов обслуживания
46 jamesgold
 
15.08.16
10:31
(38) В этом есть смысл, согласен
47 lubitelxml
 
15.08.16
10:32
(44) кому это нужно?
48 Cyberhawk
 
15.08.16
10:32
Процедура разовая или регулярно будет по 8 миллионов ТЗ на клиенте формироваться?
49 jamesgold
 
15.08.16
10:41
(48) В этом месяце получилось 8 млн записей
50 jamesgold
 
15.08.16
10:41
(47) Нужно по коду
51 ptiz
 
15.08.16
10:54
(0) Проводите закрытие месяца в серверном модуле.
52 jamesgold
 
15.08.16
10:58
(51) Возможно к этому все и сведется
53 Cyberhawk
 
15.08.16
13:31
(49) Ну тогда или рефакторинг с переносом кода на сервер, либо использовать 64-битный клиент (8.3.9)...
54 jamesgold
 
15.08.16
14:10
Большое спасибо ВСЕМ за ответы, советы и участие! Буду пробовать закрывать месяц из ОМ на сервере.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой