Встроенный язык
Встроенный язык является важной частью технологической платформы «1С:Предприятия 8», поскольку позволяет разработчику описывать собственные алгоритмы функционирования прикладного решения.
Встроенный язык имеет много общих черт с другими языками, такими как Pascal, Java Script, Basic, что облегчает его освоение начинающими разработчиками. Однако он не является прямым аналогом какого-либо из перечисленных языков.
Вот лишь некоторые, наиболее значимые особенности встроенного языка:
- предварительная компиляция — перед исполнением модули, содержащие текст на встроенном языке, преобразуются во внутренний код;
- кэширование скомпилированных модулей в памяти;
- мягкая типизация — тип переменной определяется типом значения, которое она содержит, и может изменяться в процессе работы;
- отсутствие программного описания объектов конфигурации — разработчик может использовать либо встроенные в платформу объекты, либо объекты, созданные системой в результате визуального конструирования прикладного решения.
Событийная ориентированность встроенного языка
Назначение встроенного языка в системе 1С:Предприятие определяется идеологией создания прикладных решений. Прикладные решения в 1С:Предприятии 8 не кодируются целиком. Большая часть прикладного решения создается разработчиком путем визуального конструирования — создания новых объектов конфигурации, задания их свойств, форм представления, взаимосвязей и пр. Встроенный язык используется лишь для того, чтобы определить поведение объектов прикладного решения, отличное от типового, и создать собственные алгоритмы обработки данных.
По этой причине модули, содержащие текст на встроенном языке, используются системой в конкретных, заранее известных ситуациях, которые могут возникнуть в процессе работы прикладного решения. Такие ситуации называются событиями. События могут быть связаны с функционированием объектов прикладного решения или с самим прикладным решением, как таковым.
Например, с функционированием объекта прикладного решения Справочник связан ряд событий, среди которых есть событие ПередЗаписью:
Это событие возникает непосредственно перед тем, как данные элемента справочника должны быть записаны в базу данных. Разработчик, используя встроенный язык, может описать алгоритм, который, например, будет проверять корректность данных, введенных пользователем. Разместив этот алгоритм в соответствующем модуле, разработчик обеспечит то, что каждый раз, как пользователь будет выполнять запись элемента справочника, система будет выполнять созданный разработчиком алгоритм и проверять, не забыл ли пользователь заполнить обязательные реквизиты справочника.
Таким образом можно сказать, что встроенный язык является скриптовым языком для программирования бизнес-логики, а использование модулей на встроенном языке является событийно-зависимым, т. е. выполнение модулей происходит при возникновении определенных событий в процессе функционирования прикладного решения.
Универсальные коллекции значений
Встроенный язык поддерживает работу с большим количеством разнообразных объектов. Безусловно, основную группу объектов составляют прикладные объекты, позволяющие описывать алгоритмы функционирования бизнес-логики.
Однако не менее важной группой являются объекты, предназначенные для хранения временных наборов данных в течение сеанса работы пользователя. Как правило, они служат для вспомогательного сбора, группировки, анализа и обработки информации:
Перечислим кратко их возможности:
Массив
Представляет собой пронумерованную коллекцию значений произвольного типа. К элементу массива можно обращаться по его индексу. В качестве элементов массива могут выступать, в частности, другие массивы. Это позволяет создавать многомерные массивы.
Структура
Представляет собой поименованную коллекцию, состоящую из пар ключ — значение. Ключ может быть только строковым, значение — произвольного типа. К элементу структуры можно обращаться по значению его ключа, т. е. по имени. Обычно используется для хранения небольшого количества значений, каждое из которых имеет некоторое уникальное имя.
Соответствие
Также как и структура, представляет собой коллекцию пар ключ — значение. Однако, в отличие от структуры, ключ может быть практически любого типа.
Список значений
Используется, как правило, для решения интерфейсных задач. Позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может содержать значения любого типа, кроме того, в одном списке типы хранимых значений могут быть разными.
Например, список значений может использоваться для выбора конкретного документа из списка возможных документов, сформированного по сложному алгоритму.
Таблица значений
Таблица значений позволяет строить динамические наборы значений и манипулировать ими. Она может быть наполнена значениями любого типа, и в одной таблице типы хранимых значений могут быть разными.
Одним из примеров использования таблицы значений может служить организация представления в форме списка элементов справочника, отобранных по сложному алгоритму.
Дерево значений
Дерево значений представляет собой динамически формируемый набор значений любого типа, похожий на таблицу значений. В отличие от таблицы значений, строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор подчиненных строк, каждая из подчиненных строк, в свою очередь, также может иметь набор подчиненных строк и так далее. При этом поиск значений, сортировка, получение итогов могут осуществляться либо по текущему уровню иерархии, либо включая все подчиненные.
COMSafeArray
Представляет собой объектную оболочку над многомерным массивом SAFEARRAY из COM. Позволяет создавать и использовать SAFEARRAY для обмена данными между COM-объектами.
Фиксированный массив
Неизменяемый массив. Массив заполняется системой при инициализации объектов данного типа или разработчиком, с помощью конструктора.
Редактор текстов и модулей
Для создания и изменения текстов на встроенном языке разработчик может использовать редактор текста и модуля, обладающий удобными средствами создания, редактирования и синтаксической проверки модулей. Подробнее…
Что такое события и с чем они связаны 1с
48 . В окне ФормаДокумента выберите Поле ввода в колонке Количество , МП , Свойства , должна появиться Палитра свойств , прокрутите список до конца, вы обнаружите перечень событий, которые могут быть связаны с этим полем ввода, в группе События в поле При изменении нажмите Лупа , система создаст заготовку процедуры обработчика этого события в модуле нашей формы.
Модуль — это «хранилище» для текста программы на встроенном языке. В конфигурации существует большое количество модулей, которые расположены в различных ее точка . Они могут принадлежать некоторым объектам конфигурации (например, формам), а могут существовать сами по себе (принадлежать всей конфигурации в целом).
Рисунок 20.31. Заготовка процедуры в модуле формы
49 . В модуль формы добавьте код:
Пример 20.1. Процедура обработки события в модуле формы
Процедура МатериалКоличествоПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные; СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена; КонецПроцедуры
В первой строке мы обращаемся к программному объекту ЭлементыФормы. Этот объект является коллекцией значений, содержащей все элементы управления, расположенные на нашей форме. Каждый элемент управления формы можно получить, указав его имя в качестве свойства объекта ЭлементыФормы. В данном случае мы обращаемся к элементу управления с именем «Материалы» (ЭлементыФормы.Материалы).
Этот элемент управления отображает строки табличной части нашего документа. Получить ту строку, в которой в настоящее время осуществляется редактирование, можно при помощи свойства программного объекта ТабличноеПоле — ТекущиеДанные. Таким образом, в результате выполнения первой строки переменная СтрокаТабличнойЧасти будет содержать объект
ДокументТабличнаяЧастьСтрока.ПриходнаяНакладная.Материалы, в котором находятся редактируемые данные.
Во второй строке вычисляется сумма как произведение количества и цены. Объект ДокументТабличнаяЧастьСтрока. позволяет обратиться к данным конкретной колонки, указав имя колонки в качестве свойства объекта (например,
50 . Выберите Отладка | Начать отладку , на появившийся вопрос: редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных? выберите Да , в окне Реорганизация информации выберите Принять .
51 . Теперь посмотрим, как это работает: выберите Операции | Документы , выберите любой документ ПриходнаяНакладная, теперь поменяйте количество в любой строке документа, сумма в строке должна будет пересчитана.
Замечательно. Но теперь хотелось бы и для поля «Цена» сделать то же самое. А если заглянуть вперед, то мы увидим, что подобное автоматическое заполнение поля «Сумма» может нам понадобиться и в других документах. Поэтому лучше будет поместить расчет суммы в некотором «общедоступном» месте, чтобы разные документы, имеющие аналогичные реквизиты табличной части, могли использовать этот алгоритм.
Пред. | Наверх | След. |
20.8. Форма документа | Начало | Содержание | 20.10. Создание процедуры обработки события в общем модуле |
Вирус скуки
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
Какими характерными особенностями обладает документ?
Документ предназначен для описания информации о совершенных хозяйственных операциях или произошедших событий в организации. Отличительная особенность документа — способность проведения — событие, которое отображает документ, повлияло на состояние учета. Так же документ привязан к конкретному моменту времени.
Для чего предназначены реквизиты и табличные части документа?
Реквизиты предназначены для описания наборов одинаковой для всех документов этого типа информации, стандартные реквизиты — дата и номер документа;
Табличные части — для описания набора информации, которая одинакова по структуре, но различна по количеству;
Какие существуют основные формы документа?
Форма объекта, форма списка, форма для выбора;
Что такое проведение документа?
Проведение — действие, которое выполняет изменение других данных системы на основании информации документа;
Как создать объект конфигурации Документ и описать его структуру?
В конфигураторе, структура — на вкладке «Данные»
Как создать новый документ и заполнить его данными?
В 1С:Предприятие создать новый документ. Данные заполняются как с помощью поля выбора, так и с клавиатуры;
Как создать собственную форму документа?
Документ — изменить — формы — добавить
Что такое конструктор форм?
Конструктор форм — это инструмент разработчика для создания форм, построенные по принципу «мастеров»: ввод данных в определенной последовательности;
Что такое редактор форм?
Редактор форм используется для создания и редактирования форм объектов прикладного решения. Редактор форм обеспечивает редактирования диалога формы, её реквизитов и редактирование модулей;
Что такое элементы формы?
Основной интерфейсный инструмент, служит для управления и отображения записей Базы Данных; Примеры: кнопка, табличное поле, поле ввода и др;
Что такое события и чем они связаны?
Событие — процессы, возникающие при соблюдении определенных условий во время функционирования формы. Событие связаны с элементами формы.
Что такое обработчик события и как его создать?
Выбираем элемент формы, находим в палитре свойств событие, жмем на значок лупы. В модуле создастся шаблон процедуры — обработки события;
Что такое модуль и для чего он нужен?
Модуль — хранилище для текста программы на встроенном языке.
Зачем нужны общие модули?
Общий модуль служит для хранения процедур, которые могут быть доступны для любых объектов конфигурации;
Что такое типообразующие объекты?
Объекты конфигурации, для которых может быть указан тип информации, содержащийся в объекте, называют типизированными объектами конфигурации. Некоторые объекты (справочники, документы, перечисления) могут сами образовывать типа, следовательно, они являются типообразующими объектами
ITIL управление
Приветствую, коллеги! В данной статье будет описано, как происходит управление в ITIL. Я расскажу о процессе по управлению событиями, которые являются частью общей системы по мониторингу инфраструктуры.
ITIL (IT Infrastructure Library – библиотека инфраструктуры информационных технологий) – это наиболее популярное руководство для управления услугами в сфере информационных технологий.
Здесь считаю уместным заострить внимание на разнице между управлением и мониторингом, так как для данной темы эти понятия являются первичными. Оба определения довольно близки по смыслу, но абсолютно различны на практике:
● Мониторинг – это надзор за состояниями. Как пример, средства по контролю проверяют состояния устройств на предмет функционала в возможных границах.
● Процесс управления событиями – это наблюдения за событиями, которые связаны с переменами в сфере информационных технологий, либо по IT-сервисам.
То есть имеем, что мониторинг является более общим понятием, для действия которого не обязательно наличие события.
В свою очередь, событие – это явление, которое можно обнаружить и которое значимо в сфере по управлению инфраструктурой информационных технологий. Обычно события – это некоторые оповещения, которые генерируются при помощи сервисов IT.
2. Необходимость системы управления событиями
Рассмотрим какие факторы существуют в ITIL по управлению:
1. Быстрое нахождение ошибок; 2. Основание для эксплуатации автоматических процедур; 3. Высокая рациональность по мониторингу для процедур автоматизации; 4. Быстрые оповещения по необходимости обновлений.
Чтобы лучше представлять как происходит управление событиями по технологии ITIL – нужно представить схему по циклу движения события. В начале мы имеем рабочую систему по мониторингу, в ней иногда появляются события, которые оказывают влияние на поддержание IT сервисов. Мониторинг охватывает состояния по конфигурационным единицам, лицензирования ПО, параметры по безопасной работе и так далее.
Во время нахождения события нужно различать обычные события и те, которые подлежат обработке.
Условная схема работы представлена на картинке ниже:
Схема работы по системе управления событиями
События делятся на такие виды: ● Информационные события – они не требуют никаких действий; ● Отклонения – являются, по сути, триггерами по инициированию проблем и перемен; ● Предупреждения – события, которые предупреждают, что какие-то действия могут привести к негативным отклонениям.
Во время фильтрации происходит отбор событий, на которые нужно реагировать. Остальные события находятся внутри базы данных.
Оценивать действия для всех событий нельзя, так как отбор идёт по самым важным.
Этап по закрытию также возможен не для всех событий.
3. 1С:ITIL управление информационными технологиями предприятия
1С:ITIL управление информационными технологиями предприятия нужен для автоматизации работы в подразделениях, которые предоставляют IT-сервис. Благодаря данной конфигурации происходит управление по комплексу процессов внутри компании.
Функции по решению учитывают все принципы библиотеки ITIL. Данное конфигурационное решение помогает с большей эффективностью и с минимумом затрат проводить управление подразделениями по IT сервису, проводить учёт по программному обеспечению, формировать каталог с услугами, распределять затраты и многое другое.
Специалист компании «Кодерлайн» Айдар Фархутдинов