Имя: Пароль:
1C
 
обновил платформу до 1С:Предприятие 8.3 (8.3.20.1674) ...
,
0 screamhome
 
27.01.22
13:23
обновил платформу до 1С:Предприятие 8.3 (8.3.20.1674)
сразу  загрузка из Ексель стала работать медленно

запустил замер
все время уходит на получение данных

Обработка.КБ_ЗагрузкаФиксацийОстатка.Форма.Форма.Форма    220    КоличествоПродНЕОБР = Лист.Cells(НСтр,Строка.КолонкаКоличествоПродажа).Value;    335 296         5 893,406190            47,28%
Обработка.КБ_ЗагрузкаФиксацийОстатка.Форма.Форма.Форма    217    КоличествоНеОбр     = Лист.Cells(НСтр,Строка.КолонкаКоличество).Value;            335 297         5 884,243520            47,21%


загрузка через ТабличныйДокумент тоже не быстро


может появились какие то другие опрераторы вместо
Лист.Cells(НСтр,Строка.КолонкаКоличествоПродажа).Value;
кто позволит шустрее значение ячейки получить ???
1 shuhard
 
27.01.22
13:31
(0)[появились какие то другие опрераторы]
дык под виндой либо ADODB, либо внешние источники данных
первые самый смак по скорости
2 osa1C
 
27.01.22
13:40
(0) ещё один на 20 платформе...
3 acht
 
27.01.22
13:48
(0) > может появились какие то другие опрераторы
Уже давно появились.

Через перебор ячеек в цикле данные забирают только лохи. Четкие пацаны получают за одно обращение через границу процесса .Range и разбирают полученный ComSafeArray
4 acht
 
27.01.22
13:52
(1) > первые самый смак по скорости
+100500
Особенно, если там не ходить по строчкам, а использовать .GetRows ... и разбирать полученный ComSafeArray =)
5 screamhome
 
27.01.22
14:52
(4)  а нука кинь в меня примером нелоховского перебора данных через ComSafeArray
6 timurhv
 
27.01.22
15:12
(0) Может не платформа виновата, а COM? Закройте зависшие экземпляры Office через диспетчер задач.

- Метод "MS ADO" (Чтение файлов xls, xlsx средствами Microsoft ADO): //infostart.ru/public/163640/
- Метод "MS EXCEL" (Чтение файлов xls, xlsx с картинками средствами Microsoft Office): //infostart.ru/public/163641/
- Метод "LO CALC" (Чтение файлов xls, xlsx, ods, sxc с картинками средствами LibreOffice): //infostart.ru/public/163642/
- Метод "NativeXLSX" (Чтение файлов xlsx с картинками средствами 1С. ПостроительDOM): //infostart.ru/public/300092/
- Метод "NativeXLSX". Предыдущий вариант (Чтение файлов xlsx средствами 1С. ЧтениеXML)://infostart.ru/public/225624/
- Метод "Excel1C" (Загрузка на платформе 8.3.6 с картинками. Чтение файлов xls, xlsx, ods): //infostart.ru/public/341855/
7 neomarat
 
27.01.22
15:27
у них там и ADO отвалилось - откатился на последнюю 18
8 timurhv
 
27.01.22
15:49
NativeXLSX сильно дольше разбирает данные по сравнению с ADO?
9 Vstur
 
27.01.22
15:51
(2) ....люди скучно живут, серо и уныло...
а 20-я платформа позволяем им познать всю остроту ощущений....от паяльника в...
10 ildary
 
29.01.22
09:11
(0) А чем не нравится загрузка через табличный документ? Кроме неподдержки формата Excel95?
11 Garykom
 
гуру
29.01.22
09:14
(10) откуда взял про неподдержку?
12 Фрэнки
 
29.01.22
09:42
дык, пишет и про загрузку из табличного документа, что тоже тормозит...

Может есть какой-то пример или хотя бы куски кода, чтоб понимать более определенно, что там тормозит?
13 screamhome
 
29.01.22
10:41
решил вот так

    КоличествоЛистов = Книга.Sheets.Count;
    ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
    ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;    
    
    Область = Лист.Range(Лист.Cells(1,1), Лист.Cells(ВсегоСтрок,ВсегоКолонок));
    Данные = Область.Value.Выгрузить();

а дальше через массив Данные уже все работает шустро
вместо 7 часов -
11 минут
14 acht
 
29.01.22
10:53
(13) Ну я же говорил =)
Обращение за данными через границу процесса, оно такое.
15 ildary
 
29.01.22
13:18
(11) У меня не получилось прочитать на 8.3.18. Есть какой-то обходной способ (я про табличный документ)?
16 ДенисЧ
 
29.01.22
13:26
8.3.18.1334
формат не поддерживается ...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн