Имя: Пароль:
1C
1С v8
Как узнать имя таблицы, в которой хранятся итоги регистра накопления?
0 bolero
 
12.02.19
14:54
В доке только указано, что итоги хранятся в таблицах _AccumRgT<N>, а где взять <N> - неясно.

СтруктураХраненияИнформационнойБазы() по этому поводу молчит.
Номера в таблицах регистров и номера в таблицах итогов не связаны друг с другом, это просто порядковые номера, присваиваемые таблицам в порядке создания.
1 Мыш
 
12.02.19
14:56
(0) СтруктураХраненияИнформационнойБазы() не молчит. В ней всё есть.
2 Мыш
 
12.02.19
14:58
Назначение(Purpose) – назначение таблицы:
Итоги(Totals) – итоги;
3 Мыш
 
12.02.19
15:00
Примечание. Количество и состав таблиц, полей и индексов могут отличаться в зависимости от значения параметра <ИменаБазыДанных>.

<ИменаБазыДанных> (необязательный)
Тип: Булево.
Определяет, в каких терминах выдается информация о структуре хранения.
Истина - в терминах СУБД.
Ложь - в терминах модели базы данных 1С:Предприятия.
Значение по умолчанию: Ложь.
4 bolero
 
12.02.19
15:00
(2) спасибо, сейчас глаза протру и посмотрю еще раз.

если что - наименования колонок у таблицы регистра и таблицы итогов совпадают, номера уникальные, можно у регистра брать первое попавшееся поле и по его номеру искать таблицу итогов
5 bolero
 
12.02.19
16:32
Да, раньше я действительно отбрасывал эту информацию как неполную чтоли. Видимо, как раз из-за того, что наименования колонок не на русском.

Было:

CREATE OR REPLACE VIEW names.РегистрНакопления_БонусныеБаллы
AS
SELECT
        _Period AS Период
        ,_RecorderTRef AS Регистратор_СсылкаТип
        ,_RecorderRRef AS Регистратор_Ссылка
        ,_LineNo AS НомерСтроки
        ,_Active AS Активность
        ,_RecordKind AS ВидДвижения
        ,_Fld15234RRef AS БонуснаяПрограммаЛояльности_Ссылка
        ,_Fld15235RRef AS Партнер_Ссылка
        ,_Fld15236 AS Начислено
        ,_Fld15237 AS КСписанию
        ,_Fld659 AS ОбластьДанныхОсновныеДанные
FROM public._AccumRg15233
;

CREATE OR REPLACE VIEW names._accumrgt15238
AS
SELECT
        _Period AS _Period
        ,_Fld15234RRef AS _Fld15234RRef
        ,_Fld15235RRef AS _Fld15235RRef
        ,_Fld15236 AS _Fld15236
        ,_Fld15237 AS _Fld15237
        ,_Fld659 AS _Fld659
        ,_Splitter AS _Splitter
FROM public._AccumRgT15238
;



Стало:

-- Метаданные: РегистрНакопления.БонусныеБаллы
-- Назначение: Основная
CREATE OR REPLACE VIEW names.РегистрНакопления_БонусныеБаллы
AS
SELECT
        _Period AS Период
        ,_RecorderTRef AS Регистратор_СсылкаТип
        ,_RecorderRRef AS Регистратор_Ссылка
        ,_LineNo AS НомерСтроки
        ,_Active AS Активность
        ,_RecordKind AS ВидДвижения
        ,_Fld15234RRef AS БонуснаяПрограммаЛояльности_Ссылка
        ,_Fld15235RRef AS Партнер_Ссылка
        ,_Fld15236 AS Начислено
        ,_Fld15237 AS КСписанию
        ,_Fld659 AS ОбластьДанныхОсновныеДанные
FROM public._AccumRg15233
;

-- Метаданные: РегистрНакопления.БонусныеБаллы
-- Назначение: Итоги
CREATE OR REPLACE VIEW names.РегистрНакопления_БонусныеБаллы_Итоги
AS
SELECT
        _Period AS _Period
        ,_Fld15234RRef AS _Fld15234RRef
        ,_Fld15235RRef AS _Fld15235RRef
        ,_Fld15236 AS _Fld15236
        ,_Fld15237 AS _Fld15237
        ,_Fld659 AS _Fld659
        ,_Splitter AS _Splitter
FROM public._AccumRgT15238
;


Имена полей все еще не видно на русском, но их хотя бы можно восстановить, т.к. номера в итогах совпадают с номерами в основной таблице.