0. bforce 416 10.08.12 12:18 Сейчас в теме

Структура хранения базы данных (управляемые формы)

Обработка позволяет увидеть названия таблиц и полей в том виде, в котором с ними работает СУБД.
Будет полезна при конструировании прямых запросов к серверу баз данных и интеграции с другими системами (минуя сервер 1С).

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. child1983 13 16.10.13 16:55 Сейчас в теме
а в обработке предусмотрен вывод в документ(например, сохранение mxl) структуры или только просмотреть можно?
2. bforce 416 16.10.13 17:30 Сейчас в теме
(1) child1983, специально выгрузка не предусматривалась.
Доступна только стандартная возможность вывода табличной части в табличный документ, откуда его можно экспортировать.
child1983; +1 Ответить
3. Andreynikus 1125 08.11.13 13:21 Сейчас в теме
Есть ли возможность поиска объекта 1С по имени таблицы СУБД?
Было бы просто отлично.
4. bforce 416 08.11.13 15:56 Сейчас в теме
Я использую следующий метод: по двойному клику на корне получаю все таблицы, а дальше по Ctrl + F на столбце Имя таблицы хранения (или Найти из контекстного меню) получаю ту единственную строку.

Если делать это отдельной командой, то все равно так или иначе придется получать полную таблицу.
5. yaxinr 36 24.03.17 12:57 Сейчас в теме
это обработки с управляемыми формами, на моей конфигурации не открываются
6. MasterSVS 54 16.09.17 19:38 Сейчас в теме
7. RocKeR_13 462 14.11.17 17:42 Сейчас в теме
По корню не получает полную структуру: необходимо внести изменения вот сюда:
&НаСервере
Процедура ЗаполнитьТаблицыПоОбъектуНаСервере(знач МетаОбъект, ВидимостьКолонкиМетаданных)
	
	ОбъектыМетаданных = Новый Массив;
	// Патч для некорректно работающих регламентных заданий
	Если Найти(МетаОбъект, "РегламентноеЗадание.") > 0 Тогда
		МетаОбъект = Метаданные.НайтиПоПолномуИмени(МетаОбъект);
	КонецЕсли;
	// Конец патча
	
	СтруктураДанных = ПолучитьСтруктуруХраненияБазыДанных(ОбъектыМетаданных, ТипСтруктуры = 1);
Показать


перед получением структуры добавить проверку на пустую строку:
	Если Не ПустаяСтрока(МетаОбъект) Тогда
		ОбъектыМетаданных.Добавить(МетаОбъект);
	КонецЕсли;
8. bforce 416 25.11.17 20:58 Сейчас в теме
(7)
По корню не получает полную структуру...

Получает, но по двойному клику на корневом элементе дерева (на имени конфигурации). Я давно порываюсь сделать там контекстное меню или кнопку, чтобы как-то обозначить такую возможность, но пока не собрался.

перед получением структуры добавить проверку на пустую строку:

В описании изменений платформы я не нашел информации об изменении поведения в работе этой функции. То есть, передавая пустую строку в массиве можно получить полную структуру хранения. Предлагаемое изменение кажется необязательным. Расскажите подробнее об условиях использования обработки (платформа, конфигурация), если это не так.
10. bforce 416 10.05.18 23:14 Сейчас в теме
(7) (9), спасибо вам, ребята!
Сделал новую версию.
9. AndyR 18.12.17 10:19 Сейчас в теме
Платформа 8.3.10.2561, по двойному клику на корне ругалось
{ВнешняяОбработка.СтруктураХраненияБазыДанных.Форма.Форма.Форма(104)}: Ошибка при вызове метода контекста (ПолучитьСтруктуруХраненияБазыДанных)
СтруктураДанных = ПолучитьСтруктуруХраненияБазыДанных(ОбъектыМетаданных, ТипСтруктуры = 1);
по причине:
Недопустимое значение параметра (параметр номер '1')
.
Поправил начало заполнения так
&НаСервере
Процедура ЗаполнитьТаблицыПоОбъектуНаСервере(знач МетаОбъект, ВидимостьКолонкиМетаданных)
	
	Если МетаОбъект="" Тогда
		СтруктураДанных = ПолучитьСтруктуруХраненияБазыДанных(, ТипСтруктуры = 1);
	Иначе
		Если Найти(МетаОбъект, "РегламентноеЗадание.") > 0 Тогда
			МетаОбъект = Метаданные.НайтиПоПолномуИмени(МетаОбъект);
		КонецЕсли;
		
		ОбъектыМетаданных = Новый Массив;
		ОбъектыМетаданных.Добавить(МетаОбъект);
		СтруктураДанных = ПолучитьСтруктуруХраненияБазыДанных(ОбъектыМетаданных, ТипСтруктуры = 1);
	КонецЕсли;
...
Показать


В СП про 1й параметр сказано только что он необязательный. Про пустую строку не нашел:
<ОбъектыМетаданных> (необязательный)

Тип: Массив.
Массив имен объектов метаданных или массив объектов метаданных, для которых требуется получить структуру таблиц базы данных.


ЗЫ:
Пробовал на 2х конфигурациях. В одной с режимом совместимости "Версия 8.3.6" пустую строку принимает без ошибок. В другой, где режим совместимости "Не использовать", пустая строка уже не прокатывает.
11. rokhin 63 11.07.18 13:34 Сейчас в теме
Нет возможности найти метаданные по названию таблицы в базе.
12. bforce 416 11.07.18 21:24 Сейчас в теме
(11), нужно по двойному клику на корне вывести весь список метаданных, а дальше воспользоваться стандартными возможностями платформы по поиску в таблице формы.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 60 000 руб. до 110 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день

Системный аналитик
Новосибирск
зарплата от 80 000 руб. до 100 000 руб.
Полный день