Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
07 июл 2024, 07:41

Загрузка из Эксель

Автор serkus, 20 окт 2013, 15:43

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

serkus

У меня есть база данных на 18000 контрагентов. Иногда бывает нужно перезагрузить ее из Экселевского файла (скорректированную). Но вот заметил несоответствие:  в mxl файле сумма, скажем по столбцу одна, а при сохранении в xls, другая. И количество контрагентов не соответствует. Подскажите, какое максимальное количество строк в справочнике поддерживает 1с 7.7, и может лии погрешность быть из-за превышения этого количества. И как это можно побороть?

ЗЫ. При загрузке 16000 строк в базу грузится только 15982. При загрузке до 12000 все грузится корректно.

espero2000

Цитата: serkus от 20 окт 2013, 15:43
ЗЫ. При загрузке 16000 строк в базу грузится только 15982. При загрузке до 12000 все грузится корректно.

Это в файле Эксель было 16000 строк? Или в базе 1С было 16000, а выгрузилось лишь 15982. На каком этапе происходит?

serkus

Да, в Экселе было 1600,а в базу загрузилось 15982. Я пробовал загружать и сразу всю таблицу, и по 4000. Результат: до 12000 все шло как надо. Последние 4000 загрузились не полностью...

Herby

отладчик открывайте и смотрите что происходит на 15983-ем клиенте
Добавлено: 28 окт 2013, 16:31


ограничений на количество строк в справочнике нет.

serkus


Herby

Цитата: serkus от 28 окт 2013, 19:22
спс, попробую

но, кстати, есть ограничение на размер файла ДБФ - 2Гб. В файле 1Cv7.DD посмотрите как называется таблица в которой хранится ваш справочник, и проверьте сколько весит эта таблица.

Но по идее, 16 тысяч строк не должно занимать больше 2Гб.

serkus

Таблица весит примерно 6.5 Mб при внесенных 12000 строк, а если точнее 6 517 682

Herby

ну значит что-то в коде не то происходит.
смотреть надо, так сложно сказать.
Обработку, которая грузит - скиньте, я посмотрю сегодня как время будет.

start2000

На тестовой базе попробуйте загрузить из файла ексель, в котором удалите первые 12000 строк. Если не загрузит, то дело скорее всего не в количестве строк а в данных в какой-то строке. Затем удаляем в файле ексель верхнюю половину строк. Если все загрузилось, то в след.файл ексель берем верхнюю половину строк, если не загрузилось то нижнюю половину. И так пока не останется одна строка. Затем можно сравнить чем она отличается от тех, которые загружаются или пройтись отладчиком при загрузке одной строки. Также в строку можно копировать значения одной ячейки из строки которая загружается, пока и эта строка не загрузится. Так узнаем на каком поле сроки спотыкается загрузка. Для контроля можно взять строку, которая загружается и это поле, на котором спотыкается загрузка скопировать в эту загружающуюся строку. Елли она перестала грузится, то значит найдено проблемное поле. Это один из алгоритмов, который не требует знаний отладчика и который может помочь.
если помог, то смело жми Спасибо!

Ewgenys

Можете помочь! У меня база данных в excel сохраненная на двух листах. Загрузка происходит только из первого. Как сделать, что бы база данных загружалась из обоих листов?

Похожие темы (5)

Рейтинг@Mail.ru

Поиск