К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

СУЩЕСТВУЕТ ЛИ НА СВЕТЕ УЖЕ ГОТОВАЯ ОБРАБОТКА ??????

Гость
0 - 20.06.2012 - 16:06
В общем нужно обработочка, которая пробежится по всем объектам конфигурации и снимет подробное инфо. о самом объекте и его реквизитах если таковы имеются????
Пример:
Справочник.Контрагенты
Тех.название:Контрагенты
Представление:Контрагенты
Длина:8
Группы: 5
---------------------
Реквизит:Наименование
Тип: Строка
Длина:50 символов
---------------------
Реквизит:Договор
Тип:Справочник.Договоры
-------------------------

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



1 - 20.06.2012 - 16:12
Конфигуратор - Конфигурация - Описание структуры метаданных
2 - 20.06.2012 - 16:12
Процедура КнопкаВыполнитьНажатие(Кнопка)
текТекст = Новый ТекстовыйДокумент;

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

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

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

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

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

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

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

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

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

КонецЦикла;

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

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

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

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

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

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

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

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

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

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

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

КонецЦикла;

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

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

текТекст.Показать();
КонецПроцедуры
Гость
3 - 20.06.2012 - 16:22
низкий поклон: bma1
Uho
4 - 20.06.2012 - 16:26
и стоило так орать?
Гость
5 - 20.06.2012 - 16:30
стоило это для 8 а мне нужно для 7.7 там с этим сложнее.
Вопрос открыт!!!
Гость
6 - 20.06.2012 - 16:34
Я за бан
7 - 20.06.2012 - 16:39
2(5) Там примерно также... обработка у меня есть, но так как я уже давно снес семерку, найти ее среди похожих по названию (ВнешняОбработкаXXX) не могу :(
Гость
8 - 20.06.2012 - 16:43
Жалко, спасибо!
Uho
9 - 20.06.2012 - 16:45
ПОЖАЛУЙСТА!!!!!!
Гость
10 - 20.06.2012 - 17:08
забаньте наконец кого-нибудь, можно Uho, в этой ветке!
11 - 20.06.2012 - 19:23
2(8) Кажется нашел ту обработку. куда скинуть?
Гость
12 - 20.06.2012 - 20:05
(0) автор, открой для себя конвертацию данных
Гость
13 - 20.06.2012 - 20:28
12-Управление торговлей 11 > +100500
Гость
14 - 21.06.2012 - 01:36
12-Управление торговлей 11 > +1
Обработка идёт вместе с конфой "Конвертация данных". Предназначена для выгрузки структуры метаданных во внешний файл, для последующей загрузки этого чуда в саму конфу конвертаци (ну там, правила настроить, или ещё какое извращение сотворить...)
Гость
15 - 21.06.2012 - 13:18
я не очень понял, речь о типа таком:
Для Индекс=1 По Метаданные.Справочник() Цикл
Значение = Метаданные.Справочник(Индекс).Идентификатор;
Спр = Метаданные.Справочник(Значение);
Для Индекс=1 По Спр.Реквизит() Цикл
Знч = СокрЛП(Спр.Реквизит(индекс).Идентификатор);
тип = СокрЛП(Спр.Реквизит(индекс).тип);
длн = СокрЛП(Спр.Реквизит(индекс).ДлинаПредставленияЗнач ения());
тчн = СокрЛП(Спр.Реквизит(индекс).Точность);
вид = СокрЛП(Спр.Реквизит(индекс).вид);
КонецЦикла;
КонецЦикла;


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


К списку вопросов






Copyright ©, Все права защищены