|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Всем добрый день, 1с7.7 sql. Проблема - ID таблицы _1SCONST. Как проще всего понять содержание этих идентификаторов? К таблицам они отношения не имеют и 1Cv77.DDS бесполезен. Без md это возможно? Есть только SQL. Заранее признателен за советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 11:22 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Скорее вопрос в OBJID. Неважно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 11:36 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
имхо без md не обойдешься ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 11:38 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
1211212Скорее вопрос в OBJID. Неважно. OBJID - это и без md - это id который есть в других таблицах, а вот чтобы понять в какой таблице этот OBJID, надо смотреть на ID, причем стоит учесть что по странной прихоти 1С ID хранится в 10-м виде, а не в 36-ричном, как OBJID и ID в других таблицах ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 11:52 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Старый 1С-ик 1211212Скорее вопрос в OBJID. Неважно. OBJID - это и без md - это id который есть в других таблицах, а вот чтобы понять в какой таблице этот OBJID, надо смотреть на ID, причем стоит учесть что по странной прихоти 1С ID хранится в 10-м виде, а не в 36-ричном , как OBJID и ID в других таблицах 16-ричном? Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 11:56 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
В этой таблице хранятся: - значения всех простых констант - история значений всех периодических констант - история значений всех периодических реквизитов справочников Для идентификации любого из этих значений dd(s) недостаточно - нужно дерево метаданных из md ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:03 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
1211212 Старый 1С-ик 1211212Скорее вопрос в OBJID. Неважно. OBJID - это и без md - это id который есть в других таблицах, а вот чтобы понять в какой таблице этот OBJID, надо смотреть на ID, причем стоит учесть что по странной прихоти 1С ID хранится в 10-м виде, а не в 36-ричном , как OBJID и ID в других таблицах 16-ричном? Спасибо за помощь. Нет не в 16-ричном, а именно в 36-ричном виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:06 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Да вижу, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:14 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
pailВ этой таблице хранятся: - значения всех простых констант - история значений всех периодических констант - история значений всех периодических реквизитов справочников Для идентификации любого из этих значений dd(s) недостаточно - нужно дерево метаданных из md В общем ситуация такая, что md-шника мне пока не допроситься (все в отпуске) и хотелось бы обойтись без него. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:21 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
если "md-шника мне пока не допроситься (все в отпуске) " - в общем случае остается расслабиться и ждать. Хотя в частном случае можно по содержанию полей для себя карту некоторых идентификаторов составить - отыскав значения в базе. Кстати, учти, что длина значащего поля в этой таблице только 20 симв, и более длинные строчные значения надо из нескольких записей собирать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:30 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
pail Кстати, учти, что длина значащего поля в этой таблице только 20 симв, и более длинные строчные значения надо из нескольких записей собирать Спасибо за инфу. Периодические реквизиты справочника типа другой справочник, т.е. другие коды в VALUE - скорее всего это не актуально. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2007, 12:42 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Получил md-шник. Возникла пара вопросов, общеобразовательных так сказать: 1) Словарь (dd) содержит описание только непериодических реквизитов/полей. Например, справочник Сотрудники содержит множество периодических реквизитов. Таблицы SQL не связаны. Таким образом, вопрос - существует ли какой нибудь способ определения принадлежности поля периодическому рекизиту, кроме косвенного (т.е., FIELD(36) <-> ID(10) _1SCONST -> смотрим содержание в 1С и SQL -> FIELD)? 2) Хотелось бы добавить пользовательскую функцию в БД (FIELD(36) <-> ID(10)). Лучше этого не делать? TIA. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 10:31 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Словарь - 1Cv77.DDS ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 10:40 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
Первый вопрос отпал - словарь устаревший. Есть поля для периодических реквизитов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 11:24 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
И словарь не устаревший... Похоже наличие поля в таблице определяется вводом данных в реквизит, а не наличием реквизита. Ладно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 11:44 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
в dds описана физическая схема данных - все поля. Периодические реквизиты хранятся в 1sconst - структура которого тоже честно описана в 1cv7.dds - но этого мало. Тебе нужно извлечь логическую схему базы (дерево метаданных) из 1cv7.md Разные реализации этой задачи встречались. Даже сам когда-то делал. Наиболее завершенные разработки по этой теме - в http://www.1cpp.ru/ раздел MetaDataWork Когда узнаешь ID объекта(реквизита) - останется преобразовать его десятичное представление в 36-ричное (над алфавитом 0123456789ABCD....XYZ чтобы узнать какие значения ID и OBJID искать в 1sconst для выделения значений нужных полей ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:19 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
насчет ID объекта малость соврал-запамятовал вначале. На самом деле внутренний идентификатор любого объекта (т.е. элемента данных типа справочник, документ, константа) можно узнать через функцию ЗначениеВстрокуВнутр(значение) Возвращается структура из нескольких полей в строке, одно из которых (чуть ли не первое, во-всяком случае, самое длинное) - это и есть внутр.идентификатор. Идентификатор здесь имеет вид ABC|nnnnnn, где ABC - префикс экземпляра распределенной БД, в которой объект создан (в нераспределенной БД - пробелы) а nnnnnn - числовой код. Для документов код уникален в пределах всей БД, для справочников - только в пределах каждого справочника. В БД nnnnnn преобразуется в 36-ричное представление, ABC остается неизменным ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:40 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
pailв dds описана физическая схема данных - все поля. Периодические реквизиты хранятся в 1sconst - структура которого тоже честно описана в 1cv7.dds - но этого мало. Тебе нужно извлечь логическую схему базы (дерево метаданных) из 1cv7.md Разные реализации этой задачи встречались. Даже сам когда-то делал. Наиболее завершенные разработки по этой теме - в http://www.1cpp.ru/ раздел MetaDataWork Когда узнаешь ID объекта(реквизита) - останется преобразовать его десятичное представление в 36-ричное (над алфавитом 0123456789ABCD....XYZ чтобы узнать какие значения ID и OBJID искать в 1sconst для выделения значений нужных полей Спасибо. В общем - то вопрос уже снят - разобрался. У меня просто осталась эта пара вопросов (на рост эрудиции): 1) Хотелось бы добавить пользовательскую функцию в БД (FIELD(36) <-> ID(10)). Лучше этого не делать? 2) В свойствах справочника вижу реквизит, а в таблице и в словаре не вижу поля. Соответстенно, предполагаю что проблемы с БД нет и это просто внутрення оптимизация хранения данных (попросту в поле ничего не вводили, зачем его заводить)? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:45 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
если в метаданных поле есть, а в таблице нет - это не оптимизация. Это поле хранится в другой таблице. Периодические реквизиты - в 1sconst, строки неограниченной длины - в 1sblob ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:49 |
|
1с7.7 sql - ID _1SCONST.
|
|||
---|---|---|---|
#18+
pailесли в метаданных поле есть, а в таблице нет - это не оптимизация. Это поле хранится в другой таблице. Периодические реквизиты - в 1sconst, строки неограниченной длины - в 1sblob Нет, все поля по справочнику (по крайней мере сотрудники) хранятся в одной таблице - в т.ч. и периодические -, но потенциально интерсеный реквизит для отделов в таблице отсутствует, я и сделал вывод, что они его попросту не ведут. Тогда он и не нужен для выборки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2007, 16:56 |
|
|
start [/forum/topic.php?fid=28&fpage=182&tid=1525331]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
47ms |
get forum data: |
2ms |
get page messages: |
173ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 305ms |
0 / 0 |