Created
July 12, 2018 10:06
-
-
Save artbear/49d2a7cc20c0c2ede907c55625cde7ea to your computer and use it in GitHub Desktop.
Алгоритм для Консоли кода (ИР) формирования метаданных документа в MD формате
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Автор @vsuh https://gitter.im/EvilBeaver/oscript-library?at=5b47160fc2d95c60f4d26a27 | |
ОчиститьСообщения(); | |
мд = Метаданные.Документы.СчетФактураВыданный; | |
ркв = мд.Реквизиты; | |
тчч = мд.ТабличныеЧасти; | |
Сообщить("#### Документ "+мд.Синоним+" | |
| | |
| | |
|###### Реквизиты шапки: | |
| | |
| | |
||Имя|Наименование|Тип| | |
||---|------------|---|"); | |
Для Каждого рр Из ркв Цикл | |
тт = рр.Тип.Типы()[0]; | |
Если тт = Тип("Строка") Тогда | |
ТипРкв = "Строка("+рр.Тип.КвалификаторыСтроки.Длина+")"; | |
ИначеЕсли тт = Тип("Число") Тогда | |
ТипРкв = "Число"; | |
ИначеЕсли тт = Тип("Дата") Тогда | |
ТипРкв = "Дата"; | |
ИначеЕсли тт = Тип("Булево") Тогда | |
ТипРкв = "Булево"; | |
Иначе | |
мдТипа = Метаданные.НайтиПоТипу(тт); | |
ТипРкв = мдТипа.ПолноеИмя(); | |
КонецЕсли; | |
Сообщить("|"+рр.Имя+"|"+рр.Синоним+"|"+ТипРкв+"|"); | |
КонецЦикла; | |
//Перейти ~Конец; | |
///////////////////////////////////////////////////////////////////////////// | |
Сообщить(" | |
| | |
|"); | |
Для Каждого тч Из тчч Цикл | |
Сообщить("###### ТЧ "+тч.Имя+" | |
|"+тч.Синоним+" | |
|--- | |
|"); | |
ркв = тч.Реквизиты; | |
Сообщить(" | |
| | |
| | |
||Имя|Наименование|Тип| | |
||---|------------|---|"); | |
Для Каждого рр Из ркв Цикл | |
тт = рр.Тип.Типы()[0]; | |
Если тт = Тип("Строка") Тогда | |
ТипРкв = "Строка("+рр.Тип.КвалификаторыСтроки.Длина+")"; | |
ИначеЕсли тт = Тип("Число") Тогда | |
ТипРкв = "Число("+рр.Тип.КвалификаторыЧисла.Разрядность+","+рр.Тип.КвалификаторыЧисла.РазрядностьДробнойЧасти+")"; | |
ИначеЕсли тт = Тип("Дата") Тогда | |
ТипРкв = "Дата"; | |
ИначеЕсли тт = Тип("Булево") Тогда | |
ТипРкв = "Булево"; | |
Иначе | |
мдТипа = Метаданные.НайтиПоТипу(тт); | |
ТипРкв = мдТипа.ПолноеИмя(); | |
КонецЕсли; | |
Сообщить("|"+рр.Имя+"|"+рр.Синоним+"|"+ТипРкв+"|"); | |
КонецЦикла; | |
Сообщить(" | |
| | |
|"); | |
КонецЦикла; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment