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

1С:Предприятие ::

Метки: 

Индексы SQL достать из 1с

Я
   LeoKeyn
 
26.10.17 - 12:30
Здравствуйте. Подскажите, пожалуйта, есть ли способ достать из 1с индексы присвоенные полям(реквизитам) в SQL. К примеру такого вида:
_Fld4347 as ОстатокКомиссия.
Очень нужно бы достать их :)
 
 
   Fragster
 
1 - 26.10.17 - 12:34
Глобальный контекст.ПолучитьСтруктуруХраненияБазыДанных (Global context.GetDBStorageStructureInfo)
Глобальный контекст (Global context)
ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
Синтаксис:

ПолучитьСтруктуруХраненияБазыДанных(<ОбъектыМетаданных>, <ИменаБазыДанных>)
Параметры:

<ОбъектыМетаданных> (необязательный)

Тип: Массив.
Массив имен объектов метаданных или массив объектов метаданных, для которых требуется получить структуру таблиц базы данных.
<ИменаБазыДанных> (необязательный)

Тип: Булево.
Определяет, в каких терминах выдается информация о структуре хранения.
Истина - в терминах СУБД.
Ложь - в терминах модели базы данных 1С:Предприятия.
Значение по умолчанию: Ложь.
Возвращаемое значение:

Тип: ТаблицаЗначений.
Возвращает таблицу значений с описаниями структуры таблиц, индексов и полей базы данных в терминах модели базы данных 1С:Предприятия или используемой СУБД, в зависимости от значения параметра <ИменаБазыДанных>.
Если параметр не используется, то возвращаемая таблица значений содержит информацию о структуре таблиц базы данных всех объектов метаданных.
Таблица значений включает следующие колонки:
ИмяТаблицыХранения(StorageTableName) – имя таблицы модели базы данных 1С:Предприятия или базы данных; 
ИмяТаблицы(TableName) – имя таблицы в терминах языка запросов (для тех у кого оно есть); 
Метаданные(Metadata) – полное имя объекта метаданных; 
Назначение(Purpose) – назначение таблицы: 
Основная(Main) – основная; 
Константы(Constants) – константы; 
Итоги(Totals) – итоги; 
Обороты(Turnovers) – обороты; 
ИтогиПоСчетам(TotalsByAccounts) – итоги по счетам; 
ИтогиПоСчетамССубконто(TotalsByAccountsWithExtDim) – итоги по счетам с субконто; 
ИтогиМеждуСчетами(TotalsBetweenAccounts) – обороты между счетами; 
ИтогиСрезПервых(TotalsSliceFirst) – итоги срез первых регистра сведений; 
ИтогиСрезПоследних(TotalsSliceLast) – итоги срез последних регистра сведений; 
ВидыСубконто(ExtDimensionTypes) – виды субконто; 
ЗначенияСубконто(ExtDimensionsValues) – значения субконто; 
ВытесняющиеВидыРасчета(DisplacingCalculationTypes) – вытесняющие виды расчета; 
ПорядокВытеснения(DisplacementOrder) – порядок вытеснения; 
ВедущиеВидыРасчета(LeadingCalculationTypes) – ведущие виды расчета; 
БазовыеВидыРасчета(BaseCalculationTypes) – базовые виды расчета; 
ПериодыДействия(ActionPeriods) – периоды действия; 
ГраницыПоследовательности(SequenceBoundaries) – границы последовательности; 
ТочкиМаршрута(RoutePoints) – точки маршрута бизнес–процесса; 
ТабличнаяЧасть(TabularSection) – табличная часть; 
РегистрацияИзменений(ChangeRecord) – регистрация изменений; 
РегистрацияИзмененийКонстант(ConstantsChangeRecord) – регистрация изменений констант; 
РегистрацияИзмененийКонфигурации(ConfigChangeRecord) – регистрация изменений конфигурации; 
РегистрацияИзмененийВнешнихСвойствКонфигурации(ConfigExtPropertiesChangeRecord) – регистрация изменений внешних свойств конфигурации; 
CтатистикаЗапросов(AccumRgSt) – таблица статистики запросов; 
НовыеОбороты(AccumRgDl) – таблица новых оборотов по регистру; 
БуферОборотов (AccumRgBf) – таблица буфера оборотов по регистру; 
НастройкиРежимаАгрегатовРегистровНакопления(AccumRgAggOpt) – таблица настроек режима агрегатов регистра накопления; 
КодыИзмеренийАгрегатовРегистровНакопления(AccumRgAggDims) – таблица кодов измерений регистра накопления в агрегатах; 
СписокАгрегатовРегистровНакопления (AccumRgAggGrid) – таблица списка агрегатов регистра накопления; 
ХранилищеСистемныхНастроек(SystemSettings) – хранилище системных настроек; 
ХранилищеОбщихНастроек(CommonSettings) – хранилище общих настроек; 
ХранилищеПользовательскихНастроекОтчетов (ReportsSettings) – хранилище пользовательских настроек отчетов; 
ХранилищеВариантовОтчетов(ReportVariants) – хранилище вариантов отчета; 
ХранилищеНастроекДанныхФорм(FrmDtSettings) – хранилище настроек данных форм; 
АгрегатРегистраНакопления(AccumRegAgg) – таблица агрегата регистра накопления; 
ИсторияРаботыПользователей (UsersHistoryStorage) – история работы пользователей; 
Задача(Task) – таблица задач бизнесс процесса; 
НастройкиХраненияИтоговРегистровБухгалтерии(AccountRegistersOptionsTable) – таблица настроек хранения итогов регистров бухгалтерии; 
НастройкиХраненияИтоговРегистровНакопления(AccumulationRegistersOptionsTable) – таблица настроек хранения итогов регистров накопления; 
НастройкиХраненияИтоговРегистраБухгалтерии(AccountRegisterTotalsOptions) – таблица настроек хранения итогов регистра бухгалтерии; 
НастройкиХраненияИтоговРегистраНакопления(AccumulationRegisterOptionsTable) – таблица настроек хранения итогов регистра накопления; 
НастройкиХраненияИтоговРегистраСведений(InformationRegisterTotalsOptions) – таблица настроек использования итогов среза первых и среза последних регистра сведений; 
НастройкиСтандартногоИнтерфейсаOData (StandardODataInterfaceOptions) – таблица настроек стандартного интерфейса OData; 
ИнформацияОРасширенияхКонфигурации(ConfigurationExtensionsInformation) - информация о расширениях конфигурации, записанных в базу данных; 
НастройкиПлановСчетов(ChartsOfAccountsOptions) – настройки планов счетов; 
НастройкиПлановВидовХарактеристик(ChartsOfCharacteristicTypesOptions) – настройки планов видов характеристик; 
НастройкиПлановВидовРасчетов(ChartsOfCalculationTypesOptions) – настройки планов видов расчета; 
НастройкиСпискаАгрегатов(AccumRgAggOptions) – настройки списка агрегатов; 
НастройкиСправочников(ReferenceOptions) – настройки справочников; 
ИнициализированныеПредопределенныеДанныеПланаВидовХарактеристик(InitializedPredefinedDataInChartOfCharacteristicTypes) – таблица проинициализированных предопределенных данных плана видов характеристик; 
ИнициализированныеПредопределенныеДанныеПланаСчетов(InitializedPredefinedDataInChartOfAccounts) – таблица инициализированных предопределенных данных плана счетов; 
ИнициализированныеПредопределенныеДанныеПланаВидовРасчета(InitializedPredefinedDataInChartOfCalculationTypes) – таблица проинициализированных элементов плана расчетов; 
ИнициализированныеПредопределенныеДанныеСправочника(InitializedPredefinedDataInCatalog) – таблица проинициализированных предопределенных данных справочника; 
ИнформацияОРасширенияхКонфигурации/ConfigurationExtensionsInformation - информация о расширениях конфигурации, записанных в базу данных
Поля(Fields) – таблица значений с полями таблицы базы данных: 
ИмяПоляХранения(StorageFieldName) – имя поля модели базы данных 1С:Предприятия или базы данных; 
ИмяПоля(FieldName) – имя поля в терминах языка запросов (для тех у кого оно есть); 
Метаданные(Metadata) – полное имя объекта метаданных;
Индексы(Indexes) – таблица значений с индексами таблицы базы данных; 
ИмяИндексаХранения(StorageIndexName) – имя индекса модели базы данных 1С:Предприятия или базы данных; 
Поля(Fields) – таблица значений с полями индекса: 
ИмяПоляХранения(StorageFieldName) – имя поля модели базы данных 1С:Предприятия или базы данных; 
ИмяПоля(FieldName) – имя поля в терминах языка запросов (для тех у кого оно есть); 
Метаданные(Metadata) – полное имя объекта метаданных.

Примечание. Количество и состав таблиц, полей и индексов могут отличаться в зависимости от значения параметра ИменаБазыДанных.
Описание:

Получает информацию о структуре таблиц базы данных для переданных в качестве параметра массива имен объектов метаданных или массива объектов метаданных для административных действий с ней.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Следует использовать метод только для административных задач обслуживания базы данных и анализа записей технологического журнала. Не следует применять метод для реализации какой-либо части прикладной функциональности.
При изменениях в версиях часть изменений выполняется не сразу, а во время реструктуризации объектов или полной рекструктуризации. Такие изменения отмечаются в списке изменений. Метод возвращает структуру, которая будет получена после реструктуризации.
Пример:

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.Номенклатура");
МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
СтруктБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
 

--------------------------------------------------------------------------------

     Методическая информация
   LeoKeyn
 
2 - 26.10.17 - 12:37
(1) Спасибо большое, сейчас попробую
   LeoKeyn
 
3 - 26.10.17 - 12:45
Не совсем могу понять, если честно, как вытащить то строку подобного типа:
_Fld4347 as ОстатокКомиссия
Похоже туплю, сможете подсказать?
   LeoKeyn
 
4 - 26.10.17 - 12:49
(3) Все, я разобрался спасибо большое   Fragster, что направил :)
   LeoKeyn
 
5 - 26.10.17 - 12:56
(1) Еще вопросик, так я достаю структуру хранения таблиц, а как достать структуру хранения реквизитов этой таблицы? :)
   catena
 
6 - 26.10.17 - 13:08
Возвращает таблицу значений с описаниями структуры таблиц, индексов и полей базы данных в терминах модели базы данных 1С:Предприятия или используемой СУБД, в зависимости от значения параметра <ИменаБазыДанных>.
.......
Поля(Fields) – таблица значений с полями таблицы базы данных:
ИмяПоляХранения(StorageFieldName) – имя поля модели базы данных 1С:Предприятия или базы данных; 
ИмяПоля(FieldName) – имя поля в терминах языка запросов (для тех у кого оно есть); 
Метаданные(Metadata) – полное имя объекта метаданных; 
Индексы(Indexes) – таблица значений с индексами таблицы базы данных; 
ИмяИндексаХранения(StorageIndexName) – имя индекса модели базы данных 1С:Предприятия или базы данных; 
Поля(Fields) – таблица значений с полями индекса: 
ИмяПоляХранения(StorageFieldName) – имя поля модели базы данных 1С:Предприятия или базы данных; 
ИмяПоля(FieldName) – имя поля в терминах языка запросов (для тех у кого оно есть); 
Метаданные(Metadata) – полное имя объекта метаданных.
   LeoKeyn
 
7 - 26.10.17 - 13:14
(6) Document200        Документ.СудебноеРешениеПоИску    Документ.СудебноеРешениеПоИску    Основная        
Document200.VT5019        Документ.СудебноеРешениеПоИску.ДополнительныеРеквизиты    Документ.СудебноеРешениеПоИску.ТабличнаяЧасть.ДополнительныеРеквизиты    ТабличнаяЧасть        
Document200.VT5024        Документ.СудебноеРешениеПоИску.ВводОстатков    Документ.СудебноеРешениеПоИску.ТабличнаяЧасть.ВводОстатков    ТабличнаяЧасть        
не хочет он поля возвращать так же
   LeoKeyn
 
8 - 26.10.17 - 13:15
(7) Индексы таблиц есть, а вот полей
   Fragster
 
9 - 26.10.17 - 13:16
всё есть
   catena
 
10 - 26.10.17 - 13:21
(7)Удивительно.

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.ФизическиеЛица");
т = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
Для каждого стр из т цикл
    ОбработкаПрерыванияПользователя();
    сообщить(стр.Метаданные+" - "+стр.ИмяТаблицыХранения);
    Для каждого стр1 из стр.Поля цикл
        Сообщить("        "+стр1.ИмяПоля+" - "+стр1.ИмяПоляХранения);
    КонецЦикла;    
конецЦикла;

Справочник.ФизическиеЛица.ТабличнаяЧасть.Стажи - Reference122.VT2152
        НомерСтроки - LineNo2153
        ВидСтажа - Fld2154
        ДатаОтсчета - Fld2155
        РазмерМесяцев - Fld2156
        РазмерДней - Fld2157
        ДатаОкончания - Fld18542
 
 Рекламное место пустует
   LeoKeyn
 
11 - 26.10.17 - 13:37
(10) Спасибо тебе огроменное за помощь :) так и вылезу скоро из новичков :)
   LeoKeyn
 
12 - 26.10.17 - 13:38
(10) Все круто, все получилось просто шикарно, спасибо большое еще раз :)
   Alligator219
 
13 - 26.10.17 - 13:45
(12) Как могло получиться, если 1с через ПолучитьСтруктуруХраненияБазыДанных  отдает не все индексы?
   LeoKeyn
 
14 - 26.10.17 - 13:46
(13) мне все нужные поотдавал :)
   Dmitrii
 
15 - 26.10.17 - 14:18
Остался один вопрос - нафейхуя оно автору надо?
Или он со своими глубоки познаниями сейчас в базу данных на скуле полезет индексы расставлять по-новому?....
   LeoKeyn
 
16 - 26.10.17 - 14:53
(15) Грубовато...
а нужно это для загрузки в 1с базы из SQl. Мне сказали я делаю
   Жан Пердежон
 
17 - 26.10.17 - 15:14
(16) зато правда. Индексы-то тебе зачем?
   Dmitrii
 
18 - 26.10.17 - 15:19
(16) >> Мне сказали я делаю

Удачи!

Для справки: загрузка средствами SQL не даст тебе консистентных данных. Во всяком случае не с твоим уровнем знаний.


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