Имя: Пароль:
1C
1С v8
Сохранение в ексель, платформа не справляется
,
0 Pandoch
 
01.06.20
18:16
Добрый вечер.  Уважаемые, сталкивался ли кто-нибудь с проблемой, когда обработкой формируется очень большие таблицы в табДок на форме, и при попытке сохранить штатными средствами это в ексель таблицу - платформа долго висит, пока не валится с нехваткой памяти (база серверная).
Понятное дело, что негоже такие огромные массивы данных давать 1ске кушать, но там холдинг, у них с этим все плохо.  Вопрос - есть ли разница в том, попытается ли платформа сама штатными средствами сохранить табличный документ в ексель, или же сделать кнопочку и прописать код, который сохранит ту же таблицу в ексель? Может есть какие-то настройки для более оптимальной работы с памяти при записи файла? Как вообще посоветуете оптимизировать этот процесс? только лишь разделением одной большой мегатаблицы на несколько файлов?
1 Фрэнки
 
01.06.20
18:19
Платформа валится с ошибкой не потому, что база серверная
2 Pandoch
 
01.06.20
18:20
а я же этого не говорила. валится потому, что не хватает памяти для обработки процесса
3 wt
 
01.06.20
18:21
Мало того. Когда все же удастся выгрузить , выяснится , что потребитель этот файл либо не сможет открыть, либо он будет так тормозить, что работать с ним будет невозможно.
4 Фрэнки
 
01.06.20
18:22
начни с того, что поставь на клиента 64-бит клиента. Но вряд ли это спасет. В том числе, что 1С такое число строк и столбцов может и переварит, а вот эксель может и не смочь.
5 VladZ
 
01.06.20
18:31
(0) Для каких целей нужна эта "портянка"? Для дальнейшего анализа? Выгружайте в БД: DBF, SQL и т.п.
6 wt
 
01.06.20
18:34
Если они будут все же упорствовать, возьми комп помощнее, на нем оставь выгрузку на ночь. Если выгрузится дай им этот файл. Я специально под таких фруктов держал комп на котором огромные сборки САПР делал. Но потом они все равно будут не довольны, типа мы его открыть не можем. И лишь тогда, после этого предложи им след вариант. Ты выгружаешь в формат mxl, они у себя устанавливают плагин для чтения этого формата в ексель. Открыть его они откроют, а вот дальше пусть сами с такими файлами работают.
7 Гений 1С
 
гуру
01.06.20
18:34
(0) CSV предлагали? ггг..
Можно в HTML также выгружать, Excel его норм кушаит.
Или в XML Вроде тоже можно.
8 timurhv
 
01.06.20
18:38
(0) Да, именно при передаче с клиента на сервер такое было на голой БСП. Есть ограничение в 4Гб, разрядность никак не влияет.
https://its.1c.ru/db/v8315doc#bookmark:dev:TI000002045
9 1Снеговик
 
гуру
01.06.20
18:57
(0) ни разрядности, ни версии платформы, ничего! Как вы так вопросы задаете?
Сколько строк в отчете? Вы уверены, что вообще эта выгрузка возможна?
10 Pandoch
 
01.06.20
18:57
(8) вот это то, что нужно, спасибо! как раз речи были, что 1ска висит до тех пор, пока не разрастется по памяти в диспетчере задач до 4г гигов и валится. видимо данные собираются в нужном виде, для отправки на сервер (сохранение в ексель же на сервере происходит, это же типа ком объект, или я заблуждаюсь?) и когда он понимает, что слишком много уже, больше квоты для отправки, то грохает процесс.

предложу сохранить в альтернативный вариант, типа Html или mxl, их уже можно в ексель, если 1с справится
.
11 Pandoch
 
01.06.20
19:00
(9) 8.3.14.2032, разрядность х64, строк там около миллиона-двух. Они вручную делят на файлы по 200-300 тыщ строк в одном екселе и это работает. Хотят чтобы за одну итерацию все в один файл выгружалось.
Я не уверена, что она возможна)
12 Pandoch
 
01.06.20
19:09
(5) а если писать в sql данные за 1 итерацию, по идее объем данных такой же будет на сервер отправляться разово, или трудозатраты другие при работе с sql
13 Pandoch
 
01.06.20
19:15
(9) есть какие-то рекомендации по максимальному количеству строк, выше которого не желательно писать в 1 файл?
14 timurhv
 
01.06.20
19:17
(10) Как с клиента на сервер - не знаю у вас реализовано. У нас печатная не выводилась на клиент, типовой механизм БСП работает так:
- формировался табличный документ с печатной формой на сервере;
- вызывался метод на сервере "ПоместитьВоВременноеХранилище()" и туда помещался табличный документ под 9Гб;
- начиналась передача с сервера на клиент и выходила ошибка: "Неспецифицированная ошибка работы с ресурсом. Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm: Недостаточно свободной памяти для выполнения операции".

По-моему, если это выполнять на сервере, то ошибка не выходила.
15 МихаилМ
 
01.06.20
19:17
на ис есть методика обхода проблемы. в поиск
16 Cyberhawk
 
01.06.20
21:59
Формируй файл нативно. Если потом еще и на клиент это дело передавать надо, то разбивай, передавай и потом обратно склеивай.
17 Александр111
 
02.06.20
09:21
Выгружай в DBF, DBF открывается Exсel
18 d4rkmesa
 
02.06.20
10:13
(10) Можно и csv, к примеру. Csv можно писать последовательно, 1 млн. строк тут не предел. В Excel с помощью Power Query можно импортировать файлы с более чем 1 млн. строк. Кстати, можно импортировать через OData, но хз как это с 1С будет работать.
19 kubik_live
 
02.06.20
10:20
(0) Были обработки, которые большой ТабДок выгружали в несколько xls по заданию макс. кол-ва строк
20 kubik_live
 
02.06.20
10:21
+(19) ещё для 7.7
21 experimentator76
 
02.06.20
10:49
(0) сохраняй в XLSX
22 Масянька
 
02.06.20
10:55
(21) Месье понимает толк в извращениях :)
Самое дельное замечание.
23 H A D G E H O G s
 
02.06.20
10:57
(0) Позовите специалиста
24 Garykom
 
гуру
02.06.20
10:57
25 Garykom
 
гуру
02.06.20
10:59
(24) с учетом "строк там около миллиона-двух"
26 experimentator76
 
02.06.20
11:34
(25)
"
строк там около миллиона-двух. Они вручную делят на файлы по 200-300 тыщ строк в одном екселе и это работает. Хотят чтобы за одну итерацию все в один файл выгружалось.
"

размытые вводные, которые я могу интерпретировать как хочу :)
до миллиона строк я лично выгружал для аналитиков в XLSX.
формат XLS поддерживает по-моему до 65535 строк и само сохранение на объемах гарантировано виснет и по-моему не зависит от памяти и такого прочего - просто криво реализовано.

думаю, надо включить софт-скилы и поговорить с заказчиками - может там и не все нужно выгружать и можно поделить строки и т.п.
если ничего не поможет, то нужно писать обработку, которая сформирует и сохранит массив данных в другом формате, открываемом в excel.
27 VladZ
 
02.06.20
15:01
(12) Там другие трудозатраты.
28 VladZ
 
02.06.20
15:02
+27  Можешь разбить информацию по пакетам (например, 500 инсертов в одном пакете).
29 dmpl
 
02.06.20
15:07
(11) Надо спрашивать не что хочет пользователь, а что ему надо в итоге получить.
30 Кирпич
 
02.06.20
15:08
Одни впихивают зачем то миллионы строк в Excel. Другие потом мудохаются, доставая эти миллионы строк из Excel. Все при деле и все получают зарплату. Экономика.
Писать в CSV надо.
31 Garikk
 
02.06.20
15:09
(30) +и не пытаться открывать такие файлы в экселе, не зависимо от формата
32 ptiz
 
02.06.20
15:10
У нас как-то налоговая запросила продажи в разрезе товаров. Тоже уперлись в миллион строк в Екселе :) Разбивали на более мелкие файлы. Даже не представляю, что они с ними сделать смогут. Откроют и закроют, разве что.
33 experimentator76
 
02.06.20
15:36
(30) имхо дело в консерватизме... используют инструменты к которым привыкли...
кто-то в экселе хорошо шарит и поэтому все данные крутит в экселе, вместо того чтобы запросить отчет в учетной системе...
так было и так будет.

п.с.
естественно ИСХОДНУЮ задачу в (0) можно решить правильнее и оптимальнее,
но это может потребовать перестройку процессов в компании :)
34 mistеr
 
02.06.20
15:54
Что, только люди не придумают, вместо того, чтобы решить проблему правильно...
35 H A D G E H O G s
 
02.06.20
15:58
(33) Согласен. Я в налоговую отчеты только в бумаге сдаю. Я просто хорошо знаю, как работают эти ваши ИТ.
36 H A D G E H O G s
 
02.06.20
15:59
Энтернет - это что. Его 20 лет назад и не было вовсе. Хренак, и ИТ безопасность пошла по бюджетной сфере и где ваша декларация? А вот бумага - это тысячелетия истории, это надежно.
37 experimentator76
 
02.06.20
16:19
вместо бумаги блокчейн же
38 experimentator76
 
02.06.20
16:20
что записано в блокчейн - то не вырубишь топором
39 Garikk
 
02.06.20
16:45
(36) бумага это та которую крысы едят, потоп топит и пожар жгет, иногда даже неслучайно?
40 H A D G E H O G s
 
02.06.20
17:30
(39) Всегда есть отметка о приемке.
41 experimentator76
 
02.06.20
18:04
(40) на горючей бумаге
42 dmpl
 
03.06.20
06:09
(35) Ага, и написаны они от руки :) Чтобы FineReader не распознал.
43 dmpl
 
03.06.20
06:43
(38) Топор очень хорошо справляется с серверным оборудованием, так что не согласен - вырубить можно.
44 ASU_Diamond
 
03.06.20
06:58
(11) если я правильно помню, то у экселя ограничение в миллион строк (ну чуть больше)
45 ДенисЧ
 
03.06.20
07:00
(44) От версии зависи
46 ASU_Diamond
 
03.06.20
07:09
47 Bigbro
 
03.06.20
08:32
сохранить в mxl
сконвертить в xlsb
профит.
48 Масянька
 
03.06.20
10:44
(39) А в "электронном виде" (при тех же условиях) всё будет, как "живое"?
49 experimentator76
 
03.06.20
11:20
(43) (48)
"Чаще всего копии цепочек блоков хранятся на множестве разных компьютеров независимо друг от друга. Это делает крайне затруднительным внесение изменений в информацию, уже включённую в блоки"
https://ru.wikipedia.org/wiki/Блокчейн

фишка блокчейна в том что центрального узла\сервера нет,
т.е. к примеру инфо дублируется на сервере в налоговой и у всех налогоплательщиков.
по похожему принципу построены электронные валюты, из-за чего их недолюбливают государственные органы,
т.к. там просто так не выпустишь эл.валюты сколько захочешь, транзакции пишутся и видны всем, единого центра контроля нет и т.п.
50 Масянька
 
03.06.20
11:47
(49) Ключевое "Чаще всего".
Плюс - не стоит забывать о вирусах. Они-то, как раз, очень любят "цепочки".
Еще один плюс - слив инфы. Напоминать про сбер, думаю, не стоит.
Ну, и на закуску: старая русская поговорка - без бумажки ты ..., а с бумажкой человек - еще никто не отменял. И долго еще не отменят.

А по поводу транзакций: как "теряются" платежи в банках, выводятся деньги в оффшоры и пр., если транзакции пишутся?
Для себя давно решила (и пока отступать не думаю): на каждый платеж - квитанция (онлайн), договоры и серьезные справки - хранить в бум. виде.
51 mzelensky
 
03.06.20
12:00
(0) Я один не догоняю, зачем вот это вот ФсЁ - "Они вручную делят на файлы по 200-300 тыщ строк в одном екселе и это работает." ???
52 1Снеговик
 
гуру
03.06.20
12:25
1 048 576 строк максимум
Что за задача, что требует 1-2 млн строк сырых данных в Экселе? BIG DATA?
53 fisher
 
03.06.20
12:43
(52) В кровавом интерпрайзе и не такое бывает. Есть дополнения к Екселю, которые тянут до 100 миллионов строк и достаточно широко используются. Это самый дешевый способ "общупать" сырые данные имея просто опытного аналитика, который умеет в Excel.
54 Кирпич
 
03.06.20
12:44
Такое бывает когда начальство тупое и не понимает зачем на свете существуют программисты. Выполнение задачи поручают тупым манагерам, которые ничего не знают кроме Excel. Они еще месяц будут ваять вручную чота из этих миллионов строк, а потом из этих миллионов строк сделают табличку из 10 строк и покажут её в Power BI в виде красивого графика. Программисту там работы на час, а эти будут неделю ложиться костьми в шестером. Зато денег заработают.
55 mzelensky
 
03.06.20
13:35
(53) "имея просто опытного аналитика, который умеет в Excel" - вот от таких нужно избавляться в первую очередь!
56 experimentator76
 
03.06.20
13:47
(50) у вирусов при децентрализации на всех "ножичков не хватит", но понятно что при глобальном П. электронка не будучи забэкапленной на "жестком" носителе - исчезнет. но это в целом проблема сегодняшней цивилизации, от которой в случае Г.П. останутся только горы мусора.

в ближайшие десятилетия сознания людей будут переформатироваться в сторону того, что личные данные о них будут открыты и доступны.
57 experimentator76
 
03.06.20
13:51
(54) (55) это правда, но к сожалению менеджеры практически всегда некомпетентны в ИТ и не понимают какая сила в нем заложена.
если абстрагироваться от армии тунеядцев, то эксель в качестве просто формата для передать данные на посмотреть вполне применим. приходилось даже аналитикам мелкомягкой компании немного экселя отдавать :)
58 Масянька
 
03.06.20
14:16
(56) Тем не менее, при глобальном армагеддоне у бумаги есть шанс, а вот у "цепочек" никаких. Даже при бэкапе на супер-пупер харде.
А еще лучше на камнях высекать :))))
59 Irbis
 
03.06.20
14:27
(58) >>А еще лучше на камнях высекать :))))
Мойша был не фраер, заповеди на скрижалях высек.
60 Pandoch
 
03.06.20
14:27
хаха, вот это наболевшее, видимо) до сих пор ветка жива)
61 dmpl
 
03.06.20
14:28
(49) Весь вопрос только в количестве денег, потребных для уничтожения всего оборудования, где есть копия данных. Про перо там сложнее все гораздо, т.к. эта информация еще и в памяти людей есть. Поэтому чтобы уничтожить все копии - надо надо самоубиться после уничтожения остальных людей.
62 Irbis
 
03.06.20
14:30
Чему тут болеть, очередной обмен светит на 1,6 млн строк. И контрагент предлагает Ёксель. Я ему про cvs толкую, а у него уже сделано под мелких партнёров на ёкселе.
63 experimentator76
 
03.06.20
14:38
(60) чем история закончилась в итоге ? :)
64 experimentator76
 
03.06.20
14:48
(59)
Только похоже кроме Мойши никто и не видел первых скрижалей, а вторые возможно видели, но немногие древние евреи:

"Вторые скрижали и обломки первых, как самые великие драгоценности еврейского народа, хранились в Ковчеге Завета, который находился в Святая Святых. (Обломки первых скрижалей лежали в ковчеге под вторыми скрижалями). Предчувствуя разрушение Первого Иерусалимского Храма, царь Яшияу заблаговременно спрятал Ковчег Завета в глубоких подземных лабиринтах, подготовленными царем Шломо под фундаментом храмового помещения."

что равносильно тому, что история была давняя и информация передается из уст в уста специально обученными священниками.
на исходные данные наводятся человеческие искажения. в общем первоначальный документ возможно был, но это неточно.
65 Pandoch
 
08.06.20
18:45
(63)  ну сделала логику выгрузки в несколько файлов ексель по группам организаций) и работает.