v7: Выгрузка в EXCEL #240261


#0 by nii
Как думаете, сколько по времени будет выгружаться отчет в EXCEL сохраняя его просто как копию .. типа "сохранить как". если в нем 50000 строк и примерно 30 колонок? уже два часа выгружается, думаю дождусь нет? Буха 8.0
#1 by Scooter
у меня 53 000 строк 3,5 часа сохранял
#2 by AlexNew
Ole или Ado?
#3 by nii
то есть дождаться шансы есть... :)
#4 by nii
когда формируешь отчет, встаешь на табличное поле, в меню файл нажимаешь сохранить копию и формат EXCEL .. не знаю через что это сохраняется
#5 by Scooter
точно могу сказать что через ж.
#6 by nii
блин, можно было написать обработку и выгружать через ADO или OLE.....выгрузить нужно загруженные перед этим остатки по ОСам для сверки. и вопрос че быстрее писать с 0 обработку или через консоль отчетов отчет и выгрузить в EXCEL
#7 by wt
+ У нас вышестоящая организация как-то запросила содержимое 10 счета в Excel. Уговоры, что получат не рабочий документ не прокатил. Сказали, исполнять и все. Создал журнал-ордер 10-счета и сохранил его в Excel. На самой крутой компе выгружал (памяти 4 Гб, 3,5 Мгц). Выгружал более 8 млн единиц хранения. Время заняло около 4-х часов. Их сотры получили файл. Загрузили его на плохонький ноут, кликнули чтобы открыть и, т.к. не могли возразить своим начальникам, стали ждать открытия. Ждали пятницу, субботу, воскресенье. В понедельник сказали, что файл плохой и когда продемонстрировал работоспособность файла на своих компах, поняли, что "каменный цветок у Данилы-мастера не выйдет". Резюме: файл в Excel подобных объемов - с ним невозможно нормально работать.
#8 by nii
у меня задача создать точно такой же файл какой мне дали для загрузки 01 счета... там порядка 50000 строк , загружал я его около 20 часов (создавались ОС проводились документы) .. и щас нужно выгрузить такой же файл с данными которые есть в 1с. че с ним дальше будут делать я и сам не очень представляю...но задача стоит и с заказчиком не поспоришь :( а уговоры точно не помогут
#9 by VasilyKushnir
Сохранение больших таблиц в EXCEL -
#10 by Scooter
могу посоветовать юзать DBF
#11 by MikleV
окуеть.. и ты так каждый раз ипацца собираешься?
#12 by Scooter
а вот интересно программисты в 1С читать не умеют? что такого сложного сделать нормальное сохранение ТабДока в Ексель? 6 лет с 1Синой занимаюсь и все это время они не могут решить такой простой вопрос
#13 by vde69
вообще у екселя есть ограничение примено 65 000 строк на лист интересно как умудрился 8 милионов туда впихнуть?
#14 by vde69
у меня загрузка цен из екселя (40 000позиц) идет 15 минут, а там нужно еще в 1с синхронизировать по номенклатуре и регист записать
#15 by MikleV
100*10^4/65^10^3 приближённо 1,6 * 10 = 16 листов
#16 by nii
для 7 -ки
#17 by nii
да загрузка нормально, у меня долго шла просто много разных справочников создавалось, больше чем в типовой.. а вот сохранение :(
#18 by nii
разово нужно...  а вот если там в нем че то не так, то скорее всего придется потом формировать маленькие отчетики и править в ручную
#21 by Худой
У меня первые разы тоже ОС загружались около 14 часов. Примерно, 36000 объектов. Потом хорошенько перелопатили обработку загрузки. Стало грузиться всего за 15 минут. Тут сильно не зависит от источника, дбф или эксель или что то другое. Выгрузка штатными средствами в ексель больших объемов тоже грозит проблемами. Пиши сам обработку выгрузки.
#22 by Scooter
для V8 ?
#23 by nii
загрузка шла долго из - за того что писался не только справочник ОС но и куча других, создавались проводилсь документы... тут никак даже за час не уложишься... насчет писать свою обработку. наверное есть смысл если очень часто приходится делать и есть время на эту обработку. я пожалуй буду выгружать по 5-10 тыс строк а потом соединять. P.S.  выгрузка таким способом заняла 16 часов :)
#24 by Худой
У нас тоже "писался не только справочник ОС но и куча других". Загрузка пошла влет, когда стали формировать вначале список значений, потом одним проходом этот список "вбрасывается. Шустро работает. Так что ты не прав.
#25 by smaharbA
Слушай ромикса, особенно причем все штатно можна сделать и для 7.7 и для 8.х
#26 by Худой
Штатно, оно, конечно, было бы здорово. Но когда штатными средствами по 14 часов делается то, что должно за 15 минут, приходится думать "не штатно"
#27 by smaharbA
Штатно делается за 15 минут, и даже без переделки конфы (хотя с небольшой дороботкой лучче)
#28 by Худой
Я не про скорость написания или скорость использования штатных средств, а про скорость исполнения. Штатными средствами копировалось 14 часов. После написания своей обработки, процедура закачки занимает 15 минут. И при чем тут изменение конфы? Внешняя обработка ее нисколько не изменяет.
#29 by smaharbA
а я тем более о скорости выполнения...
#30 by smaharbA
+ ты просто плохо читал и
#31 by Худой
Еще раз повторяю для танкистов. Я пишу не про ВЫГРУЗКУ в Excel, а про ЗАГРУЗКУ данных из любых источников в конфигурацию. Это относилось к реплике в . Там, вроде, писалось о ЗАГРУЗКЕ 01 счета в систему.
#32 by smaharbA
Еще раз повторяю для Нетанкистов - "...и щас нужно выгрузить такой же файл с данными которые есть в 1с. че с ним дальше будут делать я и сам не очень представляю...но задача стоит и с заказчиком не поспоришь"
#33 by Худой
Мда..Если ты влез в обсуждение, то изволь посмотреть внимательно на то, что я писал в про загрузку. Все. Прекращаю обсуждение.
#34 by smaharbA
Накуя смотреть , в и в четко вопрос поставлен...
#35 by nii
по сколько строк вы грузили в документ ВВодНачальныхОстатковОС ?
#36 by Худой
Грузили из 7.7 все сразу. Челез OLE. В итоге получилось столько документов, сколько подразделений на предприятии(исходя из того, что подразделение находится в заголовке документа). Плюс документы для ОС, находящихся на забалансе. Такое же кол-во, примерно. В итоге, получилось 117 документов.
#37 by nii
это вопрос к тому что одно только проведение этих документов должно много времени занимать. по 300 строк в документе. 15/117 = 7 сек проведение такого документа.. у меня в Бухе 8.0  типовой ВводНачальныхОстатковОС при 400 строках только проводился несколько минут.. хотя ниче в нем в обработке проведения не менял
#38 by Худой
Ну правильно. В общем, принцип подсчета подсчета именно такой. На глаз Далее. Проведение документа, который имеет ОСы за балансом в несколько раз быстрее проводит. Но, по любому, проведение документов в этой обработке не самое тяжелое по времени. Смею предположить, не более 5-10 процентов времени от всей загрузки. Может быть, и меньше.
#39 by smaharbA
Если из екслеля грузите, то в 8.0 (да и в 7.7 не намного более) всего одна строка кода чтобы в переменную (массив) 1С загрузить все данные с листа по ОЛЕ, и это быстрее даже чем через АДО... .. дак ты чего моск паришь, тебеж выгрузка нужна была, а она абсолютно штатно в ексель делается не за хх часов а за 15 мин (о производительности) а может и быстрее...
#40 by smaharbA
+ причем ребята оцените умище ;) - восьмерку незнаю ваапче...
#41 by Худой
Ему как раз и надо выгружать в эксель. Просто по ходу темы зацепились, почему так долго загрузка в 1с проходит. Не совсем понял про "всего одна строка кода чтобы в переменную (массив) 1С загрузить все данные с листа по ОЛЕ"
#42 by smaharbA
Массив=лист.usedrange.value;
#43 by empty
Самое лучшее...Скорость работы уменьшается раза так в N... Например удаление всех элементов справочника или автоматическое создание док... происходит от 30-60 мин... с транзакцией около 5-10 мин... или даже меньше.....Я думаю тебе это поможет ))))) НачатьТранзакцию (BeginTransaction) Синтаксис: НачатьТранзакцию Описание: Открывает транзакцию. Транзакция предназначена для записи в информационную базу согласованных изменений. Все изменения, внесенные в информационную базу после начала транзакции, будут затем либо целиком записаны, либо целиком отменены. Пример:
#44 by Худой
Это все понятно. Просто ты привел очень простой пример. Заполнение остатков по ОС гораздо более запутанная ситуация. Попробуй, для начала, заполнить одну запись в документе. Там тянется чуть ли не с десяток других объектов, которые по ходу необходимо тоже заполнять.
#45 by empty
Ничего страшного.... Это тоже прокатит.... Например.... Скока выгрузок делал.. Любой сложности... Транзакцию всегда поможет...)))))))
#46 by empty
Еще можно попробывать.. Сохранить все в таблицу, а затем Ексель = СоздатьОбъект("Excel.Application"); Попытка Только это пример на 7... на 8 я думаю тоже самое...
#47 by Дроныч
к
#48 by Дроныч
Доброго времени суток! Подскажите пожалуйста! У меня есть екселевский файл с колонками типа время чч мм сс и поля в таблице 1С с типом данных Дата и формат даты Время Так вот мне нужно перенести данные из ексель в 1С без изменений в файле ексель! ПОМОГИТЕЕ ПЛИИИЗ!!!!
#49 by empty
Дроныч... а какой тип в Exel стоит? Не формат, а тип.... Как оно выглядит?
#50 by Дроныч
ТИП = 13:30:55 Или можно так вот Тип=13:30 Вот так!
#51 by smaharbA
"Сохранить все в таблицу, а затем " ???? и еще - код в хоть и рабочий, но типические-типические ошибки...
#52 by smaharbA
Л.Cells(Строка,КолонкаДата).Text
#53 by Дроныч
Л.Cells(Строка,КолонкаДата).Text И че будет работать?
#54 by empty
smaharbA Знаешь код и вправда рабочий(я этой ерундой сохраняю отчеты в Exel) и все работает без сбоев....(и еще там пояснение что это 7,а не 8)!!!!!!!!!
#55 by smaharbA
выдаст твое время как тебе нада, только вот нафих ты его к реквизиту Дата присвоить хошь - это уж тебе виднее
#56 by smaharbA
а Вы не думайте, и то что это 7.7 я знаю, но ошибки типические. ишите сами, мене уже надоело каждому толдычить...
#57 by Дроныч
ОТЛИЧНО!!! РАБОООООТАЕТ!!!!!!!! УРААААА!!!! СПАСИБО ВАМ ОГРОМНОЕ!!! Вот только пришлось ставить тип не Дата а Строка еще раз спасибо!
#58 by smaharbA
Рано радуешься, форматов времени до и более... :) (но в большинстве конечно пойдет и так)
#59 by Худой
Я именно так и делал. Только счетчик, через который нужно делать ЗафиксироватьТранзакцию, делал на форме обработке и брал с формы в переменную. Вообще, много чего на форме обработки поместил. Для просмотра статистики загрузки и переменных, которые в обработку сваливались.
#60 by nii
ну не писал я обработку для выгрузки.... сделал консолью отчет куда вывел все загружаемые до этого из Excel данные вот и все... с остатками по 10 08, загрузкой справочников и тд все прокатывало классно, ниче в конфигураторе писать не надо отчет в консоли макс 5 минут пишется и все зашибись... а вот проблема с ОС - по ним много всяких справочников и информации, по этому так вот у меня и получилось... на будущее буду знать скока это времени занимает. а можно чуть подробнее про массив? есть файл в котором куча данных про справочник ОС, счета учета и амортизации ОС, сроки полезного использования и др. информация которая пишется в сам документ ввода остатков. как это представляется в виде одного массива и одной строкой грузится все в 1с, подскажите плиз!
#61 by nii
сорри, про массив не так понял, на самом деле так и делал.. а вот про выгрузку "абсолютно штатно в ексель делается " - штатно это как?
#62 by smaharbA
привиди пример как ты "на самом деле так и делал", интересно глянуть, может мы немного о разных вещах толкуем... А выгружать штатно и быстро - тебе ромикс уже написал в - Таб.Записать("ЁксельФайл.XLS","HTML"); (если внести в первую строчку 1С таблицы койкакие дополнения, можно в одну ячеечку, то вообще красота получится)
#63 by nii
НовСтр[Элемент.Ключ] = Число(ВходExcel.Sheet(ЭлементыФормы.ЛистТек.Значение).Cells(НомерСтрокиДока,Элемент.Значение).Value);
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С