![]() |
СУЩЕСТВУЕТ ЛИ НА СВЕТЕ УЖЕ ГОТОВАЯ ОБРАБОТКА ?????? В общем нужно обработочка, которая пробежится по всем объектам конфигурации и снимет подробное инфо. о самом объекте и его реквизитах если таковы имеются???? Пример: Справочник.Контрагенты Тех.название:Контрагенты Представление:Контрагенты Длина:8 Группы: 5 --------------------- Реквизит:Наименование Тип: Строка Длина:50 символов --------------------- Реквизит:Договор Тип:Справочник.Договоры ------------------------- Ну собственно и так далее по всем объектам конфы. Пишу выгрузку, загрузку 2х конфигураций - для этих целей и надо. P.S. Понятно, что самому можно нарисовать такое,но ограничен жестко во времени. Все заранее Спасибо!!! |
Конфигуратор - Конфигурация - Описание структуры метаданных |
Процедура КнопкаВыполнитьНажатие(Кнопка) текТекст = Новый ТекстовыйДокумент; Для каждого ЭлСпс Из СпсСправочники Цикл Если ЭлСпс.Пометка Тогда текМетаданное = Метаданные.Справочники[ЭлСпс.Значение]; текСтрока = "Справочник: " + СокрЛП(текМетаданное.Имя) + " (" + СокрЛП(текМетаданное.Синоним) + ")"; текТекст.ДобавитьСтроку(текСтрока); текТекст.ДобавитьСтроку(Символы.Таб + "Стандартные реквизиты:"); Для каждого текРеквизит Из текМетаданное.СтандартныеРеквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; текТекст.ДобавитьСтроку(Символы.Таб + "Реквизиты:"); Для каждого текРеквизит Из текМетаданное.Реквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; текТекст.ДобавитьСтроку(Символы.Таб + "Табличные части:"); Для каждого текТабличнаяЧасть Из текМетаданное.ТабличныеЧасти Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текТабличнаяЧасть.Имя) + " (" + СокрЛП(текТабличнаяЧасть.Синоним) + ")"; текТекст.ДобавитьСтроку(текСтрока); Для каждого текРеквизит Из текТабличнаяЧасть.Реквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; КонецЦикла; текТекст.ДобавитьСтроку(""); КонецЕсли; КонецЦикла; Для каждого ЭлСпс Из СпсДокументы Цикл Если ЭлСпс.Пометка Тогда текМетаданное = Метаданные.Документы[ЭлСпс.Значение]; текСтрока = "Документ: " + СокрЛП(текМетаданное.Имя) + " (" + СокрЛП(текМетаданное.Синоним) + ")"; текТекст.ДобавитьСтроку(текСтрока); текТекст.ДобавитьСтроку(Символы.Таб + "Стандартные реквизиты:"); Для каждого текРеквизит Из текМетаданное.СтандартныеРеквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; текТекст.ДобавитьСтроку(Символы.Таб + "Реквизиты:"); Для каждого текРеквизит Из текМетаданное.Реквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; текТекст.ДобавитьСтроку(Символы.Таб + "Табличные части:"); Для каждого текТабличнаяЧасть Из текМетаданное.ТабличныеЧасти Цикл текСтрока = Символы.Таб + Символы.Таб + СокрЛП(текТабличнаяЧасть.Имя) + " (" + СокрЛП(текТабличнаяЧасть.Синоним) + ")"; текТекст.ДобавитьСтроку(текСтрока); Для каждого текРеквизит Из текТабличнаяЧасть.Реквизиты Цикл текСтрока = Символы.Таб + Символы.Таб + Символы.Таб + СокрЛП(текРеквизит.Имя) + " (" + СокрЛП(текРеквизит.Синоним) + ") : " + СокрЛП(текРеквизит.Тип); текТекст.ДобавитьСтроку(текСтрока); КонецЦикла; КонецЦикла; текТекст.ДобавитьСтроку(""); КонецЕсли; КонецЦикла; текТекст.Показать(); КонецПроцедуры |
низкий поклон: bma1 |
и стоило так орать? |
стоило это для 8 а мне нужно для 7.7 там с этим сложнее. Вопрос открыт!!! |
Я за бан |
2(5) Там примерно также... обработка у меня есть, но так как я уже давно снес семерку, найти ее среди похожих по названию (ВнешняОбработкаXXX) не могу :( |
Жалко, спасибо! |
[b]ПОЖАЛУЙСТА!!!!!![/b] |
забаньте наконец кого-нибудь, можно Uho, в этой ветке! |
2(8) Кажется нашел ту обработку. куда скинуть? |
(0) автор, открой для себя конвертацию данных |
12-Управление торговлей 11 > +100500 |
12-Управление торговлей 11 > +1 Обработка идёт вместе с конфой "Конвертация данных". Предназначена для выгрузки структуры метаданных во внешний файл, для последующей загрузки этого чуда в саму конфу конвертаци (ну там, правила настроить, или ещё какое извращение сотворить...) |
я не очень понял, речь о типа таком: Для Индекс=1 По Метаданные.Справочник() Цикл Значение = Метаданные.Справочник(Индекс).Идентификатор; Спр = Метаданные.Справочник(Значение); Для Индекс=1 По Спр.Реквизит() Цикл Знч = СокрЛП(Спр.Реквизит(индекс).Идентификатор); тип = СокрЛП(Спр.Реквизит(индекс).тип); длн = СокрЛП(Спр.Реквизит(индекс).ДлинаПредставленияЗначения()); тчн = СокрЛП(Спр.Реквизит(индекс).Точность); вид = СокрЛП(Спр.Реквизит(индекс).вид); КонецЦикла; КонецЦикла; Для Индекс=1 По Метаданные.Документ() Цикл Значение = Метаданные.Документ(Индекс).Идентификатор; Док = Метаданные.Документ(Значение); Если Док.реквизитшапки()>0 Тогда Для Индекс=1 По Док.реквизитшапки() Цикл Знч = СокрЛП(Док.реквизитшапки(индекс).Идентификатор); тип = СокрЛП(Док.реквизитшапки(индекс).тип); длн = СокрЛП(Док.реквизитшапки(индекс).ДлинаПредставленияЗначения()); тчн = СокрЛП(Док.реквизитшапки(индекс).Точность); вид = СокрЛП(Док.реквизитшапки(индекс).вид); КонецЦикла; КонецЕсли; Если Док.реквизитТабличнойЧасти()>0 Тогда Для Индекс=1 По Док.реквизитТабличнойЧасти() Цикл Знч = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Идентификатор); тип = СокрЛП(Док.реквизитТабличнойЧасти(индекс).тип); длн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).ДлинаПредставленияЗначения()); тчн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Точность); вид = СокрЛП(Док.реквизитТабличнойЧасти(индекс).вид); КонецЦикла; КонецЕсли; КонецЦикла; |
Текущее время: 05:25. Часовой пояс GMT +3. |