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



таблицы sql и структура конфигурации

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

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

    ЧтоИщем = "InfoRg11512";
    СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина); 
    Для Каждого Таблица Из СтруктураХранения Цикл
        Если Таблица.ИмяТаблицыХранения = ЧтоИщем Тогда
            Сообщить(Таблица.ИмяТаблицыХранения + " (" + Таблица.Метаданные + ")");
            Для Каждого Поле Из Таблица.Поля Цикл
                Если Найти(Сред(Поле.ИмяПоляХранения,2), "") Тогда
                    Если Прав(Поле.ИмяПоляХранения,5) = "_TYPE" Тогда
                        Сообщить("   " + Поле.ИмяПоляХранения + " (" + СтрЗаменить(Поле.Метаданные, Таблица.Метаданные+".","")+ ")");
                    Иначе
                        Сообщить("   " + Поле.ИмяПоляХранения);
                    КонецЕсли;
                Иначе
                    Сообщить("   " + Поле.ИмяПоляХранения + " (" + СтрЗаменить(Поле.Метаданные, Таблица.Метаданные+".","")+ ")");
                КонецЕсли;
            КонецЦикла;    
        КонецЕсли;
    КонецЦикла;
   Serg_1960
 
25 - 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
   arsik
 
26 - 04.12.17 - 13:16
(20) Тогда возможно у тебя несколько экземпляров СУБД и нужно указать конкретный.
Например:
FROM mssqlsrv.isui-test3.dbo._InfoRg10175
   Александр056
 
27 - 04.12.17 - 13:17
(25) спасибо большое, сейчас руки освободятся и посмотрю. еще раз спасибо
   Александр056
 
28 - 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
   Александр056
 
29 - 04.12.17 - 16:27
все, получил я свои названия толку... не вижу я таблицы все. надо проспать и перед этим... сказать 1сине что она мне всю жизнь поломала
   Александр056
 
30 - 04.12.17 - 16:31
увидел...бл****
   Serg_1960
 
31 - 05.12.17 - 10:33
"Увидеть Париж и умереть"(с), R.I.P, аминь :)

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует