Имя: Пароль:
1C
1С v8
Структура таблиц базы 1С
0 4uvak
 
30.09.13
17:10
Всем привет. Столкнулся с такой ситуацией. Клиент просит предоставить структуру таблиц в базе, дабы он подсказал что и как лучше сделать. Послать его не пошлешь так как по тех заданию, основные работы уже сделаны, при попытке объяснить что в базе очень много таблиц в которой он ногу себе поломает, не увенчались успехом. Если кто то сталкивался, подскажите как выходили из ситуации.
1 Fragster
 
модератор
30.09.13
17:11
Ну так дай ему структуру, пусть распечатает, на стенку повесит...
2 Нуф-Нуф
 
30.09.13
17:12
Глобальный контекст.ПолучитьСтруктуруХраненияБазыДанных (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) – полное имя объекта метаданных.
Описание:

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

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

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

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

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.Номенклатура");
МассивИменМетаданных.Добавить("Документ.РасходнаяНакладная");
СтруктБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
3 Fragster
 
модератор
30.09.13
17:12
особенно интересно то, что foreign keys нету в этой структуре, и как он там связи будет рисовать - непонятно
4 Лефмихалыч
 
30.09.13
17:13
А на основании чего клиент будет советы давать? Он обладатель сертификата от вендора,  в котором написано, что у него чорный пояс по СУБД?
5 Господин ПЖ
 
30.09.13
17:14
рисуешь ER диаграмму и вперед...
6 4uvak
 
30.09.13
17:14
(3)В том и дела что ему нужно со связями, что то типа Access
7 Холодильник
 
30.09.13
17:14
скрин с конфигуратора?
8 Господин ПЖ
 
30.09.13
17:14
(3) по понятиям... владелец, ссылко
9 Лефмихалыч
 
30.09.13
17:14
(3) а в скуле разве нет ни каких средств для построения диаграмм связей. В аксесе есть, значит и в mssql есть. Можно тамошнюю заюзать.
Только хрен ли толку от этой работы?..
10 Fragster
 
модератор
30.09.13
17:15
(9) фореинг кейз нету же
11 Fragster
 
модератор
30.09.13
17:15
фореигн
12 Господин ПЖ
 
30.09.13
17:15
была такая фигня от гендальфа вроде - структуру рирует в Visio  - упп выглядело эпично
13 4uvak
 
30.09.13
17:17
(12)А по подробней можно
14 ptiz
 
30.09.13
17:18
(0) Скажи, что 1С выдает такой отчет в виде файла .cf
Просматривать - с помощью 1С:конфигуратора.
15 Господин ПЖ
 
30.09.13
17:18
типа такого отдай им http://infostart.ru/public/101036/
16 Лефмихалыч
 
30.09.13
17:19
СППР умеет акуительные ER-диаграммы рисовать
http://savepic.org/4510283.png
17 Господин ПЖ
 
30.09.13
17:19
тоже вариант
18 Лефмихалыч
 
30.09.13
17:20
+(16) они как раз такие, как клиенту надо - огромные, разноцветные и нихрена не понятно, но внушаить
19 Fragster
 
модератор
30.09.13
17:20
(16) прямо все со всем может?
20 Лефмихалыч
 
30.09.13
17:21
(19) що?.. вопрос не понял
21 4uvak
 
30.09.13
17:22
(16)То что нужно, буду искать где достать
22 Fragster
 
модератор
30.09.13
17:22
(20) ну там на картинке - только от одного справочника связи. а так - чтобы все связи показало, распечатать и стену обклеить
23 Господин ПЖ
 
30.09.13
17:23
вспомнил!

не, не гендальф... прямо тут валялось на мисте - построитель графов DOT

http://streetrsorel.ru/1c/4616.htm
24 Господин ПЖ
 
30.09.13
17:24
может на той стороне фанаты erwin сидят...
25 Лефмихалыч
 
30.09.13
17:24
(22) ну, там выбираешь объект и ER строится от него на 1 уровень - то есть связи только непосредственные. Если порыться в коде, то легко можно заставить выводить и дальше, но что с этим делать? Ни какого А0 не хватит, чтобы это вывести
26 Господин ПЖ
 
30.09.13
17:26
особенно если по честному учесть реквизиты типа "все ссылки"...
27 Господин ПЖ
 
30.09.13
17:27
>> 9 лет ссылке из (23)...

когда Волшебник маленький, с кудрявой головой...
28 Джинн
 
30.09.13
17:37
Скажите клиенту, что структуру базы со связями, ключами и индексами строит сама 1С исходя из собственного понимания. И ей рекомендации заказчика по поводу структуры таблиц абсолютно пофиг. Поэтому пусть не трахают мозги ни себе, ни Вам, ни нам.
29 4uvak
 
30.09.13
17:40
(25)Да я не думаю что он что то умное придумает по графической структуре. Ну хочется заказчику блеснуть умом, надо дать ему возможность, чтобы отбить желание лезть куда не следует раз и на всегда.
30 Господин ПЖ
 
30.09.13
17:42
может люди хотят блеснуть знанием 3-ей формы... не мешайте им ЧСВ чесать об 1с-ников...
31 mikecool
 
30.09.13
17:44
(24) ервин же по ключам рисует, не?
32 Джинн
 
30.09.13
17:45
(29) Вы не желание отобьете - Вы геморрой себе поимеете неимоверный.

(30) Блестеть потом будет ТС. Когда ему выставят невыполнимое требование по "нормализации" и хрен заплатят за работу. Прямо с составными типами данных их сразу и накроет.
33 Господин ПЖ
 
30.09.13
17:55
их раньше накроет... почему сумма есть в ТЧ, да еще и в шапке...
34 Господин ПЖ
 
30.09.13
17:56
(31) ага... а также по своим рисункам базу курочит... а тут "тупое 1С" - беда-печаль
35 bolobol
 
30.09.13
17:57
Зато бабла немеряно! Структура каждый раз подгонять - прям листайте только!
36 Wern
 
30.09.13
18:23
Нужно просто сказать правду, что изменение непосредственно таблиц запрещено лицензионным соглашением и что максимум что можно менять это структуру метаданных. После чего распечатать ему отчет по конфигурации, меню Конфигурация/Отчет по конфигурации. И жить спокойно. Зачем чего то хитрить и выдумывать на свою голову.
37 Господин ПЖ
 
30.09.13
18:39
>Нужно просто сказать правду, что изменение непосредственно таблиц запрещено лицензионным соглашением

вообще это тупо... про изменения еще никто не говорил
38 Wern
 
30.09.13
18:43
(37) Разве? "дабы он подсказал что и как лучше сделать" - это об изменениях
39 bolobol
 
30.09.13
18:49
Структура базы 1С - это связи метаданных. Вопрос в том, когда писать обработку выгрузки этих связей, чтобы потом, загрузив её в Access, например, нарисовать линии. Ибо даже Access сам линии не нарисует. Такой инфы в базе нет. А значит - это уже дополнительное бабло! Хоть бабушка за 15 000 пусть рисует дома между внуками.
40 Сибирский ананас
 
30.09.13
23:34
Как вариант можно выгрузить метаданные в Сиб ананас (просьба модераторам не удалять сообщение, т.к. человеку реально похоже нужна помощь), и там в виде дерева все будет видно, что-то вроде http://3.bp.blogspot.com/-hA8xKQsb6Gk/UjHdwEwYoqI/AAAAAAAAAEk/0VmLnywr3RM/s1600/Рис+9+Конфигурации+обмена+данными.JPG

Пойдет такое дерево?
41 Сибирский ананас
 
30.09.13
23:35
Все для это есть на сайте - в т.ч. обработка по выгрузке метаданных из 1С.
42 Сибирский ананас
 
30.09.13
23:43
Короче на основании выгруженных данных уже можно и в других системах строить необходимые рисунки. Бери обработку и действуй. Хотел разместить ее на инфостарте, но там все жестко тут же удаляется.
43 Живой Ископаемый
 
30.09.13
23:47
2(38) он не говорил что изменения нужно будет делать минуя конфигуратор. Может он скажет где он хочет индексы, и задача ТС будет реализовать требуемое уже в конфигураторе
44 Сибирский ананас
 
30.09.13
23:48
Кстати в соседней ветке пишут про массовые оргазмы от новшеств в 1с прямо на партнерской конференции в Космосе: от хранимых процедур, отборы в метаданных. Странно получается, когда мы писали про возможность использования хранимых процедур никто этим не восхищался. Короче увидев конкуренцию 1С возможно и открытыми метаданные сделает, делов-то раз плюнуть.
45 Сибирский ананас
 
30.09.13
23:49
Кстати работающие хранимые процедуры еще никто не видел, но 1С на всякий случай решили заявить что они будут. Вот она сила конкуренции, задергались уже
46 Asmody
 
30.09.13
23:52
Ананас, а вот такое твой ананас прожует? http://www.mista.ru/upp/diagram_general.png
47 Asmody
 
30.09.13
23:53
(44) потому что ты про хранимые процедуры слил по полной.
А теперь дай мне ссылку, где 1С говорит про хранимые процедуры.
48 Сибирский ананас
 
30.09.13
23:54
(47) про хранимые процедуры Groovy писал
49 Asmody
 
30.09.13
23:56
(40) это дерево Конфигуратор строит "из коробки", нахрена ТС еще ваш ананас жрать?
50 Сибирский ананас
 
30.09.13
23:58
(49) ну не совсем такое дерево. Для начала у нас визуальнее выводятся подчиненные справочники, они сразу подчиняются владельцу, например договора идут под контрагентами, а табличные части документов под документами сразу без всяких плюсиков
51 Asmody
 
30.09.13
23:58
(48) ссылку приведи с номером сообщения
52 Сибирский ананас
 
30.09.13
23:59
GROOVY

187 - 29.09.13 - 16:01
    
Про платформу: Внешние источники данных с поддержкой хранимых процедур и гиперконфигуратор...
53 Asmody
 
30.09.13
23:59
(50) у вас же множественной подчиненности нет, вы даже не сможете структуру типовой переварить
54 Сибирский ананас
 
01.10.13
00:00
(53) да, пока нет, думали над этим и уже придумали как это красиво реализовать. Будет круче чем в 1С
55 Asmody
 
01.10.13
00:00
(52) ты хоть понимаешь, что такое "внешние источники данных" для восьмерки?
56 Сибирский ананас
 
01.10.13
00:02
(55) это очевидно из названия.
я немного расширил новшество, которое еще никто не видел, до использования хранимых процедур в самой 1с, например при проведении документа
57 йети
 
01.10.13
00:04
(0) думаю ...просит предоставить структуру таблиц в базе, дабы он подсказал что и как лучше сделать... направлено на снижение согласованной стоимости работ. Можно предложить Заказчику принять работы по техзаданию, после этого сделать допсоглашение или новый договор по улучшению.
58 Сибирский ананас
 
01.10.13
00:05
(55) я бы хотел отправлять сообщения в ту ветку, вы заблокировали меня в ней? думаю не только меня, судя по сплошь восторженным откликам :)
59 Asmody
 
01.10.13
00:07
(56) вернемся к этой теме, когда ваш ананас научится создавать хранимые процедуры при переносе базы с одной СУБД на другую
60 Asmody
 
01.10.13
00:08
(58) ты у себя в личке хоть одну блокировку видишь?
61 Сибирский ананас
 
01.10.13
00:08
(46) ананас съест все что поддерживает наш формат данных - таблица таблиц T1 и таблица полей T2. Есть обработка по выгрузке из 1С в таком формате данных. Потом их можно просматривать
62 Сибирский ананас
 
01.10.13
00:09
(60) не вижу, но в ту ветку не получается добавить сообщение
63 Asmody
 
01.10.13
00:13
(62) в какую конкретно ветку ты не можешь написать?