Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Структура таблиц БД 1С  [new]
1C v8.1 user
Guest
Добрый день,

Знает ли кто-нибудь, как выгрузить из 1С 8.1 (с помощью какой-либо утилиты/обработки) информацию о структуре ее физической БД (типа таблица такая-то и поле такое-то - это такой то документ/поле документа)?

У меня есть обработка, но она для версии 8.0, и с 8.1 не совместима.

Этот вопрос на форуме обсуждался, но как-то я не нашел хорошего решения...
8 фев 08, 16:46    [5265166]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
Искандер Двурогий
Member

Откуда:
Сообщений: 361
А чего, метод ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
уже не катит?
8 фев 08, 18:19    [5265934]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
1C v8.1 user
Guest
А чего, метод ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
уже не катит?


Вполне возможно что и катит. Не могли бы Вы привести кусочек результата, который можно получить при использовании этого метода? Можно ли вывести одной командой описание всех таблиц 1С, или этот метод работает только для одного заданного документа, и возвращает описание только одной выбранной таблицы?
8 фев 08, 18:44    [5266071]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
guest11
Guest
1C v8.1 user
А чего, метод ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
уже не катит?


Вполне возможно что и катит. Не могли бы Вы привести кусочек результата, который можно получить при использовании этого метода? Можно ли вывести одной командой описание всех таблиц 1С, или этот метод работает только для одного заданного документа, и возвращает описание только одной выбранной таблицы?


В синтакс-помощник хотя бы загляни - там всё подробно описано...
9 фев 08, 01:01    [5267105]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
Сисой
Member

Откуда:
Сообщений: 3033
1C v8.1 user
А чего, метод ПолучитьСтруктуруХраненияБазыДанных (GetDBStorageStructureInfo)
уже не катит?


Вполне возможно что и катит. Не могли бы Вы привести кусочек результата, который можно получить при использовании этого метода? Можно ли вывести одной командой описание всех таблиц 1С, или этот метод работает только для одного заданного документа, и возвращает описание только одной выбранной таблицы?


Да, можно по всем или по выбранным. Смотри Синтакс- помощник.
9 фев 08, 10:31    [5267300]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 425
ПРимерчик кинуть или уже раздуплился?
10 фев 08, 23:15    [5269502]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 425
Создай на форме табличное поле, с типом Значения : ДеревоЗначений.
А на кнопку повесь процедуру. И да прибудет с тобой Сила и не поминай лихом..

Процедура КнопкаВыполнитьНажатие(Кнопка)
	
	лТЗПолучено = ПолучитьСтруктуруХраненияБазыДанных(Метаданные.Документы);
	лДерево = Новый ДеревоЗначений();
	лДерево.Колонки.Добавить("Наименование");
	лДерево.Колонки.Добавить("Поле");
	Для Каждого лСтрокаТЗ Из лТЗПолучено Цикл
		лСтрокаДерева1 = лДерево.Строки.Добавить();
		лСтрокаДерева1.Наименование = лСтрокаТЗ.ИмяТаблицыХранения;
		лСтрокаДерева1.Поле = лСтрокаТЗ.ИмяТаблицы;
		Для Каждого лСтрока Из лСтрокаТЗ.Поля Цикл
			лСтрокаДерева2 = лСтрокаДерева1.Строки.Добавить();
			лСтрокаДерева2.Наименование = лСтрока.ИмяПоляХранения;
			лСтрокаДерева2.Поле = лСтрока.ИмяПоля;
		КонецЦикла; 
	КонецЦикла; 
	ЭлементыФормы.ТабличноеПоле.Значение= лДерево;
	ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
	
КонецПроцедуры

да кстати, рекурсивно не обходил - влом было :) Посему критикам всем всад...
10 фев 08, 23:18    [5269510]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
RMih
Member

Откуда: Москва
Сообщений: 161
Обработка просмотра структуры SQL таблиц с помощью функции ПолучитьСтруктуруХраненияБазыДанных()
Писал для себя, буду рад, если пригодится :-)

К сообщению приложен файл (ПосмотрМетаданных81.epf - 7Kb) cкачать
11 фев 08, 09:52    [5270026]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 425
Супер! Уважаю. не поленился...
12 фев 08, 09:58    [5274991]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
VladimirKr
Member

Откуда: СПб
Сообщений: 1047
SignOff
Супер! Уважаю. не поленился...

+1
15 фев 08, 14:05    [5295047]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
ruzilya.angel
Member

Откуда:
Сообщений: 1
1C v8.1 user
Добрый день,

Знает ли кто-нибудь, как выгрузить из 1С 8.1 (с помощью какой-либо утилиты/обработки) информацию о структуре ее физической БД (типа таблица такая-то и поле такое-то - это такой то документ/поле документа)?

У меня есть обработка, но она для версии 8.0, и с 8.1 не совместима.

Этот вопрос на форуме обсуждался, но как-то я не нашел хорошего решения...


А можете поделится обработкой для 8.0? если хотите то могу вам дать хороший пример для 8.1.
7 мар 08, 12:42    [5385040]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Структура таблиц БД 1С  [new]
Stas_12
Member

Откуда:
Сообщений: 1
А никто не подскажет есть табличка где хранятся все транзакции? Например Дата, дебет счета, кредит счета, сумма, кем сделана транзакция, описание операции. Заранее благодарен.
30 апр 09, 16:22    [7135286]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
rancid
Member

Откуда: *мск
Сообщений: 113
Stas_12, то что вы описываете - это регистр бухгалтерии, насколько я понимаю
4 май 09, 09:14    [7140837]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
Сисой
Member

Откуда:
Сообщений: 3033
Stas_12
А никто не подскажет есть табличка где хранятся все транзакции? Например Дата, дебет счета, кредит счета, сумма, кем сделана транзакция, описание операции. Заранее благодарен.


Нет такого.
В том смысле, что есть, но без автора. Есть ссылка на Регистратор, породивший проводку.
А уж информация о том, кто создал этот документ, иногда (если об этом позаботились авторы конфигурации) может быть в заголовке документа (поле Автор), а может храниться только в журнале регистрации (отдельный текстовый файл на сервере 1С, он еще д.б. включен в Конфигураторе).
4 май 09, 11:22    [7141501]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
nicktcher
Member

Откуда: Москва
Сообщений: 581
Вот хорошая обработка, рекомендую.
Вообще на infostart.ru масса полезных вещичек для 1С выложена. Полазьте, не пожалеете)

К сообщению приложен файл (СтруктураБД.epf - 11Kb) cкачать
4 май 09, 11:27    [7141544]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
nicktcher
Member

Откуда: Москва
Сообщений: 581
Stas_12
А никто не подскажет есть табличка где хранятся все транзакции? Например Дата, дебет счета, кредит счета, сумма, кем сделана транзакция, описание операции. Заранее благодарен.


Если речь идет о бух.проводках, то регистр бухгалтерии имеет довольно сложную структуру и информация хранится в нескольких физ.таблицах в БД. Например, обороты и аналитика проводок хранятся в разных таблицах. Я детально описывать не буду, есть спец.литература, советую поштудировать труд А.Габца "Профессиональная разработка в системе 1С:Предприятие 8".
Чтобы собрать инфу воедино в том виде, как вам нужно, обычно пишутся запросы с использованием соответствующих виртуальных таблиц бух.регистра
4 май 09, 11:35    [7141614]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
GeorgeU
Member

Откуда:
Сообщений: 2
RMih,

мне очень понравилось. Респект!
9 июн 09, 12:32    [7280274]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 425
Асть ли что то подобное для 1с 77 ?
12 июн 09, 00:20    [7292896]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
bot67
Member

Откуда: Смоленск
Сообщений: 303
SignOff
Асть ли что то подобное для 1с 77 ?

Есть. Называется "ViewDD.exe"
Причепить нельзя т.к. больше 100Kb
15 июн 09, 10:19    [7298773]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Структура таблиц БД 1С  [new]
_S_Q_L_
Member

Откуда:
Сообщений: 2
Подскажите, как из таблицы БД выбрать определенную ячейку!
1С Предприятие 8.0!
16 июл 10, 16:23    [9117424]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
valex13
Member

Откуда: Иркутск
Сообщений: 344
я обычно MS Profiler запускаю. Потом в 1С делаю нужный мне запрос. Выполняю его и в profiler ловлю уже тот же запрос только к физическим таблицам. Немного напильника и воаля .. ;-)
16 июл 10, 18:56    [9118415]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
_S_Q_L_
Member

Откуда:
Сообщений: 2
Не получается, построит запрос который бы обращался к определенной ячейке таблицы БД! ПОМОГИТЕ! Заранее СПАСИБО!
1С Предприятие 8.0!
19 июл 10, 16:36    [9126443]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Структура таблиц БД 1С  [new]
Spien
Member

Откуда:
Сообщений: 12
RMih,

Спасибо.
17 окт 12, 15:13    [13334589]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
Spien
Member

Откуда:
Сообщений: 12
Вдруг кому нибудь пригодится.
Итак задача схожая с обсуждаемой, но глубже.
У меня 1С УПП и номенклатура состоит из 9500 элементов, разсредоточеных по 934 папкам, с 6-й степенью вложенности. Проблема

с которой столкнулся "ЗагрузкаДанныхИзТабличногоДокумента.epf" не умеет создавать группы, только загружает элементы,

соответственно создавать 934 папки руками, и нигде не ошибиться в пробелах и запятых "Миссия невыполнима".
Установлена 1С на MS SQL 2006. Это и спасло.
Поехали:
1) Составляем в Excel таблицу "Название группы|Родитель" из 934 строк.
2) В 1С (в моем случае чистая база) вводим руками группу с любым названием, например "Тестгруппа1-удалить" и в ней подгруппу

по такому же принципу "Тестгруппа1.1-удалить". Это пригодится в дальнейшем.
3) С помощью описанной выше стандартной для 1С процедуры загружаем названия папок как просто элементы номенклатуры, папками

они станут и разбредутся по родительским группам позже. Это необходимо что-бы 1С пронумеровал эти элементы внутренним кодом.

Как это делать подробно описано

[URL="http://geterx.3dn.ru/publ/1s_predprijatie/zagruzka_dannykh_v_1s_bukhgalterija_8_2_iz_excel/3-1-0-33"]тут[/URL] .
4) С помощью написанной [URL="https://www.sql.ru/forum/actualthread.aspx?tid=524033"]RMih[/URL] обработки, которую можно

взять [URL="https://www.sql.ru/forum/actualfile.aspx?id=5270026"]тут[/URL], выясняем в какой SQL папке находится справочник

номенклатуры. В моем случае "_Reference158". Огромное спасибо

[URL="https://www.sql.ru/forum/memberinfo.aspx?mid=74569"]RMih[/URL], очень выручил.
5) Закрываем 1С, и выгружаем в Excel "_Reference158" с помощью стандартного диалога "импорт - экспорт данных" входящего в

дистрибутив MS SQL.
6) Открываем получившийся файл в Excel и смотрим на коды элементов в столбце "_IDRRef", этими кодами необходимо заполнить

столбец "_ParentIDRRef" в соответствии с таблицей в п.1 ("Название группы|Родитель"). В английском Excel я использовал

функцию VLOOKUP, в аргументе которой было название группы. Можно сделать по разному, на этом не останавливаюсь.
7) Меняем в столбце "_Folder" все "01" на "00", с этого момента для 1С это уже группы а не элементы номенклатуры.
8) Все что заполнено в правой части таблицы за столбцом с названиями "_Description" нужно заполнить тем что указано в строке

"Тестгруппа1-удалить" или "Тестгруппа1.1-удалить", для этого мы их и вносили в п.2. Сохраняем и закрываем Excel.
9) В MS SQL с помощью знакомого уже "импорт - экспорт данных" загружаем полученную таблицу в базу данных с именем

"_Reference158%". Однако, необходимо очень аккуратно выставить типы данных и их размерности, по столбцам таблицы. Я сделал

по образцу в "_Reference158" взятому из параллельно открытого диалога "импорт - экспорт данных" открытого в режиме для

экспорта этой таблицы в Excel. Вероятно не самый удобный, но точно рабочий способ выяснения этих данных.
10) Значения "NULL" я везде ставил разрешить, т.к. первый раз 1С на меня заругалась что не может записать "Null" в столбец

"_Version". Но полагаю что это не очень правильно, и надо поэкспериментировать. Но в целом все заработало.
11) В MS SQL Server Management Studio надо переименовать две папки. Для этого необходимо создать и запустить следующий

запрос (1cdb это имя моей базы данных):
USE [1cdb];
GO
EXEC sp_rename [_Reference158], [_Reference158old];
GO
EXEC sp_rename [_Reference158%], [_Reference158];
GO
12) Загружаем 1С, наслаждаемся результатом.
13) Дальше уже можно разбросать по папкам номенклатуру с помощью стандартной загрузки

"ЗагрузкаДанныхИзТабличногоДокумента.epf" с диска 1С. указывая в качестве родителя, группу где она должна лежать.
14) Все должно работать, у меня по крайней мере так заработало.

Сразу вопрос к специалистам, как лучше расставить запрет на использование "NULL" по столбцам при загрузке из Excel в SQL,

т.к. полное копирование того как в оригинальной таблице "_Reference158" приводит к ошибке?
23 окт 12, 14:35    [13362775]     Ответить | Цитировать Сообщить модератору
 Re: Структура таблиц БД 1С  [new]
vde69
Member

Откуда: Москва
Сообщений: 2217
а есть обрабока которая показывает структуру для чужей базы (то есть без выполнения кода в базе в которой получаем структуру)???

Нужно например для доступа к базе без запуска ее (например база порушена и не запускается)
6 ноя 12, 09:04    [13424599]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Ответить