1с получить описание конфигурации
В этой статье я разберу объекты платформы 1С 8.3, и покажу, какие виды объектов бывают в 1С.
Что такое объект? Объект в языке программирования — это некоторая сущность, обладающая Свойствами, над которой можно свершать различные манипуляции посредством Методов.
Самое интересное, что пользователь программы 1С работает не с самим объектом, а с экземпляром объекта, который он может создать либо самостоятельно, либо с помощью программного кода, написанного разработчиком.
Всего в платформе 1С 8.3 можно выделить несколько видов объектов – это объекты конфигурации (или объекты метаданных, прикладные объекты), общие объекты и универсальные коллекции значений.
Какое общее свойство всех объектов в 1С? В платформе 1С мы не можем, как разработчики, самостоятельно изобрести тот или иной объект (или прототип объекта, если это касается объекта метаданных, об этом ниже), мы можем довольствоваться только тем, что нам предоставили разработчики платформы. Мы можем создать разные справочники, разные документы, разные таблицы значений и списки значений, но не можем придумать какой-то свой объект и с ним работать. В этом есть плюс, и есть минус. Минус в том, что мы ограничены функционалом платформы 1С, и вынуждены с ним работать. Плюс в том, что любое приложение, разработанное на платформе 1С стандартизировано, и нам не придётся разбираться в том, что придумал тот или иной разработчик.
У объектов есть свойства, методы и события.
Свойство объекта – это поле, которое может содержать какую-то информацию, связанную с этим объектом. Это поле может быть доступно для записи (можно записать какую-то информацию в это поле) и для чтения (информацию можно прочитать из этого поля), или просто для чтения. Причем, информация в свойстве объекта связана не с самим объектом, а с его экземпляром.
Метод объекта – это процедура или функция, которая выполняет или какое-то действие над экземпляром этого объекта, или возвращает информацию о состоянии экземпляра этого объекта.
У объектов метаданных разработчик может создать собственные свойства и методы, а у общих объектов и у универсальных коллекций значений можно довольствоваться только теми свойствами и методами, которые предоставляет платформа 1С.
Событие – это процедура, которая позволяет перехватить какое-то событие над этим объектом, и, или доработать это событие, или отменить его.
Объекты конфигурации 1С
Объекты конфигурации 1С или объекты метаданных создаются на этапе конфигурирования разработчиком – это справочники, документы, константы и т.п. Пользователь может непосредственно работать с некоторыми объектам — создавать экземпляры объектов и манипулировать ими. Или использовать их — отчеты, обработки и тп.
В платформе 1С существуют различные прототипы объектов метаданных. Это справочники, документы и прочие метаданные.
Все прототипы объектов метаданных представлены в дереве метаданных.
Разработчик может самостоятельно создать объект того или иного прототипа. Например, мы можем создать Справочник. Для этого, достаточно выделить ветку Справочники дерева конфигурации, вызвать правой клавишей мышки контекстное меню, и выполнить команду «Добавить» этого меню.
После выполнения команды, будет создан новый объект, с заранее определенным разработчиками платформы 1С набором методов и свойств.
Например, у справочника, созданного выше, одни из свойств это Имя, Синоним и т.д., а методы, например, Записать, Заполнить и тд.
Также, у объекта могут быть события: это возможность перехватить какие-то действия с объектом, например, можно перехватить запись элемента справочника.
Набор методов, свойств и событий объекта определяется его прототипом. Например, у справочников может быть один набор свойств, а у документов совершенно другой.
Посмотреть все методы, свойства и события прототипа того или иного объекта можно в синтакс-помощнике. В ветке для соответствующего прототипа.
Для объектов метаданных разработчик может самостоятельно создать те или иные свойства – реквизиты объектов.
А также, разработчик может создать методы – описав их в модуле объекта.
У некоторых объектов пользователь может создавать экземпляры этих объектов: например, можно создать экземпляр справочника или документа, и записать этот экземпляр в базу данных. А некоторые объекты метаданных пользователь может использовать для каких-то целей. Например, отчет или обработку.
Общие объекты 1С
Общие объекты – это объекты встроенного языка программирования 1С, которыми может оперировать разработчик, необходимые для различных технических и вспомогательных нужд (например, такой общий объект, как ДиалогВыбораФайла предназначен для работы с диалогом открытия файла, сохранения файла и т.д.).
В синтакс-помощнике информация обо всех общих объектах расположена в одноименном каталоге.
Если у объектов метаданных были прототипы, и разработчик мог создать тот или иной объект какого-либо прототипа, то у общих объектов ни каких прототипов нет, и разработчик может довольствоваться только теми общими объектами, которые ему предоставляет платформа 1С.
Разработчик имеет возможность самостоятельно создать только экземпляр какого-то объекта, для своих утилитарных целей. Делается это при помощи конструктора. Какой у того или иного объекта конструктор, можно посмотреть в синтакс-помощнике в одноименном каталоге.
Как правило, большинство общих объектов создается при помощи конструктора Новый. Например, так создаётся табличный документ.
У общих объектов, также как и у объектов метаданных, могут быть свойства, методы и события. Но, в отличие от объектов метаданных, мы не можем, как разработчики, самостоятельно конструировать те или иные свойства и методы, а можем оперировать только тем, что предоставила платформа 1С. О том, какие свойства, методы и события имеются у того или иного общего объекта можно посмотреть во всё том же синтакс-помощнике.
Не у всех общих объектов есть и методы, и свойства, и события. У некоторых объектов может не быть событий, а у некоторых свойств.
Обратиться к свойствам и методам можно через оператор «.»:
Универсальные коллекции значений
Универсальные коллекции значений – это, также как и общие объекты, объекты встроенного языка программирования, которыми может оперировать разработчик. Но, в отличие от общих объектов, они предназначены для хранения наборов данных, причем эти наборы данных хранятся в оперативной памяти компьютера, во время запущенного сеанса. Таким образом, когда пользователь прекратит работу с сеансом 1С, то и вся информация этих наборов данных будет уничтожена.
Все универсальные коллекции описаны в синтакс-помощнике в разделе «Универсальные коллекции значении». Это массив, структура, соответствие, список значений, таблица значений и т.д.
Как правило, все универсальные коллекции значений создаются при помощи конструктора Новый.
Читайте продолжение темы:
Более подробно про основные универсальные коллекции значений платформы 1С можно почитать в соответствующих статьях:
Так же, как и остальные объекты, универсальные коллекции значений имеют методы и свойства. Но, у каждой универсальной коллекции будет свой состав.
Например, у массива есть только методы, а у структуры есть методы и свойства.
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
В этой статье будет накапливаться экспертиза по работе с файловой базой данных системы 1С Предприятие 8.
Первое на что я наткнулся – это утилита “Tool 1CD.exe”. Ниже будет приведена ссылка на скачивание.
Команда для массового экспорта таблиц из файла 1Cv8.1CD в XML:
Tool_1CD . exe C : \ Users \ Иван \ Documents \ 1c \ DemoSmallBusinessEduc \ 1Cv8.1CD - ExportAllToXML F : \ 1 С _ Аналитика \ db_xml \
Программа “Tool_1CD” для распаковки базы данных 1С Предприятие 8 из 1Cv8.1CD в XML (Заархивировано сначала в RAR, потом в zip): Tool_1CD.zip.
Проверял на вирусы на касперском, вроде не было. Но в любом случае Вы используете этот файл на свой страх и риск. Всегда лучше работайте в “песочнице” или на скопированном файле, который не жалко потерять. Скачивая этот файл Вы соглашаетесь с тем, что Вы снимаете ответственность с владельца этого сайта. Вся ответственность за использование этого файла лежит на Вас.
НА БОЕВОЙ СРЕДЕ НИКОГДА НЕ ТЕСТИРУЙТЕ РАБОТУ ПОСТОРОННИХ УТИЛИТ.
Интерфейс программы “Tool 1CD”
Техническое описание внутреннего устройства опубликовано мной в статье Краткое описание формата файлов *.1CD (файловых баз 1Сv8). Однако она достаточно сумбурна, плоха для восприятия, поэтому здесь я попытаюсь описать формат немного более популярно. Чтобы не было путаницы с термином «файл», сразу замечу, что когда я буду иметь в виду файл базы *.1CD, я буду говорить «файл базы», когда же я буду говорить про внутренние файлы, содержащиеся внутри базы, я буду употреблять просто термин «файл».
На самом нижнем уровне файл базы данных 1CD состоит из страниц размером 4 килобайт (0x1000).
По сути, весь файл базы состоит из массива четырехкилобайтных страниц. Каждая страница имеет свой номер (индекс). Здесь и далее каждый прямоугольник с красной рамкой обозначает одну страницу.
Файлы
На более высоком уровне находятся файлы. Файл состоит из одной или более страниц. У каждого файла есть ровно одна заголовочная страница, в которой размещается массив номеров страниц размещения. В каждой странице размещения, в свою очередь, находится массив номеров страниц данных. Заголовочная страница и страницы размещения – это служебные страницы, которые нужны только для хранения служебных данных (сигнатура, длина файла, версия) и для нахождения страниц данных. Собственно содержимое файла хранится в страницах данных.
Структура таблиц
Каждая таблица состоит из нескольких файлов:
- файла описания таблицы DESCR;
- файла записей DATA;
- файла индексов INDEX;
- файла данных неограниченной длины BLOB.
Файл описания таблицы DESCR содержит текстовое описание таблицы – имя таблицы, состав полей и индексов. А также файл DESCR содержит номера файлов DATA, INDEX и BLOB. Таблица адресуется с помощью файла описания таблицы. Структуру файлов таблиц мы в данной статье рассматривать не будем, подробности можно узнать из моей статьи, ссылку на которую я приводил выше. Файл индексов может отсутствовать, если в таблице нет ни одного индекса. Файл данных неограниченной длины тоже может отсутствовать, если в таблице нет ни одного поля с данными неограниченной длины.
Адресация
База состоит из таблиц. Таблицы, в свою очередь, состоят из файлов. И наконец, файлы состоят из страниц. Адресом страницы является ее порядковый номер (индекс) в файле базы. Адресом файла является номер его заголовочной страницы. Адресом таблицы является адрес ее файла описания, а значит, номер заголовочной страницы файла описания. Т.е. о каком бы объекте мы бы не говорили – странице, файле или таблице, адресом объекта всегда является просто номер страницы.
Одним из способов получения подробного описания таблиц, полей (соответствие нормального наименования таблиц и технического) – использование “Внешней обработки .EPF”.
Файл .epf программируется через конфигуратор 1С Предприятия. В интернете много статей, я покажу лишь как его использовать.
Я нашел несколько файлов EPF (в архиве их три штуки):
epf файлы для получения метаданных из 1С Предприятия 8.3.zip
Как запустить epf файл для выгрузки из 1С метаданных
Приведу 2 примера подключения epf файла. Заходим в 1С Предприятие 8.3. Выбираем Файл – Открыть:
Далее выбираем файл внешней обработки 1С Предприятие для версии 8.3 СтруктураИБ_УФ.epf:
Нажимаем “Вывести список”:
Формат:
Расскрываем список
Получаем описание таблиц с полями:
И еще один пример:
Выводим структуру таблиц 1С Предприятие в текстовом формате
Таблица и “человеческие” названия:
После небольшой корректировки получаем отчет, можете скачать (но там ничего не понятно, нужна расшифровка метаданных): Таблицы и поля из 1С Предприятия 8.3 после обработки Tool 1CD.exe и выгрузкой в XML.xlsx
1С Script Builder реализован в виде внешней 1С-обработки и предназначен для автоматизированного проектирования скрипта загрузки данных из БД 1С версии 8.x в аналитическое приложение QlikView. Использование 1С Script Builder позволяет получить максимальную скорость загрузки данных и максимальную гибкость при формировании самых сложных запросов.
Генерация Загрузочного скрипта для QlikView из метаданных конфигураций 8.3 (управляемые формы), тестировалась на конфигурации “Управление небольшой фирмой, ред. 1.6”.
Обработка получает таблицу метаданных конфигурации с помощью функции ПолучитьСтруктуруХраненияБазыДанных() и генерирует код QlikView SCRIPT с запросом SQL для объекта метаданных текущей строки. Работает в тонком и толстом клиентах управляемого приложения. Поля, индексы и состав индексов элемента метаданных отображается в отдельных таблицах.
Ниже скриншоты как зайти в управляемое приложение через конфигуратор.
ВНИМАНИЕ! В коде последнюю запятую перед SQL надо удалить. Не знаю, как программными средствами убрать.
На вкладке LOAD Script For QlikView приведен загрузочный скрипт. Не забывайте про запятую, которую нужно убрать.
Размещаю этот пример в качестве отправной точки пример. Взят из файла: TableStruct.epf.7z
В этой статье мы подробно познакомимся с синтаксисом языка программирования 1С, на примерах рассмотрим применение основных языковых конструкций, после чего Вы сможете вполне самостоятельно писать программные модули или дорабатывать уже имеющиеся. В статье будут описаны основные, наиболее применимые команды, а с остальными при желании вы всегда сможете ознакомиться в синтаксис-помощнике системы «1С:Предприятие» (режим Конфигуратора, меню Справка | Синтаксис-помощник) или в документации, предоставляемой фирмой «1С» вместе со своими программными продуктами.
В языке программирования 1С все операторы имеют два написания: русское и английское. К примеру, оператор Новый(“”) аналогичен по смыслу и действию оператору New(“”) . Обычно все же пишут код на одном языке (чаще русском), однако не возбраняется (хотя и считается плохим стилем программирования) смешивать оба языка в одном модуле. Мы в описании языковых конструкций будем приводить только русский вариант их написания.
Каждая языковая конструкция будет описана в следующем формате:
ЭлементЯзыка(Параметр1, Параметр2,…, ПараметрN) [КлючевоеСлово]
Здесь:
- Параметр1, Параметр2, …, ПараметрN — список параметров;
- КлючевоеСлово — дополнительное ключевое слово, которое может присутствовать или отсутствовать в той или иной языковой конструкции.
Если у элемента языка нет параметров, скобки опускаются. Квадратные скобки [ ] означают, что параметр или ключевое слово, заключенные в них, необязательны и могут как присутствовать, так и отсутствовать.
Если среди элементов необходимо выбрать только один, они будут разделены следующим образом: Элемент1|Элемент2|Элемент3.
Кроме того, будут представлены примеры программного кода с использованием описываемой языковой конструкции с подробными комментариями.
ПРИМЕЧАНИЕ
В таких текстовых вставках будет приведена дополнительная информация, замечания автора, упоминание о родственных или связанных с рассматриваемой конструкцией элементах языка.А КАК СДЕЛАТЬ?
В таких текстовых вставках будут представлены примеры использования рассматриваемой языковой конструкции в варианте «Вопрос — ответ»: ставится задача и дается способ ее решения. Программный код, приведенный здесь, является типовым способом решения задачи и может быть использован начинающими программистами в собственных наработках.
Приведенные примеры рекомендуется тут же «проигрывать» на практике. Для этого мы сейчас создадим нашу первую внешнюю обработку, в которой и станем закреплять на практике полученные знания.
Наша первая обработка
В упрощенном определении обработка — это программа, написанная на языке 1С и выполняемая в системе «1С:Предприятие».
Обработка может быть как внутренней, входящей в конфигурацию и присутствующей в дереве конфигурации в разделе Обработки, так и внешней, имеющей расширение epf и запускаемой через пункт меню Файл | Открыть.
Мы будем экспериментировать на внешней обработке. Давайте создадим ее. Для этого в режиме Конфигуратора мы должны выбрать команду меню Файл | Новый и в открывшемся списке выбрать вариант Внешняя обработка. Откроется окно создания новой обработки:
Рисунок “Создаем внешнюю обработку”
Обработка, как и справочник или документ, может иметь реквизиты, несколько форм и печатных форм-макетов. В нашем случае мы пока создадим самую простенькую обработку с одной формой. Нам ее вполне хватит. Дадим нашей обработке имя:
Рисунок “Задаем имя и примечание”
Имя (идентификатор) обработки, как и имя любого объекта 1С, будь то имя справочника, документа или переменной, не должно содержать пробелов. Регистр не учитывается, т. е. НашаПерваяОбработка и нашаперваяобработка — это один и тот же объект, просто первое читается удобнее.
Синоним — это представление имени, его создают для того, чтобы в окнах системы «1С:Предприятие» вместо имени пользователь мог видеть название объекта в привычном и более читаемом виде. При этом обращение в программном коде, конечно, идет по имени, а не по синониму. Обратите внимание, что при вводе имени обработки синоним заполняется автоматически с правильным разделением слова по прописным буквам. Если бы мы назвали обработку «нашаперваяобработка», это бы не сработало.
Комментарий предназначен для записи дополнительной информации об объекте. Теперь создадим форму обработки. Для этого щелкнем правой кнопкой мыши на пункте Формы окна создания обработки и выберем пункт Добавить. Откроется окно конструктора формы обработки:
Рисунок “Конструктор формы обработки”
Здесь мы также можем задать имя, синоним и комментарий — на этот раз для формы, указать тип формы (обычная или управляемая, т. е. для работы через Интернет), определить положение командной панели.
Оставим все по умолчанию и нажмем кнопку Готово.
Готовая пустая форма содержит внизу командную панель, на которой расположены три кнопки:
Рисунок “Так выглядит пустая форма обработки”
Выполнить (запускает обработчик выполнения обработки) , Закрыть (закрывает обработку) и кнопку с точками , предназначенную для добавления новых кнопок.
Ниже командной панели расположены вкладки, относящиеся к создаваемой форме:
- Диалог (собственно форма с элементами, размещенными на ней),
- Модуль (здесь пишется программный модуль формы)
- и вкладка со списком реквизитов.
Программный модуль формы сразу после создания выглядит так, как показано на картинке:
Рисунок “Модуль формы новой обработки с одной-единственной пустой процедурой”
На вкладке Модуль присутствует одна-единственная процедура-обработчик нажатия кнопки Выполнить, расположенной на форме. Обработчик пока пуст, в нем только комментарий, который не является исполняемым программным кодом. Поэтому, если мы откроем обработку в режиме «1С:Предприятие» через пункт меню Файл | Открыть и нажмем кнопку Выполнить, то никакие действия не произойдут. Процедуру обработчика (равно, как и другие процедуры модуля) нам предстоит писать самим.
Теперь давайте рассмотрим, какие бывают программные модули и какова их внутренняя структура.
Какие бывают модули 1С Предприятие 8.3?
Программные модули в конфигурации системы «1С:Предприятие» не являются самостоятельными программами (за исключением внешних обработок, представляющих собой отдельные файлы). Каждый модуль привязывается к определенному моменту работы системы «1С:Предприятие».
Система запущена — запускается содержимое одного модуля. Открыли какой-нибудь справочник — запускается другой модуль. Щелкнули по кнопке на форме — выполняется процедура, «подвешенная» на эту кнопку и находящаяся в модуле формы справочника. Таким образом, программный код в системе «1С:Предприятие» является контекстно-зависимым. Вместе с тем программные модули часто связаны между собой и могут быть доступны из других модулей системы.
Существуют области видимости программных элементов, процедур и функций, иначе называемые контекстом выполнения программного модуля. Таких контекстов два:
- Глобальный контекст. Образуется значениями констант, перечислений, регистров и прочих объектов метаданных, определенных в дереве конфигурации, системными переменными, процедурами и функциями, а также переменными, процедурами и функциями, находящимися в общих модулях конфигурации, объявленными с ключевым словом Экспорт. Данные, образующие глобальный контекст, доступны из любых других модулей конфигурации.
- Локальный контекст конкретного модуля. Образуется значениями переменных, процедур и функций, находящимися в конкретном программном модуле. Эти значения являются локальными и доступны только внутри модуля, в котором находятся. Исключение— использование в качестве параметров. Например, переменные определены в каком-либо модуле, а потом из этого модуля следует вызов процедуры (или функции), находящейся в одном из общих модулей. В этом случае значения локальных переменных могут быть использованы в качестве параметров.
В отличие от «1С:Предприятие 7.7» в «1С:Предприятие 8.3» имеется больше различных типов модулей:
- Общие модули. Процедуры и функции, помещенные в такие модули, доступны из любого другого модуля. То есть, при проектировании, скажем, документа, мы всегда можем обратиться к любому из общих модулей. Расположены они в разделе дерева конфигурации Общие | Общие модули .
- Модуль формы. Предназначен для обработки действий пользователя с объектом, которому принадлежит форма. Например, если мы поместим на форму кнопку Выполнить, то обработчик нажатия этой кнопки помещается в модуль формы. В созданной нами обработке для экспериментов мы уже заходили в модуль формы этой обработки.
- Модуль объекта. Этот модуль предназначен для обработки общих событий объекта. Например, для документа здесь будут располагаться процедуры записи и проведения документа, а также отмены проведения. Для того чтобы открыть модуль объекта, расположенного в дереве конфигурации, нужно щелкнуть на нем правой кнопкой мыши и выбрать пункт Открыть модуль объекта . Для того чтобы открыть модуль нашей внешней обработки для экспериментов (не путаем с модулем формы), нужно в окне обработки нажать кнопку Действия и выбрать пункт Открыть модуль объекта . Для нашей обработки этот модуль пуст.
- Модуль приложения. Срабатывает в момент запуска приложения (загрузки конфигурации) и завершения его работы. Сюда помещают программный код, который должен быть выполнен при запуске/закрытии приложения. Модуль доступен в контекстном меню, по щелчку правой кнопкой мыши в самом верхнем пункте дерева конфигурации (там, где название конфигурации). Существуют две разновидности: модуль обычного приложения и модуль управляемого приложения. Модуль обычного приложения предназначен для обычной работы (в режиме «толстого» клиента), режим управляемого приложения — в основном для работы через Интернет (веб-приложение, «тонкий» клиент или «толстый» клиент в режиме управляемого приложения).
- Модуль сеанса. Это модуль, в котором записаны параметры начала сеанса работы в системе «1С:Предприятие». Содержит единственную процедуру УстановкаПараметровСеанса(). Модуль доступен в контекстном меню по щелчку правой кнопкой мыши в самом верхнем пункте дерева конфигурации (там, где указано название конфигурации).
- Модуль внешнего соединения. Назначение модуля аналогично назначению модуля приложения, но только в режиме COM-соединения. Модуль доступен в контекстном меню по щелчку правой кнопкой мыши в самом верхнем пункте дерева конфигурации (там, где указано название конфигурации).
- Модуль менеджера объекта. Существует для многих объектов конфигурации. Модуль предназначен для переопределения стандартного события выбора, которое возникает в момент ввода по строке. Модуль доступен в контекстном меню по щелчку правой кнопкой мыши по объекту в дереве конфигурации. В стандартных конфигурациях для большинства объектов пуст (не используется).
- Модуль команды.Команды — это объекты, подчиненные объектам дерева конфигурации. У каждой команды есть модуль команды, где можно описать предопределенную процедуру ОбработкаКоманды(), которая будет срабатывать для этой команды. Если мы пройдемся по дереву конфигурации, то увидим, что для каждого из объектов: справочников, документов, перечислений и т. д. имеется пункт Команды. По щелчку на нем правой кнопкой мыши мы можем добавить новую команду и задать для нее обработчик ОбработкаКоманды().
В статье будет рассматриваться работа с модулями формы, объекта, а также общими модулями, остальные модули довольно-таки узкоспециализированы, в рабочих конфигурациях модифицируются не так часто и, как правило, не являются постоянно используемыми в работе программиста.
Структура программного модуля
Программный модуль делится на три части.
- Раздел описания переменных. Здесь мы описываем переменные, с помощью оператора Перем. Этот раздел размещается от начала текста модуля до первого оператора Процедура или Функция или любого исполняемого оператора. В общих модулях этот раздел отсутствует.
- Раздел процедур и функций. Здесь пишутся все процедуры и функции модуля. Этот раздел размещается от первого оператора Процедура или до любого исполняемого оператора вне процедур или функций модуля.
- Раздел основной программы. Здесь пишутся команды и языковые конструкции, не относящиеся ни к одной из процедур и функций модуля. Этот раздел размещается от первого исполняемого оператора вне процедур или функций модуля до конца модуля. Здесь могут находиться только исполняемые операторы. Раздел основной программы исполняется в момент запуска модуля на выполнение, поэтому есть смысл помещать сюда, например, инициализацию переменных конкретными значениями. На практике раздел основной программы обычно только называется так — основную часть модуля занимают процедуры и функции, а этот раздел может отсутствовать вовсе. В общих модулях раздел основной программы не присутствует никогда.
Наличие всех частей модуля не является обязательным. Например, переменные могут объявляться непосредственно в процедурах (отсутствует раздел описания переменных). Или никакие команды не выполняются в момент выполнения модуля (отсутствует раздел основной программы). Наконец, модуль просто может состоять из одной или нескольких процедур или функций, т. е. второго раздела (кстати, на практике чаще всего так и бывает). И более того, в некоторых объектах модуль вообще может быть пуст.
Эта статья является логическим продолжением цикла статей «Первые шаги в разработке на 1С». В ней описывается среда разработки на платформе 1С, которая получила название “Конфигуратор”. Изучив данный материал, вы узнаете:
- Что такое дерево объектов, для чего оно нужно и как с ним работать?
- Для чего нужна палитра свойств, как её открыть, как в ней что-то отыскать?
- Когда нужно настраивать различные параметры конфигуратора и как это сделать?
- Что нужно сделать, чтобы можно было внести изменения в типовую конфигурацию?
- Как запустить конфигурацию в режиме отладки?
- Как подключиться к клиентской сессии в режиме отладки и посмотреть, что там происходит?
Рекомендуем ознакомиться с этой информацией не только начинающим программистам, но и всем тем, кто уже работал с конфигуратором и хочет ознакомиться с тонкостями его работы.
Применимость
В статье рассматривается платформа «1С:Предприятие» версии 8.3, поэтому вся информация актуальна для текущих релизов.
Основные приемы работы в конфигураторе
Дерево объектов – это первое, с чем Вы сталкиваетесь при запуске конфигуратора.
После запуска конфигурации для разработки, чтобы увидеть дерево объектов, необходимо выбрать один из двух пунктов меню Конфигурация (Открыть конфигурацию, если конфигурация еще не открыта, или Окно конфигурации, если закрыто просто само окно конфигурации).
Также можно использовать соответствующие кнопки.
Дерево объектов конфигурации отображает: какие сущности есть в конфигурации.
С помощью дерева объектов можно создавать новые элементы, редактировать, добавлять новые реквизиты и свойства.
Данное окно имеет режим закрепления. Кнопка с пиктограммой в виде скрепки в правом верхнем углу окна Конфигурация позволяет делать его прячущимся в тот момент, когда оно не активно.
Возможен поиск нужного объекта по первым буквам. Курсор автоматически позиционируется на нужном объекте.
Иногда дерево объектов называют метаданными. Во встроенном языке есть специальное свойство, которое так и называется Метаданные (т.е. данные о данных).
Одна из функций конфигуратора – это выгрузка/загрузка информационной базы. При выгрузке информационной базы получается упакованный файл с расширением dt.
Эту функцию мы уже подробно рассматривали в предыдущих статьях. Она используется в следующих случаях:
- для переноса базы данных из одного места в другое;
- как один из вариантов выполнения архивирования;
- для перевода файлового режима работы базы в клиент-серверный.
Для редактирования свойств объектов конфигурации существует три метода. Первый из них – вызов окна редактирования объекта (двойным кликом мыши).
Удобен для объектов с большим количеством свойств. Окно редактирования объекта «Документ1» представлено на рисунке.
Данный метод существует не для всех объектов. Например, исключением являются константы.
Следующий метод редактирования свойств объектов – с помощью палитры свойств, которая есть у всех объектов (и у простых, и у сложных). Соответственно, ее можно вызвать для любого объекта.
Вызов осуществляется через контекстное меню, пункт Свойства объекта (комбинация клавиш Alt+Enter).
В палитре все свойства представлены в виде списка. Можно выбирать соответствующие свойства и редактировать.
Метод удобен для объектов с небольшим количеством свойств, но может быть применен для любого объекта.
У палитры свойств есть режим закрепления (т.е. окно можно либо закрепить, либо сделать его прячущимся).
Свойства могут группироваться либо по категориям (как на рисунке), либо быть упорядоченными по алфавиту (удобно, когда точно известно название свойства, но не известна его категория). Группировки свойств можно сворачивать и разворачивать.
Возможно отображение только важных свойств. Переход в данный режим осуществляется нажатием на кнопку в виде воронки.
Если Вы не можете найти какое-то свойство, то, скорее всего, у Вас нажата данная кнопка.
Для каждого свойства существует описание (отображается внизу окна). Описание может быть скопировано в буфер и использовано для поиска по справке.
Возможно расположить категории свойств на отдельных закладках. Для включения данного режима на самой палитре свойств в контекстном меню выбирается пункт Закладками. Однако чаще удобнее работать именно списком.
С помощью палитры свойств удобно редактировать однотипные свойства для нескольких объектов, так как при переходе от одного объекта к другому палитра свойств отображается уже для другого объекта, при этом курсор остается на том же свойстве.
Еще один метод редактирования свойств объектов при помощи окна «Дополнительно». Для открытия этого окна выбирается объект конфигурации, затем в контекстном меню выбирается пункт Дополнительно.
В этом окне можно проставлять различные свойства данного объекта, которые, в основном, представлены в виде различных галочек.
Удобно использовать данное окно, если нужно провести классификацию нескольких объектов, например, по подсистемам. В этом случае вызывается данное окно и при переключении по объектам присваивается вхождение в подсистемы данного объекта.
Аналогично можно поступать с правами доступа, функциональными опциями, настройками командного интерфейса. Для того, чтобы настроить конфигуратор, нужно в меню Сервис выбрать пункт Параметры.
Откроется окно с достаточно большим количеством настроек и закладок.
На закладке Запуск 1С:Предприятия можно указать, какое приложение автоматически будет использоваться при запуске из конфигуратора (тонкий клиент, толстый клиент (управляемое приложение) и т.д.).
Если установлено значение Выбирать автоматически, то система будет ориентироваться на настройки самой конфигурации.
Внимание! Данная настройка влияет только на запуск из конфигуратора.
Здесь же можно настроить использование низкой скорости соединения (т.е. использование группировки данных, передаваемых на сервер, в пакеты).
При отладке, чтобы понять, как приложение работает на тонких каналах связи, можно настроить имитацию задержки при вызовах сервера.
На закладке Запуск 1С:Предприятие есть также подзакладка Дополнительные, где с помощью галочек можно установить ряд дополнительных параметров, которые влияют на запуск приложения из конфигуратора (будут ли отображаться показатели производительности, будет ли отображаться команда Все функции и т.д.).
На закладке Общие указывается: нужно ли только создавать объекты управляемого приложения или следует создавать объекты, которые есть и в обычном приложении.
На закладке Тексты можно настроить принципы редактирования и отображения текста (указываются шрифт, ширина табуляции и другие параметры).
На закладке Модули существует ряд подзакладок. Здесь настраивается, каким образом будет отображаться текст в модулях.
Каким образом будет выполняться Проверка, Группировка и Контекстная подсказка.
На закладке Справка указывается, каким образом будет выводиться справка.
Галочками можно указать те разделы, которые интересуют.
Чтобы получить возможность редактировать (видоизменять) типовую конфигурацию, необходимо в меню Конфигурация выбрать пункт Поддержка, далее Настройка поддержки.
Появится форма «Настройка поддержки». В данной форме следует нажать на кнопку Включить возможность изменения.
Система сделает предупреждение, что в дальнейшем невозможно будет обновлять конфигурацию полностью автоматически.
Если мы все же намерены вносить изменения, требуется нажать на кнопку Да. Появится окно «Настройка правил поддержки».
Если мы не стремимся к глобальным изменениям конфигурации, а будем пытаться обходиться лишь добавлением некоторых объектов, то изменять параметры по умолчанию в данной форме не стоит. Следует сразу нажать на кнопку ОК.
После этого нужно будет настроить правило поддержки для всей конфигурации в целом.
Для этого следует в табличной части формы «Настройка поддержки» в верхней строке (в которой указывается название конфигурации) в поле справа двойным кликом мыши вызвать форму «Настройка правил поддержки» (для данного объекта).
В появившейся форме необходимо выбрать правило Объект поставщика редактируется с сохранением поддержки и нажать на кнопку ОК.
Фому «Настройка поддержки следует закрыть». В результате произведенных действий у нас появится возможность добавления новых объектов. В окне конфигурации активизируется кнопка Добавить.
Если потребуется вносить изменения в уже существующие объекты конфигурации, то для каждого из этих объектов можно также изменить правило поддержки, как это мы сделали для всей конфигурации в целом.
Следует отметить, что программист не напрямую видоизменяет конфигурацию базы данных, а работает со своей конфигурацией, которая называется основной.
Если в основную конфигурацию были внесены какие-либо изменения, то в заголовке окна конфигурация появится маленькая звездочка (*).
Если основную конфигурацию требуется сохранить, то можно использовать пункт Сохранить из меню Файл или нажать соответствующую кнопку с пиктограммой дискеты.
В этом случае конфигурация базы данных еще не обновлена, о чем будет свидетельствовать восклицательный знак в названии окна «Конфигурация ».
Для обновления конфигурации базы данных в соответствии с произведенными программистом изменениями нужно вызвать пункт Обновить конфигурацию базы данных из меню Конфигурация, использовать клавишу F7 или соответствующую кнопку.
Чтобы запустить конфигурацию в пользовательском режиме можно выбрать пункт 1С:Предприятие из меню Сервис или использовать сочетание клавиш Ctrl+F5.
Можно запустить конфигурацию в режиме отладки (пункт Начать отладку из меню Отладка, клавиша F5 или соответствующая кнопка командной панели).
Отличие режима отладки от запуска в пользовательском режиме в том, что возможна остановка приложения в нужные моменты времени, считывание значений переменных и т.д.
При разработке в случае изменения конфигурации удобно сразу начинать отладку, система автоматически предложит сохранить базу данных, останется только дать подтверждение.
Если приложение запущено пользователем (не в режиме отладки), тем не менее при необходимости можно подключиться к процессу пользователя из конфигуратора и сделать отладку.
Сначала для заданного сеанса в режиме 1С:Предприятие через главное меню Сервис/Параметры нужно открыть окно «Параметры» и установить галочку Отладка в текущем режиме разрешена.
На будущее можно поставить галочку Устанавливать режим разрешения отладки при запуске.
После этого в конфигураторе нужно выбрать пункт Подключение из меню Отладка.
При этом появится окно «Предметы отладки» со списком процессов, которые можно отлаживать. В этом списке необходимо выбрать требуемый предмет отладки (сеанс пользователя) и осуществить к нему подключение нажатием на кнопку Подключить.
В следующих статьях цикла мы еще не раз будем обращаться к изучению возможностей конфигуратора. Так что не переживайте, если что-то в его интерфейсе вам пока не понятно.
Кстати, в следующей статье мы рассмотрим специальный инструмент конфигуратора – отладчик, без знания которого разработчику практически невозможно отладить свой программный код.
PDF-версия статьи для участников группы ВКонтакте
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Статья в PDF-формате
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
Комментарии / обсуждение (14):
Есть еще один полезный прием – быстро найти в дереве метаданных редактируемый объект по Ctrl+T
1с конфигуратор – это среда разработки и администрирования информационных баз программы 1с Предприятие.
1с Конфигуратор используется в основном программистами для создания, корректировки программных модулей и объектов конфигурации, а также системными администраторами для выполнения административных функций, таких как создание и восстановление резервных копий программы, тестирование и исправление базы данных и других. Простые пользователи работают и вносят данные в режиме “1с Предприятие”.
Как запустить 1с конфигуратор:
- Запустить программу 1с: Предприятие
- Выбрать нужную информационную базу или создать новую
- Нажать кнопку “Конфигуратор”
- Ввести логин и пароль пользователя с административными правами (если требуется)
Обзор возможностей меню 1с конфигуратора:
Меню “Файл” предназначено для работы с различными файлами поддерживаемыми 1с (внешние отчеты и обработки, текстовые, табличные, графические, HTML документы …), а также просмотра и печати выбранных документов.
Меню “Правка” предназначено для редактирования, поиска, замены информации в модулях ,формах, свойствах, объектах программы.
Если нужно найти какое-то слово или словосочетание в тестах конфигурации используем команду Глобальный поиск.
Вводим нужное словосочетание, выбираем область, настройки поиска и нажимаем кнопку “Искать”.
Появится окно результаты поиска, где можно увидеть все найденные позиции с указанием их месторасположения. По двойному щелчку мыши можно провалиться в искомый модуль прямо к найденному значению.
Если Вы работаете с программным модулем то становится доступно Меню “Текст” программы 1с конфигуратор, которое позволяет настраивать и форматировать текстовые модули, добавлять запросы к объекта информационной базы итд.
Например, чтобы сделать код встроенного языка 1с удобно читаемым – его можно отформатировать через меню Текст-Блок-Форматировать.
Вот пример кода до форматирования:
Выделяем нужный участок кода, выбираем команду “Форматировать”
Вот результат форматирования:
При помощи команд Меню “Конфигурация” Вы можете производить различные манипуляции с текущей конфигурацией .
Что такое Конфигурация
– по сути это программа созданная при помощи 1с конфигуратора, содержащая описание структуры таблиц базы данных и алгоритмы работы с этими данными.
Существует “Основная конфигурация” – это конфигурация с которой работает программист – вносит определенные изменения, чтобы потом обновить конфигурацию базы данных.
Конфигурация базы данных – это программа с которой непосредственно работают пользователи и вносят свои данные . Вносить изменения в структуру конфигурации базы данных можно только путем обновления из основной конфигурации.
Существует также конфигурация поставщика – это исходная конфигурация от компании, создавшей продукт. На ее основе зачастую создается основная конфигурация и конфигурация базы данных. Если программа создается с нуля, то конфигурации поставщика может не существовать. Поставщики зачастую выпускают новые версии своей программы. И если конфигурация не снята с поддержки, то можно обновиться в автоматическом режиме.
Основные команды меню Конфигурация:
- Открыть конфигурацию, для дальнейшей работы с объектами информационной базы
- Сохранить конфигурацию и Обновить конфигурацию– сохранение и обновление Конфигурации БД из основной конфигурации
- Поддержка – Обновление – обновлении конфигурации из конфигурации поставщика из интернета или из файлов cf, cfu
- Сохранение конфигурации в файл cf
- Загрузка конфигурации из файла cf с заменой текущей конфигурации
- Сравнение , объединение конфигурации из файла – сравнение конфигураций и добавление изменений из файла cf
- Проверка конфигурации на ошибки
Если вы работаете с обычными формами, то при их разработке доступно меню Форма.
Команды этого меню позволяют управлять различными элементами управления(Кнопка, Надпись,Поле ввода,Флажок, Поле списка, Табличное поле и другими) на обычной форме.
Меню Отладка содержит команды для работы со встроенным отладчиком 1с.
Отладчик 1с нужен для тестирования программного кода 1с. Для его работы необходимо запустить 1с в режиме отладки. После этого можно останавливаться в произвольном месте программного кода (установить точку останова) и проверять значения которые принимают различные переменные или объекты.
Как посмотреть значения объектов в режиме отладки
- Если это переменная то система выдает значение в подсказке при наведении курсора на переменную
- Через форму Вычислить выражение можно вызвать с помощью контекстного меню или нажатия быстрых клавиш — (Shift + F9), или меню (Отладка — Вычислить выражение).
- через Табло, которое вызывается с помощью быстрых клавиш Ctrl + Alt +W или из меню (Отладка — Табло). Добавить объект в табло можно через кнопку “Включить в табло” из формы “Вычислить выражение” или вписать вручную.
Установить точку останова можно:
Как узнать откуда вызвана процедура или функция ?
Чтобы узнать откуда была вызвана та или иная процедура или функция в 1С предусмотрена специальная функция — «Стек вызовов». Для запуска Стека вызовов необходимо нажать горячие клавиши — Ctrl + Alt + C или через меню (Отладка — Стек вызовов).
С помощью него Вы можете узнать, откуда была вызвана процедура или функция и с какими параметрами:
В процессе отладки можно двигаться и отслеживать изменения по строкам (по шагам) после активации точки останова.Для того чтобы сделать шаг к следующей строке, необходимо нажать кнопку «F11″(Шагнуть в). Когда Вы находитесь в режиме пошаговой отладки слева от кода появляется стрелка:
Рассмотрим основные команды меню Администрирование
Похожие записи
Gallery image with caption: Теги 1227, 1228 в кассовом чеке из 1с. Обработка ATOLKKT c интеграционной компонентой АТОЛ.
Читайте также: