Имя: Пароль:
1C
1C 7.7
v7: 1c 7.7. Аналог таблицы SQL-сервера.
0 MikeSh
 
30.06.13
13:14
Добрый день.
Подскажите, пожалуйста, можно ли где-либо в базе 1с 7.7 хранить данные так, чтобы к ним можно было обращаться как к данным в SQL.
Т.е. например есть таблица Table :

А1 В4 Й
2  3  3
1  2  4
2  4  5

Нужно что-то вроде : Select * from Table where A1 = 2

Я думал про табличную часть документа, но не нашёл возможности такой выборки, только перебор построчно.

Спасибо.
1 Aleksey
 
30.06.13
13:18
Справочник
2 Хранимая Процедура
 
30.06.13
13:18
Учи нормальные SQL базы и обращайся к ним через ADO
3 ДенисЧ
 
30.06.13
13:19
Нахрен адо, 1с++ в семерке наше все
4 МихаилМ
 
30.06.13
13:19
у тч документа нет возможности создать индекс к реквизитам.

так что используйте 1с++

и создавайте любые таблицы. правда если 1с куплена после 2008.
года это будет нарушением лиц соглашения.

но можно создать отдельную базу.
5 Aleksey
 
30.06.13
13:20
А кто сказал что у него SQL есть???
6 Aleksey
 
30.06.13
13:21
1. справочник - это и есть твоя плоская таблица

2.1SQlite - будет внешний файл с такими же возможностями как у скуля (в том числе и Select * from Table )
7 MikeSh
 
30.06.13
13:27
Спасибо за ответы.
SQL есть, точнее даже MS SQL есть, ещё точнее, в нём и крутится 1с.
В целях универсальности, я не хочу использовать его для нужной мне задачи.
Наверное то же самое можно сказать и про sqlite.

(6) К справочнику можно обращаться с выборкой по полям?
8 Aleksey
 
30.06.13
13:28
(7) Естественное
9 Aleksey
 
30.06.13
13:29
У справочника один минус - таблица не универсальна. т.е. на стадии проектирования в конфигураторе ты должен определить состав колонок твоей будущей таблицы
10 MikeSh
 
30.06.13
13:29
(8) А можно пример? В том плане, куда дальше смотреть по синтаксису.
11 MikeSh
 
30.06.13
13:30
(9) Количество и тип полей заранее известны
12 Aleksey
 
30.06.13
13:31
(10)
Вариант 1 Запрос
Вариант 2. ВыбратьЭлементыПоРеквизиту
Вариант 3. Прямой запрос (1C++ к примеру)
13 КонецЦикла
 
30.06.13
14:08
(11) Тогда пиши в файл txt :)
14 MikeSh
 
30.06.13
14:52
(13) Я предполагал, что по первому и седьмому сообщению понятно, почему я не хочу писать в файл вообще и в текстовый в частности...

Создал справочник, буду колупать запросы. Тема для меня новая, странная, но не безынтересная.
15 Torquader
 
30.06.13
14:58
FoxPro ODBC-драйвер и dbf-файл никто не предлагал ?
Можно запросы писать даже на языке SQL - и они выполняются.
Очень хорошо работает - даже быстрее, чем 1С.
16 orefkov
 
30.06.13
15:02
В целях универсальности как раз лучше всего подойдет sqlite
17 MikeSh
 
30.06.13
15:13
В общем, на мой взгляд существует всего 2 глобальных пути
1) Данные лежат в базе 1с. В этом случае, где бы ни оказалась база (куда бы её ни перенесли) всё будет работать.
2) Данные лежат вне базы. Тут без разницы где, хоть в тексте, хоть в скуле, хоть в dbf. Но тогда перенос базы потенциально приведёт к тому, что доступ к этим данным может отсутствовать. Самая элементарная причина - этот файл забыли взять.

Если выбирать второй путь, то я бы не писал обращение, т.к. это не вызывает у меня вопросов.
Я пошёл по первому пути, столкнулся с тем, что не могу реализовать нужные мне операции, например Select. Запросы идут туго, т.к. гугли выдают результаты по 1с 8.х, а там другой синтаксис.

Справочник "Данные". Реквизиты "А1", "В4", "Й". Строчные.
В самой 1с таблица выглядит так :

А1 В4 Й
2  3  3
1  2  4
2  4  5

Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "Выбрать ИЗ Справочник.Данные КАК Данные
   |ГДЕ
   |Данные.А1 = "2"
   "
   Запрос.Выполнить(ТекстЗапроса);

Я в правильном направлении иду?
18 Aleksey
 
30.06.13
15:29
(17) и какая религия запрещает воспользоваться конструктором запроса?

По запросу - фигня полная, ибо в 7-ке немного другой синтаксис
19 ДенисЧ
 
30.06.13
15:56
(17) в абсолютно  правильном. На**й - именно туда
20 Злопчинский
 
30.06.13
16:21
А кто-нить со мной посотрудничает возмездно на предмет организации и написания в файловых клюшках отдельного учета на "внешней" базе (есть проектик! работа не разовая)...? писать на [email protected] или скайп Zlopun...? спсб.
21 Злопчинский
 
30.06.13
16:23
КонецЦикла! стукнись в скайп!
22 ДенисЧ
 
30.06.13
18:18
(20) а что у тебя интересного? Тему таки раскрой...
23 MikeSh
 
30.06.13
18:44
(18) название религии "одноэснепереносимость", занимаюсь этим сейчас, потому что у них заложники.

Всем спасибо. Тему можно закрыть.
24 Злопчинский
 
30.06.13
19:18
(22) торсионные поля и накопление маны с одновременным оттопыриванием чакр...
25 Torquader
 
30.06.13
19:36
(20) Внешняя база для 1С, да не - лучше уж 1С:Предприятие, как интерфейс для написания отчётов и печатных форм для Web-системы - так более вероятно, что взлетит.
И то, нужно писать внешнюю компоненту, чтобы все запросы в "далёкую" базу уходили в фоне, не подвешивая основной интерфейс.
Но, в таком варианте голое Web-приложение писать приятнее, чем ещё и думать, как и куда пользователи поставят 1С, тем более, что клюшкам нужен проброшенный сетевой ключ.
26 Torquader
 
30.06.13
19:36
(24) ... и наполнением калом всего, что только можно ...
27 Злопчинский
 
30.06.13
20:57
(26) неконструктивно
28 Злопчинский
 
30.06.13
21:04
"база" может лежать рядом...
29 varelchik
 
01.07.13
11:29
(17) Ты версии 1С случаем не попутал?
7.7 и 8.х.
Ты походу не в ту ветку забрел.
30 varelchik
 
01.07.13
11:30
(17)Очень смахивает на 8.х.