Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   СУЩЕСТВУЕТ ЛИ НА СВЕТЕ УЖЕ ГОТОВАЯ ОБРАБОТКА ?????? (http://forums.kuban.ru/f1040/sushestvuet_li_na_svete_uzhe_gotovaya_obrabotka-2743264.html)

alex55 20.06.2012 16:06

СУЩЕСТВУЕТ ЛИ НА СВЕТЕ УЖЕ ГОТОВАЯ ОБРАБОТКА ??????
 
В общем нужно обработочка, которая пробежится по всем объектам конфигурации и снимет подробное инфо. о самом объекте и его реквизитах если таковы имеются????
Пример:
Справочник.Контрагенты
Тех.название:Контрагенты
Представление:Контрагенты
Длина:8
Группы: 5
---------------------
Реквизит:Наименование
Тип: Строка
Длина:50 символов
---------------------
Реквизит:Договор
Тип:Справочник.Договоры
-------------------------

Ну собственно и так далее по всем объектам конфы.
Пишу выгрузку, загрузку 2х конфигураций - для
этих целей и надо.
P.S. Понятно, что самому можно нарисовать такое,но
ограничен жестко во времени.
Все заранее Спасибо!!!

victuan 20.06.2012 16:12

Конфигуратор - Конфигурация - Описание структуры метаданных

bma1 20.06.2012 16:12

Процедура КнопкаВыполнитьНажатие(Кнопка)
текТекст = Новый ТекстовыйДокумент;

Для каждого ЭлСпс Из СпсСправочники Цикл
Если ЭлСпс.Пометка Тогда

текМетаданное = Метаданные.Справочники[ЭлСпс.Значение];

текСтрока = "Справочник: " + СокрЛП(текМетаданное.Имя) + " (" + СокрЛП(текМетаданное.Синоним) + ")";
текТекст.ДобавитьСтроку(текСтрока);

текТекст.ДобавитьСтроку(Символы.Таб + "Стандартные реквизиты:");

Для каждого текРеквизит Из текМетаданное.СтандартныеРеквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

текТекст.ДобавитьСтроку(Символы.Таб + "Реквизиты:");

Для каждого текРеквизит Из текМетаданное.Реквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

текТекст.ДобавитьСтроку(Символы.Таб + "Табличные части:");
Для каждого текТабличнаяЧасть Из текМетаданное.ТабличныеЧасти Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текТабличнаяЧасть.Имя) + " (" + СокрЛП(текТабличнаяЧасть.Синоним) + ")";
текТекст.ДобавитьСтроку(текСтрока);

Для каждого текРеквизит Из текТабличнаяЧасть.Реквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

КонецЦикла;

текТекст.ДобавитьСтроку("");

КонецЕсли;
КонецЦикла;

Для каждого ЭлСпс Из СпсДокументы Цикл
Если ЭлСпс.Пометка Тогда

текМетаданное = Метаданные.Документы[ЭлСпс.Значение];

текСтрока = "Документ: " + СокрЛП(текМетаданное.Имя) + " (" + СокрЛП(текМетаданное.Синоним) + ")";
текТекст.ДобавитьСтроку(текСтрока);

текТекст.ДобавитьСтроку(Символы.Таб + "Стандартные реквизиты:");

Для каждого текРеквизит Из текМетаданное.СтандартныеРеквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

текТекст.ДобавитьСтроку(Символы.Таб + "Реквизиты:");

Для каждого текРеквизит Из текМетаданное.Реквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

текТекст.ДобавитьСтроку(Символы.Таб + "Табличные части:");
Для каждого текТабличнаяЧасть Из текМетаданное.ТабличныеЧасти Цикл
текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текТабличнаяЧасть.Имя) + " (" + СокрЛП(текТабличнаяЧасть.Синоним) + ")";
текТекст.ДобавитьСтроку(текСтрока);

Для каждого текРеквизит Из текТабличнаяЧасть.Реквизиты Цикл
текСтрока = Символы.Таб + Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " +
СокрЛП(текРеквизит.Тип);
текТекст.ДобавитьСтроку(текСтрока);
КонецЦикла;

КонецЦикла;

текТекст.ДобавитьСтроку("");

КонецЕсли;
КонецЦикла;

текТекст.Показать();
КонецПроцедуры

alex55 20.06.2012 16:22

низкий поклон: bma1

Uho 20.06.2012 16:26

и стоило так орать?

alex55 20.06.2012 16:30

стоило это для 8 а мне нужно для 7.7 там с этим сложнее.
Вопрос открыт!!!

Lexusss 20.06.2012 16:34

Я за бан

bma1 20.06.2012 16:39

2(5) Там примерно также... обработка у меня есть, но так как я уже давно снес семерку, найти ее среди похожих по названию (ВнешняОбработкаXXX) не могу :(

alex55 20.06.2012 16:43

Жалко, спасибо!

Uho 20.06.2012 16:45

[b]ПОЖАЛУЙСТА!!!!!![/b]

Маус 20.06.2012 17:08

забаньте наконец кого-нибудь, можно Uho, в этой ветке!

bma1 20.06.2012 19:23

2(8) Кажется нашел ту обработку. куда скинуть?

Управление торговлей 11 20.06.2012 20:05

(0) автор, открой для себя конвертацию данных

DeiMos 20.06.2012 20:28

12-Управление торговлей 11 > +100500

GreenDragon 21.06.2012 01:36

12-Управление торговлей 11 > +1
Обработка идёт вместе с конфой "Конвертация данных". Предназначена для выгрузки структуры метаданных во внешний файл, для последующей загрузки этого чуда в саму конфу конвертаци (ну там, правила настроить, или ещё какое извращение сотворить...)

p etrovich 21.06.2012 13:18

я не очень понял, речь о типа таком:
Для Индекс=1 По Метаданные.Справочник() Цикл
Значение = Метаданные.Справочник(Индекс).Идентификатор;
Спр = Метаданные.Справочник(Значение);
Для Индекс=1 По Спр.Реквизит() Цикл
Знч = СокрЛП(Спр.Реквизит(индекс).Идентификатор);
тип = СокрЛП(Спр.Реквизит(индекс).тип);
длн = СокрЛП(Спр.Реквизит(индекс).ДлинаПредставленияЗначения());
тчн = СокрЛП(Спр.Реквизит(индекс).Точность);
вид = СокрЛП(Спр.Реквизит(индекс).вид);
КонецЦикла;
КонецЦикла;


Для Индекс=1 По Метаданные.Документ() Цикл
Значение = Метаданные.Документ(Индекс).Идентификатор;
Док = Метаданные.Документ(Значение);
Если Док.реквизитшапки()>0 Тогда
Для Индекс=1 По Док.реквизитшапки() Цикл
Знч = СокрЛП(Док.реквизитшапки(индекс).Идентификатор);
тип = СокрЛП(Док.реквизитшапки(индекс).тип);
длн = СокрЛП(Док.реквизитшапки(индекс).ДлинаПредставленияЗначения());
тчн = СокрЛП(Док.реквизитшапки(индекс).Точность);
вид = СокрЛП(Док.реквизитшапки(индекс).вид);
КонецЦикла;
КонецЕсли;
Если Док.реквизитТабличнойЧасти()>0 Тогда
Для Индекс=1 По Док.реквизитТабличнойЧасти() Цикл
Знч = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Идентификатор);
тип = СокрЛП(Док.реквизитТабличнойЧасти(индекс).тип);
длн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).ДлинаПредставленияЗначения());
тчн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Точность);
вид = СокрЛП(Док.реквизитТабличнойЧасти(индекс).вид);
КонецЦикла;
КонецЕсли;
КонецЦикла;


Текущее время: 04:26. Часовой пояс GMT +3.