Имя: Пароль:
1C
1С v8
Структура хранения РН на уровне субд (sql, 8.2)
0 Кир Пластелинин
 
19.06.14
18:35
доброго времени суток. сильно помидорами не кидайте, но тут вопрос возник) для хранения регистров накопления на уровне субд предназначено несколько таблиц. в данном случае интересует таблица настроек хранения итогов, а именно _AccumRgOpt. в ней есть столбец RegId, т.е. айдишник регистра. не совсем понимаю для чего он (столбец), т.к. для каждого РН если есть, то своя таблица. вопрос - для чего же этот столбец? атавизм прошлых релизов?
1 Fragster
 
гуру
19.06.14
18:37
Глобальный контекст.ПолучитьСтруктуруХраненияБазыДанных (Global context.GetDBStorageStructureInfo)
Глобальный контекст (Global context)
ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
Синтаксис:

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

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

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

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

Тип: ТаблицаЗначений.
Возвращает таблицу значений с описаниями структуры таблиц, индексов и полей базы данных в терминах модели базы данных 1С:Предприятия или используемой СУБД, в зависимости от значения параметра "Имена базы данных".
Если параметр не используется, то возвращаемая таблица значений содержит информацию о структуре таблиц базы данных всех объектов метаданных.
Таблица значений включает следующие колонки:
ИмяТаблицыХранения(StorageTableName) – имя таблицы модели базы данных 1С:Предприятия или базы данных;
ИмяТаблицы(TableName) – имя таблицы в терминах языка запросов (для тех у кого оно есть);
Метаданные(Metadata) – полное имя объекта метаданных;
Назначение(Purpose) – назначение таблицы:
Основная(Main) - основная;
Константы(Constants) - константы;
Итоги(Totals) - итоги;
ИтогиПоСчетам(TotalsByAccounts) - итоги по счетам;
ИтогиПоСчетамССубконто(TotalsByAccountsWithExtDim) - итоги по счетам с субконто;
ИтогиМеждуСчетами(TotalsBetweenAccounts) - итоги между счетами;
ВидыСубконто(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) – таблица настроек хранения итогов регистров накопления;
Поля(Fields) - таблица значений с полями таблицы базы данных;
ИмяПоляХранения(StorageFieldName) - имя поля модели базы данных 1С:Предприятия или базы данных;
ИмяПоля(FieldName) - имя поля в терминах языка запросов (для тех у кого оно есть);
Метаданные(Metadata) – полное имя объекта метаданных;
Индексы(Indexes) – таблица значений с индексами таблицы базы данных;
ИмяИндексаХранения(StorageIndexName) - имя индекса модели базы данных 1С:Предприятия или базы данных;
ПоляИНдекса(IndexFields) - таблица значений с полями индекса;
ИмяПоляХранения(StorageFieldName) - имя поля модели базы данных 1С:Предприятия или базы данных;
ИмяПоля(FieldName) - имя поля в терминах языка запросов (для тех у кого оно есть);
Метаданные(Metadata) – полное имя объекта метаданных.
Описание:

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

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

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

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

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.Номенклатура");
МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
СтруктБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
2 Кир Пластелинин
 
19.06.14
18:38
(1) эээ. а вопрос был прочитан? или так? по-диагонали?)
3 Fragster
 
гуру
19.06.14
18:41
(2) ага. Есть мнение, что когда-то это была одна таблица (как константы), но из-за блокировок разнесли, а чтобы меньше переписывать - разнесли
4 Кир Пластелинин
 
19.06.14
18:46
(3) ну т.е. получается не совсем атавизм, а для реализации режима совместимости с более старыми релизами. thnx
5 Кир Пластелинин
 
19.06.14
18:49
хм. и получается, что использование параметра в запросе вида "exec sp_executesql N'SELECT
MIN(T1._Period),
MIN(T1._UseTotals),
MIN(T1._ActualPeriod),
MAX(T1._UseSplitter),
MIN(T1._MinPeriod)
FROM _AccumRgOpt8922 T1 WITH(NOLOCK)
WHERE T1._RegID = P1',N'P1 varbinary(16)',0xB05C2183B18842418D87B3FFEFF2A138" убирать тоже не стали
6 Fragster
 
гуру
19.06.14
18:51
(5) у меня во всех этих таблицах по одной строке
7 Кир Пластелинин
 
19.06.14
18:53
(6) огась