![]() |
![]() |
|
Выгрузка XML | ☑ | ||
---|---|---|---|---|
0
Интересный вопрос
07.11.08
✎
12:23
|
При выгрузке данных из 1С 7.7 "Бухгалтерия" в файл xml с помощью обработки для перехода на "Бухгалтерию Предприятия" 8.1, обработка после двух часов работы завершается ошибкой "недостаточно памяти". Можно как то решить данную проблему, а то справочник "Материалы" очень большой и перенести его целиком не получается. И соответственно остатки по счету 10 не переносятся.
|
|||
1
ТелепатБот
гуру
07.11.08
✎
12:23
|
||||
2
lea_220400
07.11.08
✎
12:24
|
скока элементов примерно
|
|||
3
Интересный вопрос
07.11.08
✎
12:26
|
(2) Десятки тысяч
|
|||
4
Вугслукр
07.11.08
✎
12:27
|
Я бы сам написал обработку по выгрузке/загрузке этого справочника в xml.
Сразу сохранять данные файл, а не собирать их в памяти.. тогда думаю можно выгрузить/загрузить справочник любого размера. |
|||
5
Интересный вопрос
07.11.08
✎
12:32
|
(4) Можно ли стандартную обработку поравить? И если да то каким образом (примерно хотя бы)
|
|||
6
lea_220400
07.11.08
✎
12:40
|
попробуй транзакции поставить и количество выгруженных элементов около 10000, как дошелдо этого количества, так и фиксируй, наверняка в этом бага
|
|||
7
Вугслукр
07.11.08
✎
12:40
|
(5), я не знаю как сделано в этой обработке, я просто предположил, что справочник сначала закачивается в память , а потом в файл, поэтому огребаем ошибку о нехватки памяти, я думаю это наиболее вероятно.
Исправить можно все. Но проще самому написать несколько строк кода по выгрузке/загрузке этого справочника в/из xml или dbf. Это просто. |
|||
8
lea_220400
07.11.08
✎
12:40
|
(6) + вернее транзакции там есть, но вот если не фиксировать после определенного числа элементов, то память на 1С просто взлетает
|
|||
9
Интересный вопрос
07.11.08
✎
12:43
|
(6) Я хотел бы ошибаться, но мне кажется что ЗафиксироватьТранзакцию() не очищает оперативную память.
|
|||
10
Вугслукр
07.11.08
✎
12:53
|
(9), а ты проверь
|
|||
11
Интересный вопрос
07.11.08
✎
12:56
|
(10) Проверил, в Диспетчере задач память, выделяемая для процесса 1cv8.exe не уменьшилась после ЗафиксироватьТранзакцию(). Как проверить по другому не знаю.
|
|||
12
YHVVH
07.11.08
✎
13:00
|
ну купи памяти а?
|
|||
13
GenV
07.11.08
✎
13:03
|
(0) Разбивай выгрузку остатков на несколько частей. Сначала посмотри на чем вылетает - на формировании таблицы/запроса по остаткам или на выгрузки этих остатков через ТЗ.
|
|||
14
Интересный вопрос
07.11.08
✎
13:13
|
(12) Памяти на сервере больше 30 Гб. Не в памяти дело.
Цитата "Физический объем оперативной памяти, установленной на компьютере, не имеет отношения к данной проблеме. Ошибка «Недостаточно памяти» означает, что закончилось адресное пространство (около 2 Гб), которое операционная система способна выделить приложению." |
|||
15
Интересный вопрос
07.11.08
✎
14:57
|
(13) Вылетает скорее всего после запроса на выгрузке остатков.
|
|||
16
GenV
07.11.08
✎
15:03
|
(15) Ну, вот нужно определить когда вылетает и разбивать на части или самому отдельно от обработки выгружать по частям.
|
|||
17
Интересный вопрос
07.11.08
✎
15:29
|
(16) Пока остановился на решении таком: немного поправить правила выгрузки касаемые справочника Материалы, и остатков по 10 счету. Буду запускать выгрузку - загрузку несколько раз, органичивая объем данных в выгрузке скажем принадлежностью к определенной группе справочника.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |