Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Как получить структуру хранения базы данных в 7.7

Я
   breezee
 
20.07.18 - 09:07
Коллеги, добрый день!
Собственно, Как получить структуру хранения базы данных в 7.7?
 
 
   breezee
 
1 - 20.07.18 - 09:08
Надо составить скульный запрос к базе
   Волшебник
 
2 - 20.07.18 - 09:08
файл dd
   breezee
 
3 - 20.07.18 - 09:09
(2) dds?
   1Сергей
 
4 - 20.07.18 - 09:10
в конфигураторе есть такой пункт меню
   breezee
 
5 - 20.07.18 - 09:12
(4) Нашел  только "Параметры базы данных SQL". Мне бы названия таблиц
   1Сергей
 
6 - 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
   bolder
 
9 - 20.07.18 - 10:21
(8) Спасибо,хорошая статья.
   breezee
 
10 - 20.07.18 - 10:29
(8) А частную как вытянуть? Для 8 есть метод "ПолучитьСтруктуруХраненияБазыДанных()" а для 7.7 есть аналог?
 
  Рекламное место пустует
   s03
 
11 - 20.07.18 - 10:30
(10) распарсить dd(s)
   1Сергей
 
12 - 20.07.18 - 10:32
(7) в этих файлах имена обрезаны
   Карст
 
13 - 20.07.18 - 10:32
(11) + угу совместно с методом метаданные. ибо в dds не всё ...
   1Сергей
 
14 - 20.07.18 - 10:34
Есть утилиты, которые выводят Main MetaData Stream из md
   uno-group
 
15 - 20.07.18 - 10:48
Только через ВК
   Cthulhu
 
16 - 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) встречал поделки из серии внешнего отчета - описание структуры базы данных - выводит в виде отчетов
   uno-group
 
20 - 20.07.18 - 16:38
(18) В 4 автор названия таблиц спрашивает.
   uno-group
 
21 - 20.07.18 - 16:39
(0) А тебе зачем? Может тебе что то другое нужно
   Djelf
 
22 - 20.07.18 - 17:48
(0) Парсер 1Cv7.dd и 1Cv7.dds http://catalog.mista.ru/public/15302/
Внутренние данные 1С, можно получить из метаданных, сравнивая реквизиты по номеру т.к. их порядок будет соответствовать.
   Cthulhu
 
23 - 20.07.18 - 18:22
(20): ичо.
тТхт=ЗначениеВСтрокуВнутр(тЭлемент);
тСЗ=СоздатьОбъект("СписокЗначений");
тСЗ.ИзСтрокиСРазделителями(Сред(Лев(тТхт,СтрДлина(тТхт)-1),2));
тТхт=тСЗ.ПолучитьЗначение(тСЗ.РазмерСписка());
тТхт=СокрЛП(Лев(тТхт,10));
Сообщить("Справочник """+тЭлемент.Вид()+""" лежит в (DBF+CDX)файлах (ну или в sql-таблице) с именем SC"+тТхт+"... чонеясно?","i");
   big
 
24 - 20.07.18 - 19:43
И все-таки - м.б. использовать 1срр?  Или нужен полный хардкор? ))
   Djelf
 
25 - 20.07.18 - 19:48
(24) А это от заказчика зависит.
Некоторые 1с++ не используют и не хотят.

И вообще не понятно что (0) хотел.
Может ему вообще в 7ку залезать не надо...
Типа этого: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=550323&msg=5590201
   Cthulhu
 
26 - 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);

выдает <Объект не найден>



Список тем форума
Рекламное место пустует   Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует