Имя: Пароль:
1C
 
таблицы sql и структура конфигурации
0 Александр056
 
04.12.17
08:23
Доброго утра всем! Есть необходимость написать запрос на прямую к субд, долго рассказывать что и как, но пока так. Воспользовался методом ПолучитьСтруктуруХраненияБазыДанных, в результате получил название таблицы СУбд, нов самом скуле не вижу  ее. Почему? Регистр сведений независимый, не переодический.
1 Александр056
 
04.12.17
08:48
совсем перестал что-то понимать, написал вот так
SELECT TOP 100
    *
  FROM [isui-test3].[dbo].[_InfoRg10175]
подчеркивает ругается на имя таблицы, но запрос выполнен.... правда ожидал более четкого результата, но все же есть, не вижу по прежнему в структуре субд...
2 Tateossian
 
04.12.17
09:45
(1)  Права в СУБД какие?  Тот же логин, что и для 1С?
3 Александр056
 
04.12.17
09:50
(2) на 1 доменную учетку завязаны как я понял
4 Tateossian
 
04.12.17
09:54
(3) Не видишь таблицу или базу данных?
5 Александр056
 
04.12.17
10:03
(4) таблицу
6 Александр056
 
04.12.17
10:47
ap! кто-то практиковал в целом работу с sql?  в обход сервера 1с предприятия?
7 VladZ
 
04.12.17
10:49
(6) Такая работа не рекомендуется компанией 1с. Это во-первых. А во-вторых, ничего сложного там нет. Всё должно быть видно.
8 Адинэснег
 
04.12.17
10:52
в SSMS - тоже не видешь таблицу?
9 Александр056
 
04.12.17
10:56
managament studio? там и смотрю.
10 Александр056
 
04.12.17
10:58
данные в полеченной таблицы, наполнены какими-то идентификаторами, поля ссылочного типа, но т.к. не вижу таблицы, не могу понять на какую она ссылается...
11 Serg_1960
 
04.12.17
11:00
(0) "Воспользовался методом ПолучитьСтруктуруХраненияБазыДанных" - расскажи нам как именно получил то, что сейчас не видишь :))
12 Александр056
 
04.12.17
11:01
(11) ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных,Истина)[0].ИмяТаблицыХранения вот так вот получил _InfoRg10175 и его не вижу, да сам понимаю что-то странное, тем более что выборка запроса описанного выше работает!
13 Адинэснег
 
04.12.17
11:03
(10) а ты думал там представления ссылок будут, как в консоли запросов 1С?)))
14 Адинэснег
 
04.12.17
11:04
соединяйся с таблицами, получай представления вместо guid )
15 Serg_1960
 
04.12.17
11:04
(10) "данные в полеченной таблицы, наполнены какими-то идентификаторами" - там-же, в структуре хранения данных, смотри подробное описание структуры этого регистра.
16 Александр056
 
04.12.17
11:10
(15) вот где структура? по идее слева в "дереве БД", там нет таблицы, что за бред??
17 Александр056
 
04.12.17
11:10
соответственно не могу понять к чему соединяться
18 arsik
 
гуру
04.12.17
11:23
По ходу ты в разных базах.
ПолучитьСтруктуруХраненияБазыДанных - в одной, а SSMS в другой?
19 nicxxx
 
04.12.17
11:24
Вот, перестань мучиться. http://catalog.mista.ru/public/147147/
20 Александр056
 
04.12.17
11:40
(18) хоть убейте в 1
21 Александр056
 
04.12.17
11:41
если даже в разных то почему скуль ругается на запрос но выдает результат?
22 Александр056
 
04.12.17
11:41
(19) бомж, нету Sm
23 Serg_1960
 
04.12.17
12:53
(16) Не знаю чем и как смотришь, поэтому "дерево БД" - лишено для меня смысла. А в структуре хранения данных поля регистра можно посмотреть, например, вот так:

СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина);
Для Каждого Таблица Из СтруктураХранения Цикл
   Для Каждого Поле Из Таблица.Поля Цикл
      ...
24 Serg_1960
 
04.12.17
12:55
Вот пример (по моей базе)
Алгоритм:

    ЧтоИщем = "InfoRg11512";
    СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина);
    Для Каждого Таблица Из СтруктураХранения Цикл
        Если Таблица.ИмяТаблицыХранения = ЧтоИщем Тогда
            Сообщить(Таблица.ИмяТаблицыХранения + " (" + Таблица.Метаданные + ")");
            Для Каждого Поле Из Таблица.Поля Цикл
                Если Найти(Сред(Поле.ИмяПоляХранения,2), "
") Тогда
                    Если Прав(Поле.ИмяПоляХранения,5) = "_TYPE" Тогда
                        Сообщить("   " + Поле.ИмяПоляХранения + " (" + СтрЗаменить(Поле.Метаданные, Таблица.Метаданные+".","")+ ")");
                    Иначе
                        Сообщить("   " + Поле.ИмяПоляХранения);
                    КонецЕсли;
                Иначе
                    Сообщить("   " + Поле.ИмяПоляХранения + " (" + СтрЗаменить(Поле.Метаданные, Таблица.Метаданные+".","")+ ")");
                КонецЕсли;
            КонецЦикла;    
        КонецЕсли;
    КонецЦикла;
25 Serg_1960
 
04.12.17
12:57
Результат:

_InfoRg11512 (РегистрСведений.АналогиНоменклатуры)
   _Fld11513RRef (Измерение.Номенклатура)
   _Fld11514RRef (Измерение.ХарактеристикаНоменклатуры)
   _Fld11515RRef (Измерение.ВидАналога)
   _Fld11516_TYPE (Измерение.Аналог)
   _Fld11516_RTRef
   _Fld11516_RRRef
   _Fld11517RRef (Измерение.ХарактеристикаАналога)
   _Fld11518RRef (Измерение.Продукция)
   _Fld11519RRef (Измерение.ХарактеристикаПродукции)
   _Fld11520RRef (Измерение.Спецификация)
   _Fld11521RRef (Ресурс.ЕдиницаИзмерения)
   _Fld11522 (Ресурс.Количество)
   _Fld11523RRef (Ресурс.ЕдиницаИзмеренияАналога)
   _Fld11524 (Ресурс.КоличествоАналога)
   _Fld11525 (Ресурс.Приоритет)
   _Fld31417 (Реквизит.Проверено)
   _SimpleKey ()

По поводу полей с суффиксами _TYPE", _RTRef и _RRRef более подробнее тут:
"Особенности хранения составных типов данных"
https://its.1c.ru/db/metod8dev#content:1828:hdoc
26 arsik
 
гуру
04.12.17
13:16
(20) Тогда возможно у тебя несколько экземпляров СУБД и нужно указать конкретный.
Например:
FROM mssqlsrv.isui-test3.dbo._InfoRg10175
27 Александр056
 
04.12.17
13:17
(25) спасибо большое, сейчас руки освободятся и посмотрю. еще раз спасибо
28 Александр056
 
04.12.17
16:24
(25) у меня вывод отличается(
_InfoRg10175 (РегистрСведений.**********)
   _Fld10176RRef
   _Fld10177RRef
   _Fld10178
   _Fld10179RRef
   _Fld10180
   _Fld10181
   _Fld10182RRef
   _Fld10183
   _Fld10184
   _Fld10185
   _Fld10186RRef
   _Fld10187RRef
   _Fld10188RRef
   _Fld10189RRef
   _Fld10190
   _Fld10203RRef
   _Fld10205
   _Fld10206
   _Fld10207
   _Fld10208
   _Fld10209
   _Fld10210
   _Fld290
29 Александр056
 
04.12.17
16:27
все, получил я свои названия толку... не вижу я таблицы все. надо проспать и перед этим... сказать 1сине что она мне всю жизнь поломала
30 Александр056
 
04.12.17
16:31
увидел...бл****
31 Serg_1960
 
05.12.17
10:33
"Увидеть Париж и умереть"(с), R.I.P, аминь :)

А ты как думал? Думал будет легко? Между прочим: а регистр то - простой. Всего семь полей ссылочного типа (не составные), остальные поля  - простого типа (значения).
32 Александр056
 
05.12.17
10:45
(31) да с составными было бы веселее)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший