|
Обмен по OLE 7.7 -> 8.2 Ускорение. | ☑ | ||
---|---|---|---|---|
0
ProProg
20.09.12
✎
11:48
|
Какие есть варианты чтобы загрузить 300 000 номенклатуры быстро.
ТекстЗапроса = " |Обрабатывать НеПомеченныеНаУдаление; |ЭлементСсылка = Справочник.Номенклатура.ТекущийЭлемент; |Поле_Наименование = Справочник.Номенклатура.Наименование; |Поле_Код = Справочник.Номенклатура.Код; |Поле_Артикул = Справочник.Номенклатура.Артикул;"; Если ПереноситьИерархию Тогда ТекстЗапроса = ТекстЗапроса + " |Поле_Родитель5 = Справочник.Номенклатура.Родитель.Наименование; |Поле_Родитель4 = Справочник.Номенклатура.Родитель.Родитель.Наименование; |Поле_Родитель3 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Наименование; |Поле_Родитель2 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Родитель.Наименование; |Поле_Родитель1 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование;"; КонецЕсли; Если ЕстьРеквизитПроизводитель Тогда ТекстЗапроса = ТекстЗапроса + " |Поле_Производитель = Справочник.Номенклатура.Производитель.Наименование;"; КонецЕсли; ТекстЗапроса = ТекстЗапроса + " |Группировка ЭлементСсылка БЕЗ ГРУПП; |"; //Запрос = БазаОле.EvalExpr("СоздатьОбъект(""Запрос"")"); Запрос = БазаОле.CreateObject("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Сообщить("Запрос не выполнен!"); Возврат; КонецЕсли; ТаблицаЗапроса = БазаОле.CreateObject("ТаблицаЗначений"); Запрос.Выгрузить(ТаблицаЗапроса,1,0); ТаблицаЗапроса.ВыбратьСтроки(); Пока ТаблицаЗапроса.ПолучитьСтроку() = 1 Цикл ОбработкаПрерыванияПользователя(); НоваяСтрока = Объект.ТабличнаяЧасть.Добавить(); НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код; НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; Если ПереноситьИерархию Тогда НоваяСтрока.Поле_Родитель1 = ТаблицаЗапроса.Поле_Родитель1; НоваяСтрока.Поле_Родитель2 = ТаблицаЗапроса.Поле_Родитель2; НоваяСтрока.Поле_Родитель3 = ТаблицаЗапроса.Поле_Родитель3; НоваяСтрока.Поле_Родитель4 = ТаблицаЗапроса.Поле_Родитель4; НоваяСтрока.Поле_Родитель5 = ТаблицаЗапроса.Поле_Родитель5; КонецЕсли; КонецЦикла; |
|||
1
ProProg
20.09.12
✎
11:49
|
Короче говоря запих в таблицу восьмерки занимает писец времени.
|
|||
2
ProProg
20.09.12
✎
11:59
|
Понятно. Вариантов нет.
|
|||
3
zladenuw
20.09.12
✎
12:01
|
почему
|
|||
4
zladenuw
20.09.12
✎
12:01
|
прямые запросы
|
|||
5
zladenuw
20.09.12
✎
12:02
|
готовишь тз и потом с не работа в 8
|
|||
6
ProProg
20.09.12
✎
12:04
|
(5) так не в запросе дело. запрос нормально итак идет.
90 процентов занимает выборка и заполнение ТЗ в восьмерке. |
|||
7
ProProg
20.09.12
✎
12:04
|
ТаблицаЗапроса.ВыбратьСтроки();
Пока ТаблицаЗапроса.ПолучитьСтроку() = 1 Цикл ОбработкаПрерыванияПользователя(); НоваяСтрока = Объект.ТабличнаяЧасть.Добавить(); НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код; НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; Если ПереноситьИерархию Тогда НоваяСтрока.Поле_Родитель1 = ТаблицаЗапроса.Поле_Родитель1; НоваяСтрока.Поле_Родитель2 = ТаблицаЗапроса.Поле_Родитель2; НоваяСтрока.Поле_Родитель3 = ТаблицаЗапроса.Поле_Родитель3; НоваяСтрока.Поле_Родитель4 = ТаблицаЗапроса.Поле_Родитель4; НоваяСтрока.Поле_Родитель5 = ТаблицаЗапроса.Поле_Родитель5; КонецЕсли; КонецЦикла; |
|||
8
ProProg
20.09.12
✎
12:05
|
Таблица - объект ОЛЕ.
Получение полей этой таблицы (все строковые) и заполнение тз в восьмерке 90 процентов. не пойму почему. |
|||
9
ProProg
20.09.12
✎
12:08
|
Может я неправильно запрос написал. не надо вытягивать наименования, а ссылки.
а в переборе получение наименований? |
|||
10
ProProg
20.09.12
✎
12:09
|
а то получается в тз запроса все колонки строковые - что раздувает ТЗ.
а потом и тормоз по ним. Хотя я пробовал прямым перебором. Тоже не айс. СправV7 = БазаОле.CreateObject("Справочник.Номенклатура"); СправV7.ВыбратьЭлементы(); Пока СправV7.ПолучитьЭлемент() = 1 Цикл Если СправV7.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; ОбработкаПрерыванияПользователя(); НоваяСтрока = Объект.ТабличнаяЧасть.Добавить(); НоваяСтрока.Поле_Код = СправV7.Код; НоваяСтрока.Поле_Артикул = СправV7.Артикул; НоваяСтрока.Поле_Наименование = СправV7.Наименование; Если ЕстьРеквизитПроизводитель Тогда НоваяСтрока.Поле_Производитель = СправV7.Производитель.Наименование; КонецЕсли; КонецЦикла; |
|||
11
zladenuw
20.09.12
✎
12:10
|
сейчас сколько по времени загрузка идет ?
|
|||
12
ProProg
20.09.12
✎
12:11
|
полчаса.
|
|||
13
VladZ
20.09.12
✎
12:12
|
|Поле_Родитель5 = Справочник.Номенклатура.Родитель.Наименование;
|Поле_Родитель4 = Справочник.Номенклатура.Родитель.Родитель.Наименование; |Поле_Родитель3 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Наименование; |Поле_Родитель2 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Родитель.Наименование; |Поле_Родитель1 = Справочник.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель.Наименование;"; - Красава!!! |
|||
14
ProProg
20.09.12
✎
12:12
|
не создание. заполнение данных.
Я не делал создание номенклатуры в момент считывания. Сначала заполняю в восьмерке данные. потом по ним создавать буду. Еслди например (10) без производителя - то 5 минут заполнение. |
|||
15
ProProg
20.09.12
✎
12:12
|
(13) сейчас я без иерархии считываю.
|
|||
16
ProProg
20.09.12
✎
12:13
|
поэтому условие и поставил по галке. без иерархии 30 минут, с ней еще на столько же прибавляется.
|
|||
17
VladZ
20.09.12
✎
12:13
|
Это случайно не та обработка, которую ты "быстренько накатал, чтобы универсально сливать инфу с семерки"?
|
|||
18
ProProg
20.09.12
✎
12:13
|
Короче говоря каждая из этих строк в отладчике занимает 15 процентов
НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код; НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; |
|||
19
ptiz
20.09.12
✎
12:14
|
Время занимает не "запих в 8ку", а получение данных из ОЛЕ-объекта 7.7
|
|||
20
VladZ
20.09.12
✎
12:14
|
Обрати уже свой взор на базы данных. На MS SQL, к примеру...
|
|||
21
ProProg
20.09.12
✎
12:14
|
(17) она) теперь страдаю над оптимизацией. покоя не дает что час надо ждать. хоть даже разовая)
Принципиально хочется ускорить. |
|||
22
ProProg
20.09.12
✎
12:15
|
(19) ок. пусть так. Вопрос почему из (18) получение каждой строки - 15 процентов выполнения всей обработки.
|
|||
23
DrShad
20.09.12
✎
12:16
|
v8: Загрузка справочников из 7.7 в УТ11 огрромного справочника номенклатуры.
ты же написал за 15 минут!? |
|||
24
VladZ
20.09.12
✎
12:16
|
(21) Чуял я, что фигню накатаешь... Так и вышло... Удачи в оптимизации! :)
|
|||
25
ptiz
20.09.12
✎
12:17
|
(22) Потому что ОЛЕ.
Сделай не НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; а просто переменную Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; и замерь, результат будет такой же |
|||
26
zladenuw
20.09.12
✎
12:17
|
(22) так она ОЛе. по этому так долго
|
|||
27
zladenuw
20.09.12
✎
12:18
|
а если прямым запросом и потом всю эту таблицу в дбф и прочитать. так быстрее будет ? вопрос не к ТС
|
|||
28
ProProg
20.09.12
✎
12:18
|
Думаю может в текст по оле загнать. в восьмерке получить этот текстовый файл. и все дела.
|
|||
29
VladZ
20.09.12
✎
12:19
|
Давай так: скинь мне на мыло концепт твоей чудо-проги. Т.е. что она должна делать, какие требования. А я тебе скину, как я это вижу.
|
|||
30
zladenuw
20.09.12
✎
12:19
|
(29) за бесплатно ? :)
|
|||
31
Птах
20.09.12
✎
12:19
|
(13) Ахахахах xD
|
|||
32
ProProg
20.09.12
✎
12:19
|
(27) а есть у восьмерки возможность сделать прямой запрос в семерке без компонент?
|
|||
33
ProProg
20.09.12
✎
12:20
|
(29) эту обработку загрузки? да нефиг делать
|
|||
34
ProProg
20.09.12
✎
12:21
|
Вот кстати выборка таблицы ОЛЕ - закомментировал заполнение. вообще мгновенно. 300 000 строк за пару минут обошла.
ТаблицаЗапроса.ВыбратьСтроки(); Пока ТаблицаЗапроса.ПолучитьСтроку() = 1 Цикл ОбработкаПрерыванияПользователя(); НоваяСтрока = Объект.ТабличнаяЧасть.Добавить(); //НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код; //НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; //НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; //НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; // //Если ПереноситьИерархию Тогда // НоваяСтрока.Поле_Родитель1 = ТаблицаЗапроса.Поле_Родитель1; // НоваяСтрока.Поле_Родитель2 = ТаблицаЗапроса.Поле_Родитель2; // НоваяСтрока.Поле_Родитель3 = ТаблицаЗапроса.Поле_Родитель3; // НоваяСтрока.Поле_Родитель4 = ТаблицаЗапроса.Поле_Родитель4; // НоваяСтрока.Поле_Родитель5 = ТаблицаЗапроса.Поле_Родитель5; //КонецЕсли; КонецЦикла; |
|||
35
VladZ
20.09.12
✎
12:23
|
(33) Не... Обработка мне не нужна. Я тебе таких за день штук 10 наклепаю...
Ты мне расскажи вот что: что за конфа, в которую ты загружаешь данные. Для чего она нужна? |
|||
36
ProProg
20.09.12
✎
12:25
|
(35) причем тут конфа. тема ее не касается.
|
|||
37
VladZ
20.09.12
✎
12:25
|
(36) Смотри на проблему шире.
|
|||
38
VladZ
20.09.12
✎
12:28
|
(30) Некоторые советы и бесплатно могу дать.
Если человек дорос до определенного уровня - сделает сам. А если не дорос - тут и бесплатный совет не поможет. |
|||
39
ProProg
20.09.12
✎
12:34
|
У меня на сайте все есть. смысл тут обсуждать?
|
|||
40
Eugene555
20.09.12
✎
12:36
|
(0) Ты сделал из 7-ки заполнение данных в 8-ки, а попробуй из 8-ки по ОЛЕ получить данные из 7-ки и заполнять ТЧ
|
|||
41
ProProg
20.09.12
✎
12:36
|
(40) вообще то из восьмерки...
|
|||
42
ProProg
20.09.12
✎
12:37
|
проблема в получении значений таблицы....
|
|||
43
VladZ
20.09.12
✎
12:40
|
Это для анализа прайс-листов?
|
|||
44
ProProg
20.09.12
✎
12:40
|
||||
45
ProProg
20.09.12
✎
12:41
|
Это я отладчик прервал на 200 000.
|
|||
46
Eugene555
20.09.12
✎
12:47
|
(41) Точняк.
Попробуй перед выгрузкой в оле пустых производителей заполнить "" |
|||
47
ProProg
20.09.12
✎
12:49
|
(46) пустых нету. все заполнено. их всего 1500 штук. я их отдельно еще в таблицу загружаю. чтобы потом по всей номенклатуре не собирать.
|
|||
48
ProProg
20.09.12
✎
12:50
|
вернее отдельно их гружу чтобы сразу создать перед номенклатурой. иначе будет писец при создании 300 000 еще их искать.
|
|||
49
ProProg
20.09.12
✎
12:50
|
ладно короче говоря наверное забить и как есть. разовый перенос.
|
|||
50
zladenuw
20.09.12
✎
12:57
|
а если в запросе добавить в одну переменную с разделителями
|ЭлементСсылка = Справочник.Номенклатура.ТекущийЭлемент; |Поле_Наименование = Справочник.Номенклатура.Наименование; |Поле_Код = Справочник.Номенклатура.Код; |Поле_Артикул = Справочник.Номенклатура.Артикул;"; а уже при добавление в тз форматировать. быстрее будет ? |
|||
51
ProProg
20.09.12
✎
13:05
|
Сейас попробую получение через EvalExpr
|
|||
52
ProProg
20.09.12
✎
13:19
|
Кстати а что если заюзать внешние источники данных. Кто нить пробовал?
|
|||
53
ProProg
20.09.12
✎
13:20
|
там только скл....
|
|||
54
zladenuw
20.09.12
✎
13:24
|
нет дбф можно
|
|||
55
Fynjy
20.09.12
✎
13:26
|
Мань сколько платишь? Загружу 300 000 за менее минуты ...
|
|||
56
DrShad
20.09.12
✎
13:26
|
любой DNS можно
|
|||
57
zladenuw
20.09.12
✎
13:30
|
(55) а куда копать хоть. вернее что использовать. намек.
|
|||
58
Широкий
20.09.12
✎
13:30
|
||||
59
Fynjy
20.09.12
✎
13:31
|
(57) В ДНК
|
|||
60
zladenuw
20.09.12
✎
13:32
|
(60) ха ха.
я просил как. а не где ошибка |
|||
61
unknown181538
20.09.12
✎
13:34
|
ОЛЕ-тормоз. Тупой ДБФ куда производительнее.
|
|||
62
Fynjy
20.09.12
✎
13:41
|
(60) Копать? У товарища только поле в новой строке 94 сек заполняется = 100% ДНК. С учетом супер оптимизации 10 000 элементов стандартными средствами будет писаться в 1с в районе минуты в файловую базу - намек понят?
|
|||
63
zladenuw
20.09.12
✎
13:45
|
(50) а если объединить все в одну строку. но я так понимаю есть оптимальней выход. то есть тут уже нужно обходится механизмами не 1с.
я вот думаю что надо прямой запрос с получением всего что нам надо и записью в дбф,хмл,тхт а потом загрузка. так быстрее ? |
|||
64
zladenuw
20.09.12
✎
13:46
|
у меня интерес к тебе к быстро загрузить н+00000 элементов.
|
|||
65
ProProg
20.09.12
✎
13:49
|
(62) ну и ?
|
|||
66
Serginio1
20.09.12
✎
13:49
|
(0) Не читал полностью, но ты лучше из семерки подключайся к 8 через COMConnector и поймешь разницу между внутренним и внешним сервером автоматизации
|
|||
67
ProProg
20.09.12
✎
13:50
|
(62) 200000 / 94 = 2170 в секунду.
|
|||
68
zladenuw
20.09.12
✎
13:51
|
(67) 1 поля. у тебя 4
|
|||
69
ProProg
20.09.12
✎
13:56
|
(68) я и спрашиваю что дальше?
Если бы речь шла о километре кода. и разюираться надо было что оптимизировать то что можно оптимизировать в ТаблицаЗапроса.Поле_Код; ???? |
|||
70
zladenuw
20.09.12
✎
13:58
|
в запросе получи строку с видом |Поле = Справочник.Номенклатура.Наименование"+;+"+Справочник.Номенклатура.Код;Справочник.Номенклатура.Артикул;";
ты получишь 1 вызов к объекту оле. и это будет быстрее в 4 раза. или я не прав ? |
|||
71
zladenuw
20.09.12
✎
14:00
|
давай ссылку на базу и за сколько нужно сделать обмен. только в разумных рамках.
мой ценник тот же |
|||
72
ProProg
20.09.12
✎
14:09
|
(70) без запроса выборка получает сразу 1 объект. Я жу еписал.
И заполнение происходит за 5 минут. Как только добавляется реквизит Производитель и получение наименования. выборка превращается в теже 30 минут. |
|||
73
zladenuw
20.09.12
✎
14:12
|
а в коме не пробовал создать прямой запрос ? именно в базе оле. я то не. но так можно быстрее получить запрос.
|
|||
74
ProProg
20.09.12
✎
14:14
|
(73) нет. я же опять таки писал вверху почему.
запрос не тормозит. выполняется за минуту. выгружает все в ТЗ. |
|||
75
ProProg
20.09.12
✎
14:15
|
короче говоря я пришел к выводу что проблемы видимо и нет. На таком объеме скорее всего это и есть реальный объем времени.
|
|||
76
zladenuw
20.09.12
✎
14:15
|
ну ты скрин приводишь. где каждый вызов кома занимает 94 секунды. ты тупишь или тупой
|
|||
77
ProProg
20.09.12
✎
14:16
|
на КД 300 000 вообще бы не выгрузилось. Часа бы три думало потом бы оборвало с недостатком памяти. И файл был бы в гиг обмена.
|
|||
78
zladenuw
20.09.12
✎
14:16
|
(75) нет. чтение таблиц прямым запрос мение 1 секунды запись в тз до 5 секунд. при этом что спр 100к
|
|||
79
zladenuw
20.09.12
✎
14:16
|
так что ты тупишь
|
|||
80
ProProg
20.09.12
✎
14:16
|
(76) ты чо дурак? посмотри количество вызовов. 174 000 раз.
|
|||
81
Serginio1
20.09.12
✎
14:18
|
(0) А в чем проблема использовать 8 ку в качестве сервера?
|
|||
82
ProProg
20.09.12
✎
14:18
|
короче я устал. уже начались придумки...уже никто ничего не читает.
|
|||
83
zladenuw
20.09.12
✎
14:20
|
(77) а сделать выборку по группам или выгрузку до н элементов. так что не беги перед паровозом. что тогда гнал бучу. за обработку. обещал денег, а потом. я монстр, я сам сделал. а в итоге болт. а люди тут обидчивые. так что критику воспринимай подобающе. а то будещ вопиять, не кто, не поможет
|
|||
84
ЧеловекДуши
20.09.12
✎
14:21
|
Быстро, через файл :)
|
|||
85
ProProg
20.09.12
✎
14:21
|
Один хрен потом создавать номенклатуру будет 300 тысяч) два часа) так что 30 минут заполнения как то уже и не очень много кажется. Вот час уже создание делается.
|
|||
86
zladenuw
20.09.12
✎
14:22
|
если человеку надо ком. не знаю что он там делает. но у меня документ с 8 в 7 создает за 1 сек. с притом что проверка или это новый или изменений. не хочу гадить тс
|
|||
87
zladenuw
20.09.12
✎
14:23
|
(86) с учетом всех полей документа.
|
|||
88
ProProg
20.09.12
✎
14:24
|
(83) вопрос стоял в плане оптимизации. принципиальный. хотелось ускорить до 5-10 минут.
Против 30. КД как я писал уме5рло бы на таких объемах сразу. Больше 50 тыщ объектов любой обмен КД умирает. |
|||
89
ProProg
20.09.12
✎
14:25
|
(86) да если гооврить о 50 объектах то чо тут говорить))
|
|||
90
ProProg
20.09.12
✎
14:25
|
в секунду загрузка обрабатывает 600 объектов в среднем.
|
|||
91
ProProg
20.09.12
✎
14:26
|
КД вообще 100 объектов пару секнуд будет думать. никогда не замечали?))
|
|||
92
zladenuw
20.09.12
✎
14:27
|
совет. в обработке в 8. запускаем 1с7 с обработкой с прямым запрос и выгрузкой дбф,хмл,тхт. а потом делай. что тебе надо в 8.
вот ты снова критикуешь то что ты не используешь. да проще использовать кд при спр в 100к если документ 300к. так что молчи. и думай о своем. |
|||
93
ProProg
20.09.12
✎
14:27
|
Все готово. загрузил и создал всю номенклатуру. 1-20 часа общий итог. 30 минут получение и заполнение в восьмерке таблицы, 50 минут создание номенклатуры.
|
|||
94
ProProg
20.09.12
✎
14:28
|
ща буду пробовать прайсы по 80 тыщ загружать)
|
|||
95
zladenuw
20.09.12
✎
14:28
|
точно добавлю веб кошелек и за услугу буду просить 1$. вернее за будущие спасибо :). і
|
|||
96
ProProg
20.09.12
✎
14:29
|
(92) я уже пять раз написал. обработка пишется для десятков клиентов. я не буду всем им бегать компоненты включать.
и не в запросе дело! уже десятый раз пишу. |
|||
97
zladenuw
20.09.12
✎
14:30
|
ну ты осел. в обработке пропиши. регистрацию и копированию. леньтяй!
|
|||
98
zladenuw
20.09.12
✎
14:30
|
и ты все равно не Слышишь. что я пишу. У ТЕБЯ В ИТОГЕ ДБФ ТАБЛИЦА С ТЕМ ЧТО ТЕБЕ НАДО
|
|||
99
zladenuw
20.09.12
✎
14:31
|
все равно что твоя ТЗ.... а .... пойду пиво попью.а то ты злой
|
|||
100
Serginio1
20.09.12
✎
14:31
|
(88) Ну если напрямую писать через SQL то количество времени уверяю тебя будут просто смешными. у меня миллионные прайсы грузятся ежедневно десятками грузятся
|
|||
101
zladenuw
20.09.12
✎
14:32
|
(100) не. тут походу дбф. так что МАги ваши советы ?
|
|||
102
zladenuw
20.09.12
✎
14:32
|
(100) тут бдф. вопрос к МАСТЕРАМ, как быстрее ?
|
|||
103
zladenuw
20.09.12
✎
14:33
|
сори. или инет или сервер :(.
|
|||
104
ProProg
20.09.12
✎
14:35
|
(100) у если у клиентов ни у кого нет скл?))) Может хватит варианты предлагать со скл и прямыми запросами.
База семерка файловая. Запрос делается и выгружается в ТЗ 2 минуты. не вижу СМЫСЛА делать прямой запрос по справочнику. |
|||
105
zladenuw
20.09.12
✎
14:36
|
(104) у тебя получение тупит в 94 .....
|
|||
106
zladenuw
20.09.12
✎
14:36
|
я тебе про создание дбф и его чтение
а ты мне опять про сопли, я про матрешки. ну епт |
|||
107
ProProg
20.09.12
✎
14:37
|
(98) я знаю. временная. в кеше. Однако и выборка ее занимает фигню делов)
Пистец товарищи. Уже всю тему обсуждаем что тормроз это получение значний из таблицы. Я делал тест на выборке без получения значений. А вы по прежнему пытаетесь сказать что впроблема в прямых запросах. ..... |
|||
108
Serginio1
20.09.12
✎
14:39
|
(107) У тебя проблема вызова метода или свойства через маршалинг внешнего сервера. А вот ты других слушать не хочешь. Это твои проблемы.
|
|||
109
VladZ
20.09.12
✎
14:39
|
(107) "это получение значний из таблицы". Ты хотел сказать "заполнение табличной части"?
|
|||
110
ProProg
20.09.12
✎
14:40
|
(108) какого метода? где ты метод увидел?
|
|||
111
ProProg
20.09.12
✎
14:40
|
НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код;
НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; о каких методах идет речь? |
|||
112
Fynjy
20.09.12
✎
14:41
|
(100) Ну вот зачем? Если Маня узнает что такое инсерт и апдейт он же по пол ляма будет в месяц заколачивать ...
|
|||
113
Vakhrin
20.09.12
✎
14:42
|
Вариант без прямой записи в восьмерку:
1. На таблицы семерки навешиваем вьюшки с нормальными именами полей (не обязательно, в противном случае просто разбираем структуру самостоятельно по файлу) 2. В восьмерке рисуем коннект к внешним данным 3. Грузим по запросу к 2 |
|||
114
ProProg
20.09.12
✎
14:42
|
кто нить из вас с ПОЛНОЙ уверенностью может сказать что файл ДБФ с 300 000 строк будет считываться пару минут.
|
|||
115
zladenuw
20.09.12
✎
14:43
|
(111) сделай не 4 вызова ТаблицаЗапроса, а 1 и получи 4 параметра. это уже быстрее
|
|||
116
ProProg
20.09.12
✎
14:43
|
(112) про какой апдейт идет речь. если идет примиивное получение запроса, выгрузка в примитивную таблицы с примитивными же данными.
|
|||
117
Serginio1
20.09.12
✎
14:43
|
Книга знаний: v8: Охота на Com-ов
(110) Ну если бы ты был в теме, то свойства и методы в COM вызваются через два метода DispGetIDsOfNames и Invoke |
|||
118
VladZ
20.09.12
✎
14:43
|
(114) Просто считыватья или при этом еще и в базу будет писаться инфа?
|
|||
119
ProProg
20.09.12
✎
14:44
|
(115) каким это образом возможно?
|
|||
120
Serginio1
20.09.12
✎
14:44
|
Через два метода интерфейса IDispatch GetIDsOfNames и Invoke
|
|||
121
ProProg
20.09.12
✎
14:46
|
(118) просто считывание.
|
|||
122
Serginio1
20.09.12
✎
14:46
|
(114) Считываться значительно быстрее.
|
|||
123
zladenuw
20.09.12
✎
14:46
|
(119) а что в запросе нельзя получить любое поле ? ужас
|
|||
124
ProProg
20.09.12
✎
14:46
|
то что будет потом уже ОЛЕ не касается.
Идет заполнение данных в ИЗ восьмерки. а сохздание уже никаким боком к оле не относится. |
|||
125
ProProg
20.09.12
✎
14:47
|
тьфу. блин.
|
|||
126
ProProg
20.09.12
✎
14:47
|
(123) какой запрос? епать. таблица значений. ты говоришь сделай вызов один раз. бред какой то.
|
|||
127
Злопчинский
20.09.12
✎
14:49
|
(100) на каждый прайс своя загрузка или мегауниверсальная мегаобработка для всех прайсов?
|
|||
128
Serginio1
20.09.12
✎
14:50
|
(127) По параметрам прайсов генерится свой запрос
|
|||
129
zladenuw
20.09.12
✎
14:50
|
вот ты тут что получаешь и откуда..
НоваяСтрока.Поле_Код = ТаблицаЗапроса.Поле_Код; НоваяСтрока.Поле_Артикул = ТаблицаЗапроса.Поле_Артикул; НоваяСтрока.Поле_Наименование = ТаблицаЗапроса.Поле_Наименование; НоваяСтрока.Поле_Производитель = ТаблицаЗапроса.Поле_Производитель; а теперь подумай о 50 постах. |
|||
130
ProProg
20.09.12
✎
14:50
|
(127) универсальная. настраиваемая.
|
|||
131
zladenuw
20.09.12
✎
14:51
|
(129) и у тебя пример замера в 44. так что. а не буду грубым. промолчку
|
|||
132
Злопчинский
20.09.12
✎
14:51
|
(114) Женя, я блин удивлен...
прайс 15000 строк читается из ДБФа нескольо секунд.. 300 тыс будет чуть поболее... |
|||
133
ProProg
20.09.12
✎
14:51
|
(129) из таблицы (которая является объектом ОЛЕ) получаю значения.
|
|||
134
ProProg
20.09.12
✎
14:53
|
(132) ситуация. чел взял конфу. хоте перетянть свой справочник. я не буду ему писать загрузки и не буду говорить ему делать прайсы. никаких компонент. есть обработка которая подключется к любой семерке и вытягивает оттуда номенклатуру в УТ11. челу надо нажать две кнопки.
|
|||
135
Злопчинский
20.09.12
✎
14:53
|
(130) как примерно будет настроено типа такое
если в столбце значение формата "DVD x 9" - то получить надо "9" а если другого формата - то пропустить, за исключением формата типа "3MP3" - отсюда получить "3"... - т.е. количество дисков в комплекте..? |
|||
136
Злопчинский
20.09.12
✎
14:55
|
(134) а при чем здесь ЧТЕНИЕ ИЗ ДБФ..? все тормоза в получении значений через ОЛЕ - это жутко тормозной вариант.
|
|||
137
zladenuw
20.09.12
✎
14:55
|
ну так напиши свой инстал. где все проставит и доставит. а в итоге запуск 1 обработки и о чудо все в 8.
|
|||
138
ProProg
20.09.12
✎
14:55
|
(135) не грузи меня сейчас. это к теме не относится.
|
|||
139
VladZ
20.09.12
✎
14:55
|
(121) Я к тому, что в (111) у тебя не просто считывание... А еще и запись (заполнение табличной части).
|
|||
140
ProProg
20.09.12
✎
14:56
|
(136)я уже написал 40 постов назад. что считывание в восьмерку заняло 30 минут. СОЗДАНИЕ в восьмерке! Уже из собственной таблицы - 50 минут.
|
|||
141
Serginio1
20.09.12
✎
14:56
|
(135) Для таких приходится отдельно писать предварительную обработку. Но это обычно мелкие прайсы причем в экселе. Большинство работают по определенным стандартам.
|
|||
142
Злопчинский
20.09.12
✎
14:57
|
(134) выполни в контексте ОЛЕ слив справоячника в ДБФ, в 8-ке прочитай ДБФ.
|
|||
143
ProProg
20.09.12
✎
14:57
|
итого час 20 на 300 тысяч номенклатуры. В принципе результат офигенный. учитывая нажатие двух кнопок и все.
КД - умерло бы сразу. Подключение компонент и прочей уеты - мне больше выйдет чем вся эта долбанная загрузка. |
|||
144
zladenuw
20.09.12
✎
14:58
|
(143) опять ты про то чего не знаешь. не фуфли тут
|
|||
145
Злопчинский
20.09.12
✎
14:58
|
(140) женя, ты блин определись, что тебе надо. чтение из ДБФ или чтение из ДБФ через прокладку ОЛЕ. основное время сожрет получение занченйи через прокладку ОЛЕ.
|
|||
146
Serginio1
20.09.12
✎
14:58
|
(136) Не через оле, а через внешний сервер ОЛЕ. Внктренний сервер будет работать быстро. Хотя вызов в 7 ке своих методов быстрее.
|
|||
147
ProProg
20.09.12
✎
14:59
|
(135) не парься. в определенных спецификах рынка (востребованных все проще). В автозапчастях - артикул и производитель. и все звиздец. наименования ваще нах не нужны.
|
|||
148
Злопчинский
20.09.12
✎
15:00
|
(146) угу.
женя хочет универсальный инструмент который работает быстро и эффективно. такого не бывает... |
|||
149
ProProg
20.09.12
✎
15:01
|
(145) ладно попробую как нить сделать через файл. если интерес будет.
|
|||
150
Злопчинский
20.09.12
✎
15:01
|
(147) угу, как и предполагалось... херня хзерней грубо говоря. мне например, практически на каждый прайс по дискам приходится писать свой "плугин" разбора. универсальность - не канает.
|
|||
151
zladenuw
20.09.12
✎
15:01
|
(147) пиз.дите сер. приедет к вам проверка. вот тогда будете думать по другому.
|
|||
152
Serginio1
20.09.12
✎
15:01
|
(141) Ну и обработка для таких прайсов тоже универсальная. Просто прописывается код обработки для каждого прайса и через выполнить обрабатывается каждая строка.
|
|||
153
ProProg
20.09.12
✎
15:01
|
пока что создание номенклатуры занимает 2/3 всей обработки, так что получение на этом фоне незначительно много занимает.
На фоне других вариантов типа КД это самый быстрый и действенный вариант получился. |
|||
154
zladenuw
20.09.12
✎
15:02
|
(151) антимонопольный комитет. за каждую букву даст под зад
|
|||
155
ProProg
20.09.12
✎
15:02
|
(150) мелкие донастройки фигня. как артикул разобрать и т.п. и т.д. я уже научился. фирма 10 лет на рынке.
|
|||
156
Злопчинский
20.09.12
✎
15:02
|
(149) сделай в 8-ке текст семерошной обработки по сливу справочника в ДБФ. запусти эту обработку в контексте семерошного ОЛЕ. полученный ДБФ прочитай в 8-ке. будет просто акуеть как быстро. это я как неспец говорю.
|
|||
157
Serginio1
20.09.12
✎
15:03
|
(150) А что там много писанины для обработки строки? Эта строка записывается в формат прайса.
|
|||
158
ProProg
20.09.12
✎
15:03
|
через номенклатуру поставщиков (справочник) тоже ничего сложного...
поиск соответствий (отложенный) тоже сделан. загрузка когда номенклатуры нет - тоже. |
|||
159
zladenuw
20.09.12
✎
15:04
|
(156) так кричал об этом. не ТС до ж.... дальше не буду серить в его огород
|
|||
160
ProProg
20.09.12
✎
15:05
|
(156) я сильно НЕ уверен что это не займет в итоге ВСЕ теже 30 минут.
Если бы речь шла о 2-3 часах имел бы смысл искать такие пути. Когда 30 минут. что то мне подсказывает что 5 минут роли не сиграют. |
|||
161
Злопчинский
20.09.12
✎
15:05
|
(155) угу.. вот эти мелкие донастройки - полное УГ. загрузка прайса - 95% универсальный код. оставшиеся 5% - специфика каждого прайса, которая не поддается унификации. я - не смог унифицировать... самый путь который выбрал - систем а плугинов. в ключевых точках - вызовы плугинов с возвратом нужного. плугины - практически под каждый прайс отдельные. свести к чему-то единообразному - не удается...
|
|||
162
Злопчинский
20.09.12
✎
15:06
|
(160) такой слив-чтение суммароно займут минут 10, не больше, а если это на нормальном компе - то воопще пипец будет
|
|||
163
ProProg
20.09.12
✎
15:06
|
(161) хорош уже) у тебя один опыт у меня другой. может я настока гениален что нашел те варианты которые ты не видел))))
|
|||
164
ProProg
20.09.12
✎
15:07
|
у меня больше 500 клиентов одной обработки. спорить будем кто больше повидал?
|
|||
165
Злопчинский
20.09.12
✎
15:07
|
я ж те грю - лет 6-7 назад ПОЛНАЯ ЗАГРУЗКА прайса на 15000 из ДБФа занимала секунд 20.
|
|||
166
ProProg
20.09.12
✎
15:08
|
(162) попробую. как бы не хотелось вспоминать семерку...
|
|||
167
Serginio1
20.09.12
✎
15:08
|
(163) Хе хе. Гений1С отдыхает.
|
|||
168
Злопчинский
20.09.12
✎
15:08
|
(164) мне спорить не надо ;-) я тебе 3-4 прайса выдам и посмотрю как ты их одной и той же обработкой загрузишь без допрограммирования. ;-)
|
|||
169
ProProg
20.09.12
✎
15:09
|
Есть еще понятие целесообразности. Я думал что я что то пропустил в ОЛЕ.
Выгрузка-загрузка такого справочника . дело разовое. выполняемое один раз. И то это у меня столько) У других и 30 тысяч не будет. Производителей 1500 штук за пару минут загрузил и создал. |
|||
170
Злопчинский
20.09.12
✎
15:10
|
структурированные прайсы грузит - хрен ли... а когда прайс типа вручную в экселе написан - тут начинается веселуха.. ;-)
|
|||
171
Злопчинский
20.09.12
✎
15:10
|
(169) согласен. если это разовые работы то бороться особо за скорость не надо...
|
|||
172
ProProg
20.09.12
✎
15:10
|
(168) давай) жду в скайпе.
|
|||
173
Злопчинский
20.09.12
✎
15:11
|
(172) ща попробую найти прасики...
|
|||
174
zladenuw
20.09.12
✎
15:16
|
и мне
|
|||
175
ASU_Diamond
20.09.12
✎
15:16
|
(88) проверял?
|
|||
176
ProProg
20.09.12
✎
15:18
|
(175) Каждый раз КД дохнет когда я из семерки в торговлю данные выгружаю за месяц) если за два то где то на 50000 объектах (часа три) вывалит нехватку памяти и досвидос.
Номенклатуру тоже пытался выгрузить всю в торговлю - тоже самое) даже не увидев строку сколько чего выгрузилось.)) |
|||
177
ProProg
20.09.12
✎
15:18
|
причем все порезано в правилах обмена по самое не балуйся.
|
|||
178
Aprobator
20.09.12
✎
15:19
|
(0) прикольный перенос. Типа знания одного верхнего родителя для переноса недостаточно?
|
|||
179
Aprobator
20.09.12
✎
15:20
|
а так там вообще кирдык. Родитель через наименование тащится. Начало пятницы зачтено.
|
|||
180
ProProg
20.09.12
✎
15:20
|
(178) в смысле? надо же все уровни. а не один.
|
|||
181
ProProg
20.09.12
✎
15:21
|
(179) ну и ? для ОЛЕ нужны строковые данные. получаю в запросе название родителя сразу. на ссылках вообще все умрет.
|
|||
182
Vakhrin
20.09.12
✎
15:21
|
можно еще быстрее, чем ДБФ семерочный... записываем в текст с разделителями, но опять же не через стандартный текст, а через vbs FSO
и полученный файл читаем через ADO )) (180) каждый последующий уровень определит предыдущий |
|||
183
Злопчинский
20.09.12
✎
15:21
|
(172) чтото в скайпе вы неактивны..
|
|||
184
Злопчинский
20.09.12
✎
15:21
|
взял наобум простенький прайсик...
|
|||
185
ProProg
20.09.12
✎
15:22
|
(182) чо чо.
|
|||
186
Vakhrin
20.09.12
✎
15:23
|
(185) to google ))
|
|||
187
ASU_Diamond
20.09.12
✎
15:27
|
(176) сейчас занимаюсь переводом ПУБ на УПП, только что выгружал справочник номеклатуры в УПП: материалов 70 тыс, номенклатуры 30 тыс и того 100 тыс, выгрузилось довольно быстро (и это все поля, ничего не порезано) и без всяких ошибок. ЧЯДНТ?
|
|||
188
Aprobator
20.09.12
✎
15:28
|
для быстрее я бы вообще через ОЛЕ не тащил. В одной базе выгрузил в файр, в другой из файла загрузил. Разовая операция то?
|
|||
189
Aprobator
20.09.12
✎
15:28
|
(187) ты небось не ОЛЕ юзаешь )
|
|||
190
zladenuw
20.09.12
✎
15:29
|
а что в оле нельзя запустить обработку ?
|
|||
191
ASU_Diamond
20.09.12
✎
15:30
|
(189) ну я про КД речь вел
|
|||
192
Aprobator
20.09.12
✎
15:30
|
(176) КД дохнет на 50000? Офигеть. Обработку порциями не прописать что ли? Прием известный, в типовых есть. (190) смотря какими руками.
|
|||
193
zladenuw
20.09.12
✎
15:32
|
(192) тс не читает такого. а можно так (190) ?
|
|||
194
Aprobator
20.09.12
✎
15:35
|
(193) да можно конечно. Но не так как ТС делает. Это же надо додумать такой объем данных одним запросом херакнуть.
|
|||
195
zladenuw
20.09.12
✎
16:08
|
(194) ну так прямой, на выхлопе дбф,хмл,тхт и т.д. и вуаля. или не . не фокус?
|
|||
196
zladenuw
20.09.12
✎
16:38
|
знатоки 7. можно ли в 8 о вызову кому 7. вызвать обработку и создать прямой запрос
|
|||
197
zladenuw
20.09.12
✎
16:41
|
(196) форму для это же. я с телефона тута. Ы
|
|||
198
zladenuw
20.09.12
✎
16:45
|
можно ли так. создаю ком к 7 ну или апли. вызываю обработку. она создает прямой запрос, выгружает в дбф. ком для 8 вернет дбф. так можно ?
|
|||
199
zladenuw
20.09.12
✎
16:46
|
(198) а можно программно создать обработку для 7 ? с 8 ? и запихнуть все что надо.
|
|||
200
zladenuw
20.09.12
✎
16:46
|
ушел в warcraft3 dota
|
|||
201
Злопчинский
20.09.12
✎
16:50
|
(199) можно
|
|||
202
zladenuw
20.09.12
✎
16:53
|
(201) но напрямую вызвать прямой запрос или мета 1с7. мы не можем или можем ?
|
|||
203
zladenuw
20.09.12
✎
16:53
|
(202) условие 1с7 объект подключения
|
|||
204
zladenuw
20.09.12
✎
16:54
|
(201) если аппи. то вроде как да. если ком то не ?
|
|||
205
zladenuw
20.09.12
✎
16:55
|
зашибетесь реклама
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс |
|||
206
zladenuw
20.09.12
✎
16:58
|
надо учитцо!!!!!!!
«Когда мы встречались последний раз, я был всего лишь учеником; теперь я — мастер.» — Дарт Вейдер — Оби-Вану Кеноби(источник) |
|||
207
zladenuw
20.09.12
✎
16:59
|
можно ли это или нет ? вот в чем вопрос ! (202)
|
|||
208
ILM
гуру
20.09.12
✎
17:05
|
Вызвать можете, даже выборку можете вернуть, не может вставить, удалить и записать новые записи справочника, бл.еа.ть.
|
|||
209
3Jl0
20.09.12
✎
17:25
|
(208) а кто про это. вопрос чтения с 7. запись 8. судорь вы под чем !
|
|||
210
ILM
гуру
20.09.12
✎
17:47
|
(208) ответ на (207)
Никто не мешает выгрузить данные в текстовый файл из команд SQL, например вот такого вида "Insert .... into ...." и передать его в ADO или native, как хотите. Вот только не факт, что 1С будет с такими данными работать. И я сударь, под чаем сижу))) А утром под кофе... |
|||
211
3Jl0
20.09.12
✎
18:08
|
(210) кофеин это как бы наркотик
|
|||
212
EvgeniuXP
20.09.12
✎
18:33
|
(27) а зачем в дбф, сразу ТЗ в файл и считать из файла в ТЗ :)
|
|||
213
ILM
гуру
20.09.12
✎
19:11
|
(211) Ну да, "Арабика" свежесмолотая, в турке заваренная, сильно торкает))) А вот цейлонский чай листовой, нет.
А вы на чём сидите, сударь? Обмен опытом так сказать ))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |