|
v7: Как получить структуру хранения базы данных в 7.7 | ☑ | ||
---|---|---|---|---|
0
breezee
20.07.18
✎
09:07
|
Коллеги, добрый день!
Собственно, Как получить структуру хранения базы данных в 7.7? |
|||
1
breezee
20.07.18
✎
09:08
|
Надо составить скульный запрос к базе
|
|||
2
Волшебник
20.07.18
✎
09:08
|
файл dd
|
|||
3
breezee
20.07.18
✎
09:09
|
(2) dds?
|
|||
4
1Сергей
20.07.18
✎
09:10
|
в конфигураторе есть такой пункт меню
|
|||
5
breezee
20.07.18
✎
09:12
|
(4) Нашел только "Параметры базы данных SQL". Мне бы названия таблиц
|
|||
6
1Сергей
20.07.18
✎
09:15
|
(5) Конфигурация - Описание структуры метаданных
Но, оно тебе не поможет |
|||
7
Эльниньо
20.07.18
✎
09:43
|
(5) Распечатай dd (dds) и сделай его настольной книгой. На ночь почитывай
|
|||
8
Карст
20.07.18
✎
09:57
|
(0) общая структура
http://www.script-coding.com/v77tables.html |
|||
9
bolder
20.07.18
✎
10:21
|
(8) Спасибо,хорошая статья.
|
|||
10
breezee
20.07.18
✎
10:29
|
(8) А частную как вытянуть? Для 8 есть метод "ПолучитьСтруктуруХраненияБазыДанных()" а для 7.7 есть аналог?
|
|||
11
s03
20.07.18
✎
10:30
|
(10) распарсить dd(s)
|
|||
12
1Сергей
20.07.18
✎
10:32
|
(7) в этих файлах имена обрезаны
|
|||
13
Карст
20.07.18
✎
10:32
|
(11) + угу совместно с методом метаданные. ибо в dds не всё ...
|
|||
14
1Сергей
20.07.18
✎
10:34
|
Есть утилиты, которые выводят Main MetaData Stream из md
|
|||
15
uno-group
20.07.18
✎
10:48
|
Только через ВК
|
|||
16
Cthulhu
20.07.18
✎
11:25
|
(15): нет.
|
|||
17
Карст
20.07.18
✎
11:57
|
Gcomp еще как бэээ
|
|||
18
Злопчинский
20.07.18
✎
16:32
|
ну, можно тупо языком программирования например через
Метаданные.Справочник() = вытащить инфу по всем справочникам. вних - по всем реквизитам.. и по документам и прочее |
|||
19
Карст
20.07.18
✎
16:36
|
(18) встречал поделки из серии внешнего отчета - описание структуры базы данных - выводит в виде отчетов
|
|||
20
uno-group
20.07.18
✎
16:38
|
(18) В 4 автор названия таблиц спрашивает.
|
|||
21
uno-group
20.07.18
✎
16:39
|
(0) А тебе зачем? Может тебе что то другое нужно
|
|||
22
Djelf
20.07.18
✎
17:48
|
(0) Парсер 1Cv7.dd и 1Cv7.dds http://catalog.mista.ru/public/15302/
Внутренние данные 1С, можно получить из метаданных, сравнивая реквизиты по номеру т.к. их порядок будет соответствовать. |
|||
23
Cthulhu
20.07.18
✎
18:22
|
(20): ичо.
тТхт=ЗначениеВСтрокуВнутр(тЭлемент); тСЗ=СоздатьОбъект("СписокЗначений"); тСЗ.ИзСтрокиСРазделителями(Сред(Лев(тТхт,СтрДлина(тТхт)-1),2)); тТхт=тСЗ.ПолучитьЗначение(тСЗ.РазмерСписка()); тТхт=СокрЛП(Лев(тТхт,10)); Сообщить("Справочник """+тЭлемент.Вид()+""" лежит в (DBF+CDX)файлах (ну или в sql-таблице) с именем SC"+тТхт+"... чонеясно?","i"); |
|||
24
big
20.07.18
✎
19:43
|
И все-таки - м.б. использовать 1срр? Или нужен полный хардкор? ))
|
|||
25
Djelf
20.07.18
✎
19:48
|
(24) А это от заказчика зависит.
Некоторые 1с++ не используют и не хотят. И вообще не понятно что (0) хотел. Может ему вообще в 7ку залезать не надо... Типа этого: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=550323&msg=5590201 |
|||
26
Cthulhu
20.07.18
✎
20:42
|
(24): т.е. встроенный язык - это хардкор, а вк (для того же самого) - это не хардкор?..
хмм, ясно-понятно... |
|||
27
Эльниньо
31.07.18
✎
18:49
|
Дабы не плодить ветки, суну сюда
ТекстЗапроса = " |SELECT Row_Id,ObjId,Id,Date,DocId |FROM | _1sconst |WHERE ObjId<>' 0 ' and DocId=' 0 '"; ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.НоваяКолонка("Спр",,,,, 12); ТЗ.НоваяКолонка("Объект"); Форма.Обновить(); Т.ВыбратьСтроки(); Пока Т.ПолучитьСтроку() = 1 Цикл Т.Объект = МетаДатаВорк.ЗначениеИзСтрокиБД(11, Т.Id, Т.ObjId); Т.Спр = ???(Т.Id); КонецЦикла; Как мне в Т.Спр получить идентификатор справочника |
|||
28
Эльниньо
01.08.18
✎
13:20
|
Вопрос снят
|
|||
29
Злопчинский
01.08.18
✎
13:21
|
(28) типа ну и хрен с ним или сам решил? если сам - то незачот! пиши ответ
|
|||
30
Эльниньо
01.08.18
✎
13:28
|
(29) Сам решил.
Сначала: Для х = 1 По Метаданные.Справочник() Цикл Для у = 1 По Метаданные.Справочник(х).Реквизит() Цикл Если Метаданные.Справочник(х).Реквизит(у).Периодический = 1 Тогда Тр.НоваяСтрока(); Тр.Спр = Метаданные.Справочник(х).Идентификатор; Тр.Рекв = Метаданные.Справочник(х).Реквизит(у).Идентификатор; Тр.АйДи = МетаДатаВорк.ИДРеквизитаСправочника(х, у); КонецЕсли; КонецЦикла; КонецЦикла; потом: Т.ВыбратьСтроки(); Пока Т.ПолучитьСтроку() = 1 Цикл Состояние("Обработка " + Т.НомерСтроки + "/" + Т.КоличествоСтрок()); Т.Объект = МетаДатаВорк.ЗначениеИзСтрокиБД(11, Т.Id, Т.ObjId); с = 0; Тр.НайтиЗначение(Т.Id, с, "АйДи"); Если с > 0 Тогда Т.Спр = Тр.ПолучитьЗначение(с, "Спр"); Т.Рекв = Тр.ПолучитьЗначение(с, "Рекв"); КонецЕсли; КонецЦикла; |
|||
31
Эльниньо
01.08.18
✎
13:33
|
Тут поинтереснее нарисовалось.
Похоже, что делали Спр.Удалить(1) и в этом случае периодические значения не удаляются из _1sconst Много строк, где Т.Объект = МетаДатаВорк.ЗначениеИзСтрокиБД(11, Т.Id, Т.ObjId); выдает <Объект не найден> |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |