Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
Добрый день! И так на мою голову свалился 1С :-) Платформа 1С:Предприятие 8.1 (8.1.13.37), MSSQL Enterprise 2008 На нем никогда не программировал и не работал с ним, сразу предупреждаю. Есть глобальная задача построения "хранилища" данных для 1С, с целью БЫСТРОГО построения на ней отчетов, в том числе аналитических. На данный момент эта задача решена в лоб, т.е. данные для хранилища берутся непосредственно из БД MSSQL. (Сейчас опущу вопрос спорности этого подхода, это уже сделано до меня и с этим пока придется работать.) Сейчас пытаюсь написать MSSQL выводил данные аналогично "Журналу проводок". Нужно для построения отчета по проводкам. С помощью утилитки для конфигурации 1С вытащил структуру таблиц и воспользовавшись профайлером выяснил: - Таблицы для хранения моего журнала проводок - Таблицы для хранения значений субконто для счетов - Таблицы для плана счетов - Даже справочники (и не только) для значений субконто НО По профайлеру не могу понять как 1С узнает в какую таблицу лезть для того чтобы вывести само значение СУБКОНТО, по его идентификатору. В профайлере рисуется следущее, при просмотре журнала проводок в 1С: 1) Получаем список проводок 2) Получаем список значений субконто - там только название субконто (идентификатор в "Плане видов характеристик") и идентификатор - значение. А дальше самое интересное, 1С сам берет эти значения из пункта 2 и выбирает их из справочников. А как он узнал из какого справочника взять это значение? Есть поле Kind для каждого значения субконто куда оно указывает непонятно. Искал в План видов характеристик. Если открыть на просмотр План видов характеристик в 1С Выводится таблица, такого вида: Тип субконто --- Тип Значения Статьи затрат --- Справочник ссылка.Статьи затрат Структурный отдел --- Организация.Структурный отдел ..... Смотрю в профайлере (какие запросы идут сиквелу), вижу выводится содержимое одной таблицы, там есть поле Kind и он типа Image. В нем напротив каждого субконто какой то массив байт. Если менять "Тип Значения" для субконто , видно что сиквел апдейтит этот Image на другое. Явно в этом поле и хранится информация о методанных типа. Можно ли понять в какой таблице искать значение субконто ТОЛЬКО ИЗ ДАННЫХ! хранящихся в таблицах MSSQL? Изучил много веток по темам метаданных 1С и тд. Но про это не нашел пока..... Понятно что можно просто посмотреть глазами в 1с и найти необходимую таблицы по имени, но в общем виде задачу не решает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2010, 12:06 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
попробуйте тут поковырять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2010, 12:47 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
или тут есть пара обработок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2010, 12:52 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
Спасибо! Буду смотреть. Обработки пробовал, пока ни одна раскопать мне не помогла. Те поля которые мне нужны никак с помощью метаданных не описываются. Например те же "ПосмотрМетаданных81.epf" "DBStructure81.epf" в таблице "AccntReg2201" (У меня хранит значения субконто для регистра бугалтерии) Поля никак не описываются Тоже самое с таблицей "Chrc473" - ПланВидовХарактеристик.ВидыСубконтоХозрасчетные: Поля "_Type" для меня загадка! Что с ней делает 1С пока непонятно. И еще не помогает, то что фореиин кеи и констраинты, к большому сожалению (и моему удивлению), чужды для структуры базы данных 1С. Сейчас поищу книгу А.Габца "Профессиональная разработка в системе 1С:Предприятие 8" (Спасибо за ссылку!) Там есть в 9й главе описание "Объект Регистр бухгалтерии" Надеюсь это то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2010, 14:45 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
Добавь свою табличку соответствия значений поля _Value_RTRef названиям таблиц, содержащих значения субконто. Поля _Type так и останутся загадкой - они каким-то образом описаны в таблице Config, но достать из нее это описание может только платформа 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2010, 16:47 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
В книге ответа на это тоже нет, там описаны лишь основные поля. Да видимо придется сделать свой справочник метаданных, для нужных мне субконто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2010, 14:51 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
DexterAlex84, Для вас конечно давно не актуально, но если кто будет искать где именно хранятся субконто в 1С 8 версии, то я поделюсь своими наблюдениями: "По профайлеру не могу понять как 1С узнает в какую таблицу лезть для того чтобы вывести само значение СУБКОНТО, по его идентификатору." Таблицы и поля 1С называет как хочет поэтому несовпадения в названиях таблиц и полей возможны. У меня например регистр проводок с субконто это таблица _AccRgED489 В ней есть поле _KindRRef оно для связи с таблицей плансчетов+субконто (_Acc13_ExtDim446) а от туда идет связь к ПланВидовХарактеристик.ВидыСубконтоХозрасчетные (_Chrc428), где можно прочесть названия справочников (но не таблиц из базы!) А наиболее простой путь найти справочник на который идёт ссылка - это обратить внимание на поле ****_RTRef то есть ссылка на тип связи. В отличие от ссылки на сам элемент справочника оно бинарное4, а не бинарное16. Оно и очевидно, справочников же гораздо меньше чем элементов в иных из них. :-) Так вот, в этом поле и зашифрован номер таблицы справочника _ReferenceXXX . Если XXX перевести в 16-ричную систему счисления то и получите бинарное значение поле для типа связи. Правда не всегда субконто - справочник. Вроде может быть и документом. Вот тогда наверно задействуется поле _TYPE в котором хранится наверное тип типа связи. оно бинарное1. Но у меня субконто только справочники и это поле одинаковое везде в регистре. Поэтому по нему ничего не скажу. Удачи в расследовании баз 1С! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 18:05 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
Вячеслав Го, Ничего там расследовать не надо. Стандартный подход - пишется обработка на 1С, которая создает много-много представлений в MSSQL с человеческими именами полей на основе данных конфигуратора. Вся дальнейшая работа через эти представления. Никаких исследований с помощью Profiler`а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2011, 08:57 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
А зачем лицензионное соглашение нарушать да ещё и такими проблеммами? Реализовать часть ETL в самой 1С и не парьться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2011, 09:58 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
AHDP, Так-то конечно правильнее, но если база большая (200+ Гб), то запросы, которые генерирует 1С, мягко говоря перестают удовлетворять. Как вариант - средствами 1С просто переносить данные в стороннюю базу точно такой же структуры и уже из нее брать данные для DWH с организацией ETL-процесса. Но тут появляется лишнее звено в виде промежуточного хранилища и соответственно страдает скорость (+ расходы на оборудование). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2011, 11:17 |
|
||
|
Хранение типа субконта в дебрях таблиц MSSQL сервера
|
|||
|---|---|---|---|
|
#18+
Критик, Точно так и планируется в дальнейшем: "выгружение средствами 1С". Но это ещё один планировщик и работа для отдела сопровождения 1С-ки. А мы, пока так сделали. И потом, я ж на вопрос отвечал, на который и сам ответ искал и почему-то не нашёл на форумах :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2011, 10:03 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37455518&tid=1520993]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 387ms |

| 0 / 0 |
