Имя: Пароль:
1C
1С v8
Можно ли наложить отбор на csv?
0 Shved_72
 
07.09.15
14:04
Перебором очень дофига. Можно ли както через зад сделать файл Внешним источником данных и запросом отобрать 10 строк из мульярда?
1 Shved_72
 
07.09.15
14:08
Проовал чере Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=ТрахТибиДох.csv

грит формат не тот что заявлен. наверно хочет xls, но ексель его не открывает, грит больно большой, купи монитор шире

если программно его насильно в xls сохранить даст ли он наложить фильтр потом?
3 sash-ml
 
07.09.15
14:12
Driver={Microsoft Text Driver (*.txt; .csv)};
4 Smallrat
 
07.09.15
14:13
5 Живой Ископаемый
 
07.09.15
14:25
слушайте, а расскажите - у меня сервер 64-битный - как мне использовать Provider=Microsoft.Jet.OLEDB.4.0 или {Microsoft Text Driver (*.txt; *.csv)} на стороне сервера?
6 Smallrat
 
07.09.15
14:33
(5) может поможет http://catalog.mista.ru/public/174730/
7 Shved_72
 
07.09.15
14:36
(3) не найден драйвер грит
http://i.imgur.com/GARD54T.png
(4) тут вроде только загрузка, но без отбора?
или она настолько быстрая, чтоб потом можно отобрать по тз?
ПС у меня тоже сервер и тоже 64
8 Smallrat
 
07.09.15
14:38
(7) быстрая, да
по идее отборы можно наложить в adodb запросе: "SELECT * FROM..."
9 Shved_72
 
07.09.15
14:40
хотя драйвер есть и даже через пидальку выбирается, но не дает http://i.imgur.com/9caWuNA.png
10 Живой Ископаемый
 
07.09.15
14:45
а если через Источник данных ОДБЦ 64?
11 Живой Ископаемый
 
07.09.15
15:00
2(6) Может и поможет, но тока картинок не видно
http://pikucha.ru/iak8Z/thumbnail/ODBC+regedit.jpeg
и
http://pikucha.ru/iak9o/thumbnail/ODBC+manager.jpeg

что на них?
12 Smallrat
 
07.09.15
15:18
(11) я хз))
по идее на первом скрине редактор реестра на HKLM\SOFTWARE\ODBC\ODBC.INI  - окно настройки прав
а на втором добавление DSN
13 Shved_72
 
07.09.15
15:36
попробовал (4). там такой же перебор строк для заполнения тз. ну может чуть быстрее.
попробовать бы в селект добавить отбор...
14 Живой Ископаемый
 
07.09.15
15:39
2(13) Нет перебора:
ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils");

    ADOUtils = Новый("AddIn.ADOUtils");

    Возврат ADOUtils.ADORecordsetToValueTable(objRec);
15 Живой Ископаемый
 
07.09.15
15:43
сразу возвращается таблицазначений
16 Shved_72
 
07.09.15
15:45
(14) я первую функцию пробовал.
во второй чтото усомнился. ADOUtils.ADORecordsetToValueTable(objRec) вернет именно объект 1с - таблицаЗначений? както сказачно.
щас проверю
17 Живой Ископаемый
 
07.09.15
15:47
но для этого ж нужно скачать компоненту GameWithFire
18 Shved_72
 
07.09.15
16:16
скачать то скачал https://code.google.com/p/enterprise-integrator/downloads/list
но не встал
19 Живой Ископаемый
 
07.09.15
16:19
а чего? тоже изза 32битности?
20 Shved_72
 
07.09.15
16:21
хз

про работе на сервере Автор:
"Герман Кудяков     

26.02.13

Нет вариантов.
Под NativeApi реализация этого функционала не возможна в принципе, т.к. в NativeApi типы Object не передаются, и нет возможности управлять самой 1С из компоненты (например создать ТЗ нельзя).

Единственное что можно сделать, это писать по хакерской технологии как писали под 77 rainbow. Под 8.2 написать можно, но:
- там работы много;
- востребованность сомнительна;
- вероятно получится релизозависимо."
21 rsv
 
07.09.15
16:22
(0) если скуль - через  задачу импорт данных в интерактиве.
22 rsv
 
07.09.15
16:23
Источник - неструктурированный файл.
23 Живой Ископаемый
 
07.09.15
16:26
блин, ну должен быть способ прочитать CSV файл на 64-битном сервере через ОДБЦ.
Просто один способ вменяет деинсталлировать все компоненты 320битного офиса (который сейчас есть у меня) и проинсталлить 64-битные компоненты. Которые даже скачиваются с сайта МС.
Но стремно. тем более при работающих пользователях..

А остальные способы - это нужно в СтэкОверфлоу вчитываться.
24 Живой Ископаемый
 
07.09.15
16:28
25 Shved_72
 
07.09.15
16:39
дак а чо даст если игры с огнем не сработают
26 Shved_72
 
07.09.15
16:39
попрбовал наложить were на запрос к тексту, тоже пишет барада, наверно не взлетит
27 Живой Ископаемый
 
07.09.15
16:40
2(25) то что ты увидишь свой aqfk в ВИДах
28 Живой Ископаемый
 
07.09.15
16:42
Вид добавишь в динамический список и наложишь условие.
29 Shved_72
 
07.09.15
17:27
(21) попробовал булки, если вы про них
BULK INSERT
довольно быстро. но каждая строка в одну колонку получилась, расчлененки по разделителю не получилось.
хотя наверно теперь уж можно запрос по вхождению
30 Shved_72
 
07.09.15
17:46
расчленил
BULK INSERT Tr.dbo.Table_1
     FROM '***.csv' with (FIELDTERMINATOR = ';')
31 Garykom
 
гуру
07.09.15
19:04
гм а не проще свой драйвер этого csv наваять?
в смысле чтобы быстро отобрать запросом один фиг индексы нужны
или тоже самое прямое чтение с пропуском по условию
32 Garykom
 
гуру
07.09.15
19:07
(31)+ да еще можно в DBF сконвертить (или в другую БД засунуть)
и далее разными способами
33 ILM
 
гуру
07.09.15
19:07
Читал что-то про RAW данные. Сам не делал, но говорят можно файл кусками читать в ОРАКЛЕ, и поиск по нему будет работать, ну если проиндексировать.
34 rsv
 
07.09.15
19:16
(29) Я не про них :) Открываете студио. На базе правой кнопкой . Задачи . Импорт данных. Курить доступные источники.
35 Shved_72
 
07.09.15
19:21
(34) фи. руками. булками приятней.
мне надо программно мильярд файлов по мильярду строк перебрать
36 Garykom
 
гуру
07.09.15
23:47
(35) ну имея пару мильярдов компов это можно за пару часов сделать

а без этого на одном компе нуна будет мильярд часов... скоко это лет как то лень считать но точно не доживем...
37 Живой Ископаемый
 
08.09.15
10:16
2(32) дык а почему за все время не написал никто? А мы не умеем - мы криворукие 1Сники
38 Shved_72
 
08.09.15
10:16
оптимизирую дальше...

помогите с еще одним параметром булки:

ORDER ( { column [ ASC | DESC ] } [ ,... n ] )
Указывает, каким образом отсортированы данные в файле. Производительность массового импорта увеличивается, если импортируемые данные упорядочены согласно кластеризованному индексу таблицы (при наличии). Если файл данных упорядочен в другом порядке, то есть в порядке отличном от порядка ключа кластеризованного индекса или если в таблице отсутствует кластеризованный индекс, то предложение ORDER не обрабатывается. В целевой таблице должны быть указаны имена столбцов. По умолчанию, операция массовой вставки считает, что файл данных не отсортирован. Для оптимизированного массового импорта SQL Server также проверяет сортировку импортированных данных.
Дополнительные сведения см. в разделе Управление порядком сортировки во время массового импорта данных.
n
Местозаполнитель, означающий, что может быть указано несколько столбцов.

https://technet.microsoft.com/ru-ru/library/ms188365(v=SQL.105).aspx

как это будет по русски?
39 Живой Ископаемый
 
08.09.15
10:21
Местозаполнитель - placeholder, то есть слово column в строке
ORDER ( { column [ ASC | DESC ] } [ ,... n ] )
40 Живой Ископаемый
 
08.09.15
10:22
а, ну тут вернее про n
41 Shved_72
 
08.09.15
10:24
легче не стало
ORDER ( 'КолонкаСорртирвки' )
ORDER ( дбо.база.таблица.колонка )
не канает

кого еще в скобки насувать?
42 Shved_72
 
08.09.15
10:26
и оказалось нету метода физические перестроить записи в таблице скуля.
только через создании новой с ордер бай
43 ДенисЧ
 
08.09.15
10:30
"нету метода физические перестроить записи в таблице скуля"

А мужики-то и не знают...
44 Garykom
 
гуру
08.09.15
10:41
(43) им просто по...
45 Shved_72
 
08.09.15
10:58
угадал
Булка Инсерт ORDER ( колонка ) работает
46 Shved_72
 
08.09.15
11:16
а еще (учусь дальше) можно за раз удалить ненужные строки Делете Вере Условие.
кайф. а чо в 1с такого нет.

20 (16 булка и 4 делете) секунд и у меня отобранная таблица из мильярда csv
47 Живой Ископаемый
 
08.09.15
11:35
Изменения в 1С возможны только через объектную модель. Требования безопасности данных
48 Shved_72
 
08.09.15
11:44
ну я про таблицу значений.
в 1с это в два действия поиск строк и удаление найденных.
хотя в СКЛ наверно это тоже два действия, но код в одну строку симпотишней
49 Живой Ископаемый
 
08.09.15
11:46
2(48) нет, это одно действие - скопировать с отбором
50 Живой Ископаемый
 
08.09.15
11:48
Вариант синтаксиса: Скопировать по отбору

Синтаксис:

Скопировать(<ПараметрыОтбора>, <Колонки>)
Параметры:

<ПараметрыОтбора> (необязательный)

Тип: Структура.
Ключ структуры - идентификатор колонки, а значение структуры - значение отбора.
<Колонки> (необязательный)

Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2...".
Описание варианта метода:

Если указан отбор, то только строки из отбора будут скопированы. Если отбор не указан, то будут скопированы все строки таблицы значений. Если указаны колонки, то только эти колонки будут скопированы. Иначе, будут скопированы все колонки таблицы значений.
Возвращаемое значение:

Тип: ТаблицаЗначений.
====

Наотращивают себе радужных хренов, а читать СП как не умели так и не научатся...
51 mistеr
 
08.09.15
11:54
(0) Используй gerp/sed/awk и получи файл с 10 строками. Дальше любым способом.
52 Shved_72
 
08.09.15
11:58
(51) для этого надо линукс поставить?
53 mistеr
 
08.09.15
16:48
(52) Нет.