(V 7.7) Справка по работе с метаданными (с примерами)
Когда то, мне очень потребовалось ПРОГРАММНО узнать ЕСЛИ ли на конфигурации пароль....и на этом этапе я познакомился с МЕТАДАННЫМИ 1С.
Метаданные в 1С - это специальные данные, описывающие структуру базы данных. Почти все, что мы видим в графическом представлении в конфигураторе может быть получено программным путем при работе в 1С в режиме «Предприятие». Исключение составляют только наборы прав и интерфейсы. В программе получение метаданных происходит через объект «Метаданные».
А тут, надеюсь, скоро появится файл синтакс-помощника по метаданным от товарища Моисеенко
А по мне, ALS файлик по метаданным тут лучше смотреться будет.
Вводная дана и als бы на каждый день.
А в посте V0fka всего лишь несколько недокументированных функций.
(5) Спасибо за ссылку на первоисточник - шапку поправил.
Ну что это баян - я с тобой не соглашусь. Хорошая и доступно понятная статья
по работе с метаданными.Как то так.
(5). Нееее. Я не в том смысле, что статья плохая, а в том, что написана была очень давно и много раз всплывала на различных ресурсах. Я ее прочел еще в 2007-м.
Статья очень полезная -- это несомненно. Без умения работы с метаданными практически невозможно создать что-то универсальное и гибкое ))).
а как обратиться к метаданным табличной части документа?
может немного проконсультируете (в синакс-помощнике не могу отыскать) ?
пожалуйста, напишите как правильно с точки зрения синтаксиса обращаться к метаданным:
- находясь внутри модуля документа, определить табличные части документа;
- зная имя табличной части, обратиться к структуре табличной части;
- проверить заполнена ли табличная часть;
(15) "а как обратиться к метаданным табличной части документа?"
Для Инд=1 По Метаданные.Документ() Цикл
мдДок = Метаданные.Документ(Инд);
ИДДок = мдДок.Идентификатор;
// обходим реквизиты
Для Инд2=1 По мдДок.РеквизитШапки() Цикл
Ркв=мдДок.РеквизитШапки(Инд2);
КонецЦикла;
Для Инд2=1 По мдДок.РеквизитТабличнойЧасти() Цикл
Ркв=мдДок.РеквизитТабличнойЧасти(Инд2);
КонецЦикла;
КонецЦикла;
Добрый день, в свойствах реквизита, при выборе значение "число" в поле "типе значения", длина ограничена "19", а надо хотя бы "21" - прошу помочь.
Спасибо.
Добрый день, в свойствах реквизита, при выборе значение "число" в поле "типе значения", длина ограничена "19", а надо хотя бы "40" - прошу помочь.
Спасибо.
(27)Мне нужно выбирать именно значение "число", т.к. этот реквизит у меня нужен для построения таблички, где именно величина "числа" определяет количество ячеек в конкретном диапазоне столбцов. Случилось так, что обычно мне требуется 4-6 ячеек (интервал 4-6 столбцов), а рядом сейчас потребовалось 21 ячейка в диапазоном ,соответственно следующих столбцов.В каждой ячейке находится много информации, в том числе номер по горизонтали.Скажем на первом ряде ячейки должны иметь номера с 1 до 21, на втором ряде ячеек в этом же диапазоне- с22- по42 и так далее.Но при текущем значении выборе значение "число" в поле "типе значения", длина ограничена "19" и ячейки под номером "20" и "21" хоть и находятся в первом ряде ячеек, но если посмотреть их свойства, то они причислены ко второму ряду (этажу) ячеек, а очень надо, что бы они относились к первому ряду (этажу) ячеек.
Если подъитожить, то система сейчас работает корректно, только до 19 ячеек в конкретном диапазоне столбцов (( , это и есть максимальное значение "числа" в поле "типе значения" свойства реквизита.
Кто подскажет решение.
Спасибо.
(30)Добрый день, 1. меняем существующий реквизит
"ЧислоКвартир" на "МоеПсевдоЧисло" , а вот , что делать с маской "999999999999999999999" я не гуру и не знаю ((( , прошу подсказать в моих вариантах (очень не хочу быть навязчивывм !)
СмещениеКвартир=?(ПустоеЗначение(Объект.ПерваяКвартираДома)=1,0,Объект.ПерваяКвартираДома-1);
СмещениеПодъездов=?(ПустоеЗначение(Объект.ПервыйПодъездДома)=1,0,Объект.ПервыйПодъездДома-1);
Для кв=1+СмещениеКвартир по Объект.ЧислоКвартир+СмещениеКвартир Цикл
ЧислоКвартир=Дом.ЧислоКвартир;
Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
//Легенда
Таб.Область(2,1).Текст="Цвета";
Таб.Область(3,1).ЦветФона(16777000);//(15,1200,35579);
Таб.Область(3,1).Текст="Чужие";
Таб.Область(4,1).ЦветФона(25589,25812,35355);
Таб.Область(4,1).Текст="Резерв";
Таб.Область(5,1).Текст="Свои";
Таб.Область(3,1,5,1).РамкаОбвести(4,4,4,4);
Таб.Область(5,2).ЦветФона(4295829);
Таб.Область(5,2).Текст="Встречн.";
//Формируем этажи
ЧислоЭтажей=Дом.Этажность;
Для эт=1 по ЧислоЭтажей Цикл
// Сообщить("Этаж"+эт);
Строк=6+(ЧислоЭтажей)-эт;
// Таб.Область(Строк,2,Строк+2,2).Объединить();
Ещё раз извиняюсь за назойливость, спасибо за поддержку.
добрый день! а кто знает как извлекать информацию из "МетаданныеСсылки"
Для сч1 = 1 по Метаданные.ГрафаОтбора(ВидОтбора).Ссылки.Количество() Цикл
МС = Метаданные.ГрафаОтбора(ВидОтбора).Ссылки.Получить(сч1);
Сообщить("-МС: "+Строка(отв.Идентификатор));
КонецЦикла;
не могу достать ничего кроме идентификатора...
а мне бы надо еще вид документа выдернуть.... ни кто не в курсе как сие сделать?
Перенос данных КА 1.1 => КА 2 / УТ 11 (перенос документов, начальных остатков и справочной информации из "1С:Комплексная автоматизация", ред.1.1 в "1С:Комплексная автоматизация", ред. 2.х)
Перенос данных КА 1.1 => КА 2 / УТ 11 (перенос документов, начальных остатков и справочной информации из "1С:Комплексная автоматизация", ред.1.1 в "1С:Комплексная автоматизация", ред. 2.х)