1с как получить имя отчета
Работа во встроенном языке с объектами метаданных
Во встроенном языке "1С:Предприятия" предоставляется доступ к структуре метаданных конфигурации. Эта возможность предназначена в основном для создания универсальных алгоритмов, которые могли бы единообразно работать с различными объектами конфигурации. В этом разделе приводится информация об особенностях работы с метаданными во встроенном языке.
Доступ к метаданным предоставляется только на чтение. Программное изменение метаданных не поддерживается.
В документации по встроенному языку не приводится перечень свойств объектов метаданных и коллекций подчиненных объектов. Для ознакомления со структурой объектов и составом свойств необходимо использовать отчет по конфигурации (в режиме Конфигуратор меню Конфигурация – Отчет по конфигурации). Имена, отображаемые в этом отчете, соответствуют именам свойств и коллекций подчиненных объектов.
Структура метаданных в отчете и в программной модели не содержит ветки "Общие". Эта ветка используется только в дереве метаданных для удобства редактирования. В отчете по конфигурации и в программной модели все объекты, входящие в ветку "Общие", подчинены непосредственно корневому объекту.
Доступ к структуре метаданных осуществляется через свойство Метаданные глобального контекста. Это свойство предоставляет доступ к корневому объекту конфигурации и коллекциям объектов верхнего уровня. Каждый объект предоставляет соответственно доступ к своим свойствам и подчиненным объектам. Таким образом, можно получить доступ к любому объекту.
Например:
Кроме того, у некоторых типов предназначенных для работы с прикладными объектами, имеется метод Метаданные() , предназначенный для получения объекта метаданных, отвечающего за конкретный тип.
Например:
Однако такие методы есть не у всех типов, используемых для работы с прикладными объектами. Если необходимо получить объект метаданных, отвечающий за некоторый тип прикладного объекта, то можно использовать метод НайтиПоТипу() .
Например:
Объекты метаданных можно сравнивать на равенство. При этом проверяется идентичность объектов, а не совпадение значений свойств. То есть проверяется то, что сравнивается именно один и тот же объект конфигурации.
Например:
С помощью метода Родитель() можно получить вышестоящий объект метаданных.
Например:
Для представления объекта метаданных пользователю нужно использовать преобразование значения к строке или метод Представление() .
Например:
Объекты метаданных не могут быть сериализованы. Для получения строкового значения, соответствующего объекту метаданных, независимого от языка интерфейса пользователя нужно использовать метод ПолноеИмя() .
Например:
Для поиска объекта метаданных, соответствующего значению перечисления, можно использовать методику, описанную в разделе "Как получить имя значения перечисления, заданное в метаданных?".
Метаданные можно использовать, чтобы проверить, относится ли, например, значение к справочникам. Методика такой проверки описана в разделе "Как проверить, что тип значения относится к справочникам, документам и т. д.?".
Некоторые свойства объектов метаданных имеют перечислимый тип. Это специальные перечисления. Доступ к ним в языке выполняется через коллекцию СвойстваОбъектов , предоставляемую корневым объектом метаданных. Состав этих перечислений описан в документации, в разделе, описывающем работу с объектами метаданных.
Например:
Некоторые свойства объектов метаданных являются коллекциями значений и представляются типом КоллекцияЗначенийСвойстваОбъектаМетаданных .
Например:
В разделе документации, описывающем работу с объектами метаданных, приводятся также описания специфических типов свойств метаданных, например, таких как ПараметрыВводаПоСтроке .
Следует учитывать, что не все значения свойств метаданных могут быть получены из встроенного языка. Программный доступ к объектам метаданных не позволяет получать, например, значения свойств, хранящих формы, модули, макеты, разделы справочной информации, картинки, интерфейсы, стили, наборы предопределенных объектов, права.
Для получения форм и макетов используются специализированные методы.
Для получения значений, идентифицирующих стили и элементы стилей, а также картинок, используются специализированные коллекции.
Например:
Для проверки прав текущего пользователя используются специализированные методы глобального контекста ПравоДоступа() и ПараметрыДоступа() .
Как настроить условное оформление в Универсальном отчете?
Выравнивание значений влево:
Код 1C v 8.х
Изменение цвета текста и т.д.
Код 1C v 8.х
Для типа «Дата»:
Код 1C v 8.х
Для типа «Булево»:
Код 1C v 8.х
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Excel файл как Внешний источник данных 16
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме Автоматическая архивация баз 1С с использованием Cobian Backup и VBS скриптов 8
Клиент попросил настроить автоматическую архивацию баз 1С раз в три дня и выгрузку архивов на Dropbox и на FTP Сервер. Кроме 1С нужно архивировать папку с рабочими документами. Хочет - так хочет, делаем: Первым делом настроим автоматическую архивац Посмотреть все результаты поиска похожих
Еще в этой же категории
Конвертация базы 1С из версии Проф в Базовую 65
Можно просто перенести все данные из Проф версии в базовую используя обработку ЗагрузкаВыгрузкаXML. Но мы пойдем другим путем: 1. Версии проф и базовой версии должны быть одинаковыми 2. Сохраняем конфигурацию Базовой версии в файл. 3. В конфигура Универсальный отчет, построитель отчета - установить условное оформление 13
При разработке в универсальном отчете потребовалось установить условное оформление в отчете - подсветку сумм красным при условии больше 0 В конце процедуры УстановитьНачальныеНастройки() добавить: // добавим раскрашивание ячеек УФ = Универсальны Программное открытие Универсального отчета с отбором 11
ОтчетКонтрагента = Отчеты.ВедомостьВзаиморасчетыСКонтрагентами.Создать(); ОтчетКонтрагента.УстановитьНачальныеНастройки(); ОтчетКонтрагента.УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить(); ОтчетКонтрагента.УниверсальныйОтчет.Постр Сравнение и проверка на NULL 5
Для проверки на NULL во встроенном языке 1С достаточно написать: Если ДанныеСтроки.Задача = Null Тогда //. КонецЕсли; В запросах: ЕСТЬNULL(Ном.БазоваяЕдиницаИзмерения," шт." ) Более подробно об этом здесь: Значения NULL ( ЕСТЬ NULL и Как запустить внешнюю обработку из справочника дополнительных внешних отчетов или обработок? 5
Откроем внешнюю обработку из справочника дополнительных внешних отчетов или обработок: ТекСсылка=Справочники.ВнешниеОбработки.НайтиПоНаименованию(" РеестрЦфо" ); ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ТекСсылка.ХранилищеВнеш Посмотреть все в категории Прочие вопросы
skype: live:di-sem
@programmist_1C
Найти отчет в конфигураторе по его названию в 1С
Задание:
Нужно доработать типовой отчет 1С "Динамика продаж".
Проблема в том что в конфигураторе 1С нет отчета с названием или синонимом "Димика продаж" .
Таких отчетов много и сейчас мы узнаем как нам найти их в конфигураторе.
Решение:
Ищем этот отчет в режиме 1с предприятие:
В конфигураторе по названию мы этот отчет не найдем:
Запустим отчет "динамика продаж" и кликнем на "получить ссылку":
Получаем ссылку на справочник - варианты отчетов.
Найдем справочник варианты отчетов :
Вот нужный справочник, найдем в нем отчет(вариант отчета) "Динамика продаж":
Открываем элемент "Динамика продаж" , на реквизите отчет нажимаем открыть:
skype: live:di-sem
@programmist_1C
СКД получить название и значение текущей ячейки. СКД получить значение соседних ячеек.
Сделаем простейший отчет СКД.Пусть в нем будет выборка из спр Номенклатура.
Запрос для отчета будет такой:
Выведем 2 колонки: Ссылка и код.
Чтобы получать имя колонки и значение ячейки при двойном клике нужно сделать следующее:
1 Создадим форму для отчета и установим процедуру на событие "Обработка расшифровки"
Процедура РезультатОбработкаРасшифровки ( Элемент , Расшифровка , СтандартнаяОбработка ) перем ааа ; стПолеРасшифровки = ПолучитьРасшифровкуНаСервере ( Расшифровка ) ; имяПоля = стПолеРасшифровки [ "НаименованиеПоля" ] ; ЗначениеПоля = стПолеРасшифровки [ "ЗначениеПоля" ] ; СтандартнаяОбработка = ложь ; сообщить ( "поле:" + имяПоля + " Значение:" + строка ( ЗначениеПоля ) ) ; //ВвестиЧисло(ааа,,10,0); //элемент.ТекущаяОбласть.Текст=строка(ааа); КонецПроцедуры &наСервере Функция ПолучитьРасшифровкуНаСервере ( Расшифровка ) Данные = ПолучитьИзВременногоХранилища ( ДанныеРасшифровки ) ; Поля = Данные . Элементы . Получить ( Расшифровка ) . ПолучитьПоля ( ) ; //ПолеНоменклатура = Поля.Найти("ОграничениеДнейОтсутствия"); названиеПоля = поля [ 0 ] . поле ; ЗначениеПоля = поля [ 0 ] . значение ; стр = новый структура ; стр . Вставить ( "НаименованиеПоля" , названиеПоля ) ; стр . Вставить ( "ЗначениеПоля" , значениеПоля ) ; возврат стр ; КонецФункции
Процедура РезультатОбработкаРасшифровки ( Элемент , Расшифровка , СтандартнаяОбработка ) перем ааа ; стПолеРасшифровки = ПолучитьРасшифровкуНаСервере ( Расшифровка ) ; имяПоля = стПолеРасшифровки [ "НаименованиеПоля" ] ; ЗначениеПоля = стПолеРасшифровки [ "ЗначениеПоля" ] ; СтандартнаяОбработка = ложь ; Если имяПоля = "Ссылка" Тогда сообщить ( "поле:" + имяПоля + " Значение:" + строка ( ЗначениеПоля ) ) ; иначе // если кликнули на код, то выводим значение колонки ссылка сообщить ( "поле:" + имяПоля + " Значение:" + строка ( ЗначениеПоля ) + " Значение поля ссылка:" + строка ( стПолеРасшифровки [ "Ссылка" ] ) ) ; конецЕсли ; //ВвестиЧисло(ааа,,10,0); //элемент.ТекущаяОбласть.Текст=строка(ааа); КонецПроцедуры &наСервере Функция ПолучитьРасшифровкуНаСервере ( Расшифровка ) Данные = ПолучитьИзВременногоХранилища ( ДанныеРасшифровки ) ; Поля = Данные . Элементы . Получить ( Расшифровка ) . ПолучитьПоля ( ) ; //ПолеНоменклатура = Поля.Найти("ОграничениеДнейОтсутствия"); названиеПоля = поля [ 0 ] . поле ; ЗначениеПоля = поля [ 0 ] . значение ; //. получаем соседние элементы расшифровки. индексТекущегоЭлемента = число ( Расшифровка ) ; пока индексТекущегоЭлемента > 0 цикл п = Данные . Элементы [ индексТекущегоЭлемента ] . ПолучитьПоля ( ) ; если п [ 0 ] . поле = "Ссылка" тогда Ссылка = п [ 0 ] . значение ; прервать ; конецЕсли ; индексТекущегоЭлемента = индексТекущегоЭлемента - 1 ; конецЦикла ; //. конец получаем соседние элементы расшифровки. стр = новый структура ; стр . Вставить ( "НаименованиеПоля" , названиеПоля ) ; стр . Вставить ( "ЗначениеПоля" , значениеПоля ) ; стр . Вставить ( "Ссылка" , ссылка ) ; возврат стр ; КонецФункции
Группировки таким способом не получал - извините не нужно было :) А вот значения соседних ячеек получает.
В этой статье я разберу очень полезный объект метаданных 1С 8.3 — Отчеты. Отчеты нужны для вывода аналитической и прочей информации с последующей возможностью печати. Мы научимся создавать отчеты как объекты конфигурации 1С, и создавать внешние отчеты 1С. А также узнаем, что необходимо, чтобы пользователь мог открыть отчёт, как объект конфигурации, и внешний отчёт.
Как сделать отчет в 1С
Научимся создавать отчеты в конфигураторе 1С. Для того, чтобы создать отчет, в конфигураторе необходимо выделить ветку Отчеты, вызвать правой клавишей мышки контекстное меню и выполнить команду Добавить.
После выполнения команды, будет создан «пустой» отчет и откроется редактор отчета, в котором на закладке «Основные» можно ввести имя отчета и синоним.
На закладке Подсистемы редактора отчета можно указать подсистему, в которую будет входить отчет.
А на закладке Права указать, у каких ролей будет право на использование и просмотр отчета.
Если установить только право Использовать, то пользователь с этой ролью не сможет видеть отчет в интерфейсе, но сможет использовать обработки (или команды), в которых осуществляется программное обращение к этому отчету. Если необходимо, чтобы пользователь имел доступ к отчету через командный интерфейс, то нужно установить право Просмотр.
В этой статье я покажу пример создания простого отчета с помощью СКД.
Для создания отчета на СКД, необходимо открыть схему компоновки данных на закладе «Основные» редактора отчета.
В результате откроется конструктор макета, с уже выбранным типом макета, в котором остается нажать на кнопку «Готово».
Будет создана схема компоновки данных, в которой добавим набор данных Запрос.
После, нажмем на кнопку «Конструктор запроса», откроется конструктор запроса, в котором я выберу одну таблицу и одно поле.
Закончив работать с конструктором запроса, нажмем кнопку ОК, в результате добавятся поля из запроса в таблицу Поля схемы компоновки данных, и заполнится текст запроса в поле Запрос.
Осталось перейти в настройки, и создать группировку.
В группировке выберем единственное поле.
Выбранное поле появится в дереве Отчет закладки Настройка, и, в принципе, наш отчет будет готов.
Заметьте, созданная схема компоновки появится в редакторе отчета на закладке Макеты.
Наш отчет готов, осталось озаботиться тем, чтобы пользователь мог формировать этот отчет.
Вывести отчет в 1С
Проверим, сможет ли наш пользователь увидеть этот отчет.
Откроем командный интерфейс подсистемы, в которую включили отчет при его создании.
Отчет должен быть в группе Панель Действий.Отчеты.
Чтобы отчет был в этой группе, должно выполняться несколько условий.
Первое, в редакторе отчета на закладке Команды должен быть установлен флаг «Использовать стандартные команды».
Второе, созданная схема компоновки данных должна быть указана в свойстве «Основная схема компоновки данных» .
Если все вышеуказанное настроено, а также у пользователя имеется роль с правом на просмотр этого отчета и подсистемы, в которую он входит, то сделанный отчет появится в группе отчеты нужной подсистемы.
И его можно будет сформировать.
Внешний отчет 1С
В платформе 1С 8.3 можно конструировать внешние отчеты, которые не входят в состав конфигурации, и которые можно открыть из файловой системы непосредственно в клиентском приложении «1С: Предприятия». Создание внешнего отчета может быть целесообразным в некоторых случаях. Например, вы хотите создать отчет, который в последствие будет использовать на своих конфигурациях какой-то заранее не известный круг лиц, например, ваши клиенты. Или, вы хотите сначала протестировать новый отчет, каждый раз, при этом, не обновляя конфигурацию вашей базы, а просто открывая его в уже запущенном сеансе 1С.
Создать внешний отчет в 1С
Создать внешний отчет можно несколькими способами. Первый способ — создать новый внешний отчет.
Второй способ – сделать из существующего отчета в конфигураторе новый внешний отчет.
Для создания нового отчета, нужно нажать на кнопку «Новый документ» меню Стандартная конфигуратора.
Откроется окно «Выбор вида документа», в котором следует указать «Внешний отчет», а после нажать кнопку ОК.
Откроется знакомый нам редактор отчёта, с которым работаете так, как работаете с редактором обычного отчёта.
После того, как вы выполните все работы по созданию отчёта, следует его сохранить на жесткий диск. Для этого нужно или нажать на кнопку «Сохранить» панели «Стандартная», или выполнить команду «Сохранить» в меню Файл, или нажать комбинацию клавиш Ctrl + S. Как результат, откроется окно «Сохранить как…», в котором нужно выбрать место, где будет находиться файл вашего внешнего отчёта.
Также, можно создать внешний отчет из отчета, который уже был разработан в конфигураторе. В этом случае, необходимо выделить нужный отчет в дереве метаданных, вызвать правой клавишей мышки контекстное меню, и выполнить команду «Сохранить как внешнюю обработку, отчет..» этого меню.
В результате выполнения команды, будет открыто окно «Сохранить как…», в котором следует выбрать путь хранения нового отчета.
Открыть внешний отчет в 1С
Для того, чтобы пользователь имел возможность открывать внешний отчет из клиентского приложения «1С: Предприятия 8.3», необходимо, чтобы у роли этого пользователя было включено право «Интерактивное открытие внешних отчетов».
Если это право включено, то внешний отчет в 1С можно открыть, используя команду «Открыть» подменю файл, которое находится в меню «Сервис и настройка» (начиная с версии платформы 1С 8.3.14).
В окне «Открыть» нужно выбрать файл внешнего отчета (с расширением erf).
Выйдет предупреждение безопасности.
И если вы нажмете «Да», то откроется внешний отчет, с которым можно уже работать.
Другие статьи по конфигурированию в 1С:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Читайте также: