Вход | Регистрация

  1  2  3  4  5   

Загрузить в 1С файл 15 000 000 товаров CSV

Загрузить в 1С файл 15 000 000 товаров CSV
Я
   Maniac
 
13.11.18 - 20:12
Как думаете возможно?
Размер файла 1 гигабайт.
Клиенту очень нужно.....
 
 
   Maniac
 
1 - 13.11.18 - 20:14
Решил запустить сейчас тем что есть. 1Ска уже 10 гиг сожрала и идет дальше.
   Maniac
 
2 - 13.11.18 - 20:17
16 гиг оперативы....
   Злопчинский
 
3 - 13.11.18 - 20:17
Очередной лавочник, который хочет торговать "всем"..?
.
Читать построчно.
Писать построчно или порциями.
Возможно имеет смысл предварительно обработать файл, приведя его к "нормализованному" виду, с одинаковыми длинами строк.
тогда чтение можно организовать "истинно построчное" (что должно дать выигрыш при чтении такого файла (?)
Возможно имеет смысл такой нормализованный файл заюзать через драйвера сторонних БД как "источник данных"
   Hans
 
4 - 13.11.18 - 20:18
код в студию.
   Woldemar177
 
5 - 13.11.18 - 20:18
7.5 ? УТ 5.0 ? Самому интересно, продолжайте наблюдения, мы с вами свяжемся.
   Hans
 
6 - 13.11.18 - 20:19
Маня решил 15кк запихать сначала в ТЗ?
   Woldemar177
 
7 - 13.11.18 - 20:20
(6) что такое ТЗ?
   Maniac
 
8 - 13.11.18 - 20:20
25 гиг оперативы...
   Garykom
 
9 - 13.11.18 - 20:20
Маня не в курсе что читать и писать в базу надо транзакциями из примерно 50-300 элементов?

Точное число один знакомый даже подбирал методом половинного деления на лету, засекая в обработке время
   Maniac
 
10 - 13.11.18 - 20:20
Да я пытаюсь сейчас в ТЗ запихнуть.
 
 Рекламное место пустует
   Maniac
 
11 - 13.11.18 - 20:21
Для начала в ТЗ. если ТЗ загрузится. Тогда можно сказать что это возможно
   Garykom
 
12 - 13.11.18 - 20:22
Размер файла какой?
В ТЗ оно займет от 4 раз больше оперативки а до смотря сколько там колонок.
   Maniac
 
13 - 13.11.18 - 20:22
Короче у меня память кончилась. И сейчас что то делает с 27 гигами.
   Hans
 
14 - 13.11.18 - 20:22
(10) потом поставь точку останова и посмотри ТЗ как заполнится.
   Garykom
 
15 - 13.11.18 - 20:23
(13) Если своп не отрубил то руби процесс ))
   Фрэнки
 
16 - 13.11.18 - 20:24
удивительно
   Garykom
 
17 - 13.11.18 - 20:24
Все браузер того да? Повис ))
   Фрэнки
 
18 - 13.11.18 - 20:25
зачем создавать ТЗ в данном случае
   d4rkmesa
 
19 - 13.11.18 - 20:25
(0) А в файле, если не секрет? Запчасти?
   d4rkmesa
 
20 - 13.11.18 - 20:26
(19) *что в файле?
   Garykom
 
21 - 13.11.18 - 20:26
(16) Удивительно это "успех" отдельных личностей не смотря на недостаток технических знаний в своей области деятельности
   Aleksey
 
22 - 13.11.18 - 20:26
Даже при хорошем раскладе вот не поверю что 1С при всем её контроле сможет в клиент-серверной версии писать быстрее чем 5 элементов в минуту (допустим загрузка идет порциями в фоне и у нас есть массив данных которые нужно тупо писать).

Исходя из этого
15 000 000 / 5 = 3 000 000 сек
3 000 000 / 60 = 50 000 минут
50 000 / 60 = 833 часа
833 / 24 = 34 дня

Я так думаю клиент хочет ежедневно обновлять и раз в месяц его не устроит
   Maniac
 
23 - 13.11.18 - 20:26
Работает компонента. Загрузка пока идет без 1С.
Но в конце она выхлопнет ТЗ.

(18) а ты предлагаешь в цикле перебора что то в 1С создавать сразу? ага.... А если в баазе уже есть предлагаешь в цикле каждый элемент искать?)))) ню ню...


Плюс клиенту как он сказал не нужно все.
И наверняка еще что то понаадобится...
   Aleksey
 
24 - 13.11.18 - 20:27
(11) Ага ТЗ на форме. Чтобы клиент галочками выбрал что не грузить :)
   Maniac
 
25 - 13.11.18 - 20:27
ТЗ нужна. чтобы потом запросом за раз синхронизировать все с 1С. это по любому придется делать.
   Garykom
 
26 - 13.11.18 - 20:27
(22) >сможет в клиент-серверной версии писать быстрее чем 5 элементов в минуту

Может все же в секунду?
   Maniac
 
27 - 13.11.18 - 20:27
У меня ТЗ  в хранилище сразу пихается. а на форме 500 строк для настроек.
   Aleksey
 
28 - 13.11.18 - 20:28
(26) В секунду конечно, описался
   Garykom
 
29 - 13.11.18 - 20:28
(25) Запросом??? Да вы батенька извращенец.
   Maniac
 
30 - 13.11.18 - 20:29
(29) а чем? лол.... как ты собрался потом со справочником синхронизировать?
Ведь чтение это только малая часть.
   Garykom
 
31 - 13.11.18 - 20:29
Тут классическая задачка которая вынуждает делать неправильные "запросы в цикле".
   ДенисЧ
 
32 - 13.11.18 - 20:29
15 лЯмов записей и всё в тз? И этот человек будет продолжать гнуть пальцы на форуме как крутой программер?
   Aleksey
 
33 - 13.11.18 - 20:29
И это мы не говорим о доп.инфо вида
отдельный справочник единицы измерений
всякие РС (типа штрих коды, версии объектов, цены)
 
 
   Maniac
 
34 - 13.11.18 - 20:30
(32) во первых я не утверждаю что это нужно. я просто взял пока ато что есть) ради интереса!!
   Garykom
 
35 - 13.11.18 - 20:30
(30) Вынеси наружу в свою компоненту из 1С уиды (элементов справочников) и снаружи 1С и синхронизируй, а потом сразу синхронизированное заливай
   Garykom
 
36 - 13.11.18 - 20:31
(32) Да ладно, он суперкомп за пару лярдов купит и все взлетит!
   Aleksey
 
37 - 13.11.18 - 20:31
Короче не нужно всё это пизать в 1С. Для этого нужно просто настроить импорт из csv в mssql и грузить стредствами скуля. Иначе анриал
   Woldemar177
 
38 - 13.11.18 - 20:31
ТЗ это задание или таблица?
   Maniac
 
39 - 13.11.18 - 20:32
НУ все.. он даже не считался...

только что ошибка формата потока... гейм овер.
   Garykom
 
40 - 13.11.18 - 20:32
(38) Таблица значений, причем которую он собирается передать как параметр в запрос ))
   Aleksey
 
41 - 13.11.18 - 20:32
(39) 1с не в состоянии такие объемы переварить в ТЗ. Ни в памяти, ни на форме
   Garykom
 
42 - 13.11.18 - 20:33
(40)+ Тут должен быть злодейский смех "Муа-Ха-Ха"
   Fram
 
43 - 13.11.18 - 20:33
(25) ну ок.. но все 15 лямов за раз то зачем?
   Maniac
 
44 - 13.11.18 - 20:33
(41) сейчас не буду эксперементировать. остаавлю на потом.

в 1 000 000 я грузил прайсы. причем за 5 минут.

Думаю что все получится если выполнять все по 1 000 000 строк.
   Aleksey
 
45 - 13.11.18 - 20:33
Maniac Почему не загрузить этот файл в скули. А далее через в 1С через ВИД заюзать эту таблицу
   Garykom
 
46 - 13.11.18 - 20:34
(44) Плиз прочитай (9)
   МихаилМ
 
47 - 13.11.18 - 20:34
порежте файл на части и не мучайтесь.
   Maniac
 
48 - 13.11.18 - 20:35
(43) потому что я пока просто так решил попробовать.
Если кому интересно могу скинуть файл.
Пишите завтра в скайп/почту.

На сегодня все.
   Woldemar177
 
49 - 13.11.18 - 20:35
(40) А чё оформить ТЗ - задание по ГОСТу - ума не хватает? Я плохо разбираюсь в 1с что хочет ТС?
 
 Рекламное место пустует
   Maniac
 
50 - 13.11.18 - 20:35
(47) есть резалка?
   Franchiser
 
51 - 13.11.18 - 20:35
Читай через vbscript
   Aleksey
 
52 - 13.11.18 - 20:36
(44) Т.е. у тебя 1С 1 000 000 новых позиций создавала за 300 секунд? Т.е. в секунду 3000+ позиций в секунду?
ПОТРЯСАЮЩЕ (с) из анекдота
   Фрэнки
 
53 - 13.11.18 - 20:36
Поскольку Волшебник убедительно просил "птичку нашу не обижать", я издеваться над Маней не буду. Но и другим мешать не стану.
   Maniac
 
54 - 13.11.18 - 20:36
(45) я файл получил за пять минут как тему завел. и запустил тем что есть..... пипец... вы хоть читайте что я пишу.

Если есть предложения какие то дельные - пишите.
Завтра почитаю.
Если кто хочет сам попробовать могу скинуть файл.
Может и клиента передам. Мне не жалко!
   Aleksey
 
55 - 13.11.18 - 20:36
(49) Загрузить прайс поставщика с 15 млн позиций в 1С средствами 1С
   Aleksey
 
56 - 13.11.18 - 20:37
(54) чем (45) не вариант?
   Maniac
 
57 - 13.11.18 - 20:38
(55) где то в глубине души я верю что 1С должна когда то что то с этим сделать.
   Maniac
 
58 - 13.11.18 - 20:39
(45)
Вообще я когда от клиента усслышал сразу ему во всем отказал. Но попросил просто мне скинуть файл.
От балды сидеть писать бесплаатно сейчас что то. это вообще не вариант.
Я бесплатно не работаю.

Кому нужно - контакт его в скайпе.
   Garykom
 
59 - 13.11.18 - 20:41
(58) Пусть клиент ветку на форуме с описанием задачки создаст и примером прайса (можно небольшим, не проблема увеличить до нужного объема).

И коллективный разум может что и решит.
   Aleksey
 
60 - 13.11.18 - 20:41
(57) Ну если рпхост с криком out of memory не упадет она конечно за месяц его прожует
   Franchiser
 
61 - 13.11.18 - 20:41
Читай порциями в ТЗ + fso.OpenTextFile
   Maniac
 
62 - 13.11.18 - 20:42
Завтра будет на связи мой дельфист/питонщик. Может быть (если будет желание) поговорю с ними над вариантами без 1С...
И то если клиент осилит оплатить суровую сумму денег.
   Aleksey
 
63 - 13.11.18 - 20:42
(59) Ну тут всегда вспоминается анекдот про полочку. Прибить то мы её прибъем, только нафиг она тут нужна
   Franchiser
 
64 - 13.11.18 - 20:42
Или вообще без тз
   Maniac
 
65 - 13.11.18 - 20:42
Я его пока отправил в ТрейдСофт. Там специализируются на автозапчастях.
   Garykom
 
66 - 13.11.18 - 20:43
(62) Подозреваю проблема именно в правильном ТЗ, в смысле в задании.

Можно же проблему решать обходными путями.
   МихаилМ
 
67 - 13.11.18 - 20:43
(50) в СП разделить()
   Franchiser
 
68 - 13.11.18 - 20:44
(62) что значит без 1с, из 1с доступно создание объекта для чтения файл скриптом vbs
   Garykom
 
69 - 13.11.18 - 20:44
(65) Так бы сразу сказал что запчасти )) Блин давным давно есть решения для подобного, причем очень простые.
   Franchiser
 
70 - 13.11.18 - 20:45
В 7ке всегда так читал, оперативки вообще не расходуется
   Aleksey
 
71 - 13.11.18 - 20:45
(69) Самое интересно что еще лет 10 назад ТС хватсался такими решениями, как он отказался от 1С и у него скорость загрузки увеличилась на порядок.
А тут подменили его
   Garykom
 
72 - 13.11.18 - 20:46
(64) Да никакая ТЗ нафик не нужна, достаточно перегнать прайс в любую базу/вид куда 1С сможет делать запросы передавая свой список номенклатуры. И обрабатывать ответ.
   Aleksey
 
73 - 13.11.18 - 20:46
(70) Ну у меня вопрос только в записи, ибо про то что прочитать 10 000 записей в секунду - я верю. А вот то что 1С сможет эти 10 000 записи записать за туже секунду, или даже за 5 секунд - не верю.
   Garykom
 
74 - 13.11.18 - 20:47
(72)+ Требуемой конкретно сейчас для приобретения номенклатуры или наименований для подбора.
   Aleksey
 
75 - 13.11.18 - 20:48
(74) Для подбора по большому счету не нужно грузить в 1С. Пусть во внешней базе на скуле лежит. А уже после подбора, если нужно, создавать новые позиции
   МаленькийВопросик
 
76 - 13.11.18 - 20:48
(2) я бы сказал, что с таким количеством номенклатуры как-то не вяжется всего 16 гб оперативки ) по финансовым соображениям

слушай, а что за номенклатура? (всю ветку не читал)
   Aleksey
 
77 - 13.11.18 - 20:49
(76) Это на его домашнем компе. Ему клиент прислал файлик он у себя дома его грузит
   Фрэнки
 
78 - 13.11.18 - 20:49
(76) каталог автозапчастей

блин, тут в Ростове с этим каталогом периодически по кругу бродят, похоже
   Aleksey
 
79 - 13.11.18 - 20:49
А номенклатура - скорее всего автозапчасти. Это они такие прайсы любят
   МаленькийВопросик
 
80 - 13.11.18 - 20:51
(0) я бы знаешь как попробовал сделать - обработкой сначала запустил создание пустышек в 1с-ке в справочнике, а потом пошагово сделал бы update скулем - 2 поля, артикул и наименование же?

скинь файл в открытый доступ
   Asmody
 
81 - 13.11.18 - 20:53
В MS SQL есть BULK INSERT https://docs.microsoft.com/ru-ru/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-2017
На гиг данных Экспресса хватит. А уже потом его тащить в 1С. Потихоньку
   Злопчинский
 
82 - 13.11.18 - 20:54
народ вон по егаису марки в сторонних базах держат, здесь такая же история.

скорее всего клиент - лавочник какой-то. они такие "прайсы" любят. типа как записная книжка...
   shpioleg
 
83 - 13.11.18 - 20:55
Почему нельзя грузить файл порциями в свой регистр сведений через набор записей, а потом разбираться с сопоставлением?
   МаленькийВопросик
 
84 - 13.11.18 - 20:55
(81) ну если знать как формирует guid 1с - то можно и инсертом, я вот не знаю
   МаленькийВопросик
 
85 - 13.11.18 - 20:56
(81) странно, кто-то пользуется экспрессом здесь? о_О
   Asmody
 
86 - 13.11.18 - 20:56
(84) А вот в базы 1С своими кривыми руками вам лезть никто права не давал.
   МаленькийВопросик
 
87 - 13.11.18 - 20:57
(86) да, это нарушение лицензионного соглашения.... ну я так гипотетически
   Aleksey
 
88 - 13.11.18 - 20:57
(84) Причем тут 1С?
Берем отдельную базу, далее грузем в ней через BULK INSERT csv файл.
Эту базу цепляем через ВИД (внешний источник данных) к 1С. Ну и далее строй запросы, делай выборку порциями и грузи
   Asmody
 
89 - 13.11.18 - 20:58
(85) Экспресс самый дешевый из доступных вариантов.
   МаленькийВопросик
 
90 - 13.11.18 - 21:00
(89) ага, бесплатный

(88) я думаю, что заказчику не проканает никакой ВИД, ему надо открыл справочник и все как на ладони...

я вот думаю, 15 млн записей - это больше 4 гб таблица - в фаловом варианте проканает?

или я отстал, сейчас 4 гб - это не предел?
   Aleksey
 
91 - 13.11.18 - 21:01
(90) не предел
   МаленькийВопросик
 
92 - 13.11.18 - 21:02
(91) Это с какой версии?
   Garykom
 
93 - 13.11.18 - 21:03
(89) sqlite же
   Garykom
 
94 - 13.11.18 - 21:03
(90) >заказчику не проканает никакой ВИД, ему надо открыл справочник и все как на ладони

Кто/что мешает показывать этот справочник порциям на форме?
   МаленькийВопросик
 
95 - 13.11.18 - 21:05
(94) кстати, sqlite30 можно подключить как ВИД к 1с? пробовал кто-то?
   Aleksey
 
96 - 13.11.18 - 21:05
(92) 8.3. чего то там
   Cyberhawk
 
97 - 13.11.18 - 21:06
Сколько платят за решение вопроса?
   Смотрящий
 
98 - 13.11.18 - 21:12
(85) очення великая весчь. однака ...
   Aleksey
 
99 - 13.11.18 - 21:13
(92)
Размер каждого из вышеперечисленных внутренних файлов не может превышать:

● для формата версии 8.2.14 – 4 Гбайта.

● для формата версии 8.3.8 с размером страницы 4096 байт – 4 Гбайта.

● для формата версии 8.3.8 с размером страницы 8192, 16384, 32768 и 65536 байт – 6 Гбайт.
(с) https://its.1c.ru/db/v838doc/bookmark/dev/TI000001287
   Asmody
 
100 - 13.11.18 - 21:13
(93) sqlite - in-process DB. По сути не сильно будет отличаться от последовательного чтения исходного файла. (а так то на csv-файл можно ADO натравить). И как-то там в sqlite с балк-инсертом большой вопрос. А mssql на загрузке больших файлов собаку съели.
  1  2  3  4  5   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует