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 | |
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
| Жалко, спасибо! | |
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 По Док.реквизитТабличнойЧасти() Цикл Знч = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Идентифи катор); тип = СокрЛП(Док.реквизитТабличнойЧасти(индекс).тип); длн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).ДлинаПре дставленияЗначения()); тчн = СокрЛП(Док.реквизитТабличнойЧасти(индекс).Точность ); вид = СокрЛП(Док.реквизитТабличнойЧасти(индекс).вид); КонецЦикла; КонецЕсли; КонецЦикла; | |
| Интернет-форум Краснодарского края и Краснодара |