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


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

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

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);

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


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