ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ




Севастопольский государственный университет

 

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

к лабораторной работе «Исследование встроенного языка в системе 1С: Предприятие 8»

по дисциплине

«Платформа 1С»

для студентов дневной формы обучения специальности 09.03.02

 

«Информационные системы

и технологии»

всех форм обучения

 

Севастополь


УДК

 

Исследование способов разработки мини-системы автоматизации учета на базе 1С: Предприятие 8. Методические указания для выполнения лабораторной работы по дисциплине «Платформа 1С» для студентов дневной и заочной формы обучения / Сост. В.Е. Шишкевич.- Севастополь: Изд. СГУ, 2015.-32 с.

 

Цель указаний: Помочь студентам в изучении способов отчетности и разработки мини-системы автоматизации учета на базе 1С: Предприятие 8. Методические указания предназначены для студентов дневной и заочной формы обучения по направлению 09.03.02 «Информационные системы и технологии»

 

Методические указания рассмотрены и утверждены на заседании кафедры Информационные системы (протокол №__ от ______2015 года).

 

Рецензент

 

 

Допущено научно-методическим центром СГУ в качестве методических указаний.

 

 

 

СОДЕРЖАНИЕ

 

1. ЦЕЛЬ РАБОТЫ... 4

2. ОСНОВНЫЕ ПОЛОЖЕНИЯ.. 4

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ... 10

4. СОДЕРЖАНИЕ ОТЧЕТА.. 10

5. КОНТРОЛЬНЫЕ ВОПРОСЫ... 10

ПРИЛОЖЕНИЕ А. Варианты заданий.. 11

 


ЦЕЛЬ РАБОТЫ

Ознакомиться с основными конструкциями встроенного языка 1С. Разработать небольшую конфигурацию на основе варианта задания, используя приобретенные знания.

 

ОСНОВНЫЕ ПОЛОЖЕНИЯ

 

2.1 Общее описание встроенного языка

 

Встроенный язык является важной частью технологической платформы 1С:Предприятия 8.0, поскольку позволяет разработчику описывать собственные алгоритмы функционирования прикладного решения.

Встроенный язык имеет много общих черт с другими языками, такими как Pascal, Java Script, Basic, что облегчает его освоение начинающими разработчиками. Однако он не является прямым аналогом какого-либо из перечисленных языков.

Вот лишь некоторые, наиболее значимые особенности встроенного языка:

• предварительная компиляция; перед исполнением модули, содержащие текст на встроенном языке, преобразуются во внутренний код;

• кэширование скомпилированных модулей в памяти;

• мягкая типизация - тип переменной определяется типом значения, которое она содержит, и может изменяться в процессе работы;

• отсутствие программного описания объектов конфигурации; разработчик может использовать либо встроенные в платформу объекты, либо объекты, созданные системой в результате визуального конструирования прикладного решения.

Событийная ориентированность встроенного языка. Назначение встроенного языка в системе 1C:Предприятие определяется идеологией создания прикладных решений. Прикладные решения в 1С:Предприятии 8.0 не кодируются целиком. Большая часть прикладного решения создается разработчиком путем визуального конструирования - создания новых объектов конфигурации, задания их свойств, форм представления, взаимосвязей и пр. Встроенный язык используется лишь для того, чтобы определить поведение объектов прикладного решения, отличное от типового, и создать собственные алгоритмы обработки данных.

По этой причине модули, содержащие текст на встроенном языке, используются системой в конкретных, заранее известных ситуациях, которые могут возникнуть в процессе работы прикладного решения. Такие ситуации называются событиями. События могут быть связаны с функционированием объектов прикладного решения или с самим прикладным решением, как таковым.

Например, с функционированием объекта прикладного решения Справочник связан ряд событий, среди которых есть событие Перезаписью. Это событие возникает непосредственно перед тем, как данные элемента справочника должны быть записаны в базу данных. Разработчик, используя встроенный язык, может описать алгоритм, который, например, будет проверять корректность данных, введенных пользователем. Разместив этот алгоритм в соответствующем модуле, разработчик обеспечит то, что каждый раз, как пользователь будет выполнять запись элемента справочника, система будет выполнять созданный разработчиком алгоритм и проверять, не забыл ли пользователь заполнить обязательные реквизиты справочника.

Таким образом можно сказать, что встроенный язык является скриптовым языком для программирования бизнес-логики, а использование модулей на встроенном языке является событийно-зависимым, т.е. выполнение модулей происходит при возникновении определенных событий в процессе функционирования прикладного решения.

 

Предопределенные типы данных

Платформа 1C:Предприятия 8.0 позволяет разработчику использовать различные типы данных.

Существует большое количество типов данных, которые определены на уровне самой платформы. Например, это примитивные типы данных, такие как строка, число, дата и пр.

Описание примитивных типов данных:

• NULL - отсутствующее значение. Используется, например, в запросах.

• Неопределено - пустое, неопределенное значение. Используется, например, при оценке передачи параметров, в том случае, если при вызове процедуры или функции данный параметр опущен. Реквизиты, имеющие составной тип данных, по умолчанию имеют тип "Неопределено".

• Булево - содержит два значения: Истина или Ложь. Используется, например, в логических выражениях - логическое выражение имеет тип "Булево".

• Дата - содержит дату и время. По умолчанию имеет значение - 01.01.01 00:00:00 дата начала нашей эры. Время измеряется от начала дня. Запись выражения, имеющего литерал типа "дата", осуществляется следующим образом - '00010101000000'. Сначала записывается год, потом месяц, потом число и потом время. Возможна следующая запись: '20041031'. Время по умолчанию - начало дня.

• Строка - бывает переменной, фиксированной и неограниченной длины. В общем случае рекомендуется использовать строки переменной длины.

• Число - увеличена разрядность числа до 38 разрядов.

• Тип - служит для определения типов значений. Используется, например, для сравнения типов данных. Не имеет литералов и возвращается функциями Тип(<Имя типа>) или Тип3нч(<3начение>).

Также, существуют более сложные типы данных. Например, платформа поддерживает целый ряд типов, которые представляют собой универсальные коллекции значений: массив, структура, список значений, дерево значений и т.д.

Типы данных "Универсальные коллекции" - список (набор) объектов данных любых типов, к значениям которого можно обратиться перебором или по указанному индексу (ключу). Нумерация элементов коллекций начинается с 0. Все указанные типы данных создаются только программно.

Массив. Представляет собой пронумерованную коллекцию значений произвольного типа. К элементу массива можно обращаться по его индексу. В качестве элементов массива могут выступать, в частности, другие массивы. Это позволяет создавать многомерные массивы.

Структура. Представляет собой поименованную коллекцию, состоящую из пар Ключ - Значение. Ключ может быть только строковым, значение - произвольного типа. К элементу структуры можно обращаться по значению его ключа, т.е. по имени. Обычно используется для хранения небольшого количества значений, каждое из которых имеет некоторое уникальное имя.

Соответствие. Также как и Структура, представляет собой коллекцию пар Ключ - Значение. Однако, в отличие от Структуры, ключ может быть практически любого типа.

Список значений. Используется, как правило, для решения интерфейсных задач. Позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может содержать значения любого типа, кроме того, в одном списке типы хранимых значений могут быть разными.

Таблица значений. Таблица значений позволяет строить динамические наборы значений и манипулировать ими. Она может быть наполнена значениями любого типа, и в одной таблице типы хранимых значений могут быть разными.

Дерево значений. Дерево значений представляет собой динамически формируемый набор значений любого типа, похожий на таблицу значений. В отличие от таблицы значений, строки дерева значений могут образовывать иерархические структуры: каждая строка дерева может иметь набор подчиненных строк, каждая из подчиненных строк, в свою очередь, также может иметь набор подчиненных строк и так далее. При этом поиск значений, сортировка, получение итогов могут осуществляться либо по текущему уровню иерархии, либо включая все подчиненные.

COMSafeArray. Представляет собой объектную оболочку над многомерным массивом SAFEARRAY из СОМ. Позволяет создавать и использовать SAFEARRAY для обмена данными между СОМ-объектами.

ФиксированныйМассив. Неизменяемый массив. Массив заполняется системой при инициализации объектов данного типа или разработчиком, с помощью конструктора.

Кроме этого в платформе реализованы специфические типы данных, реализующие ту или иную функциональность прикладных решений: текстовый документ, табличный документ, ХранилищеЗначения, ПостроительОтчета, ПостроительЗапроса и пр.

 

Программные модули.

Модулем называется программа на встроенном языке 1C:Предприятие. Модули располагаются в заданных точках конфигурации и вызываются для выполнения в заранее известные моменты работы системы 1C:Предприятие. Например, модули формы привязаны к формам объектов и позволяют детально описывать реакцию формы на действия пользователя.

В конфигурации существует несколько видов модулей. Это модуль приложения, модуль внешнего соединения, общие модули, модули форм и модули объектов конфигурации (менеджеров значения констант, справочников, документов, планов видов характеристик, планов счетов, планов видов расчета, планов обмена, бизнес-процессов, задач, отчетов, обработок, наборов записей регистров).

Если конфигурация запускается не в режиме клиентской сессии, а в режиме COM-соединения, то вместо модуля приложения используется модуль внешнего соединения.

Для написания и редактирования текстов программных модулей предназначен редактор текстов и модулей. Тексты программных модулей могут содержать конструкции как на русском, так и на английском языках в любой комбинации.

Разделы программного модуля в порядке их размещения:

• Раздел объявления переменных;

• Раздел описания процедур и функций;

• Раздел основной программы.

Ограничения программных модулей:

• Общие модули содержат только раздел описания процедур и функций.

В общих модулях описываются такие процедуры и функции, алгоритмы которых неоднократно используются в других модулях.

В модуле приложения описываются такие процедуры и функции, как "ПриНачалеРаботыСистемы", "ПриЗавершенииРаботыСистемы" и др.

В модуле внешнего соединения описываются специфические процедуры и функции, которые актуальны для использования в режиме внешнего соединения. В режиме Сот-соединения по сути модуль приложения заменяется на модуль внешнего соединения.

В модуле объекта описываются такие процедуры и функции, как "ПриЗаписи", "ПриУстановкеНовогоКода", "ПриКопировании", "ОбработкаЗаполнения" и др.

В модуле формы описываются такие процедуры и функции, как "ПриОткрытии", "ПриЗакрытии", "ОбработкаВыбора", "ВнешнееСобытие" и др.

Для того, чтобы переменная, процедура или функция были доступны в других модулях (в соответствии с контекстом использования модулей) необходимо в конце строки объявления написать ключевое слово "Экспорт". Использование ключевого слова "Экспорт" имеет смысл только для тех переменных, которые описаны в разделе описания переменных программного модуля.

Например:

Перем глТекущийПользователь Экспорт

Процедура Пересчет() Экспорт

Процедура или функция, объявленные с ключевым словом "Экспорт" в модуле объекта, дополняют контекст этого объекта. Например:

Справочники.Клиенты.НайтиПоКоду(ВыбКод,„).ПолучитьОбъекг().Печат ь();

При этом процедура Печать() объявлена в модуле объекта справочника "Клиенты" с ключевым словом "Экспорт".

Отличие процедур и функций состоит в том, что функция имеет возвращаемое значение. Параметры процедур и функций по умолчанию передаются по ссылке. Для того, чтобы передать параметр по значению используется ключевое слово "Знач". Например:

Процедура Пересчет(Количество, Сумма, СгавкаНДС, Знач ФлагРасчетаСтавкиНДС)

Текст программного модуля может содержать однострочные комментарии, которые начинаются с комбинации символов //.

Встроенный язык. Переменные

Для объявления переменных используется ключевое слово "Перем”. Существует также неявное объявление переменных при первом присвоении значения переменной.

Например:

Перем Значение!.;

Значение2 = 4;

Переменная Значение1 объявлена явно, а переменная Значение2 объявлена неявно. При неявном объявлении переменной система определяет ее тип по присваиваемому ей значению. При повторном присвоении переменной значения ее тип может измениться.

В именах переменных допускается использование символов и цифр, а также символа подчеркивания. При этом имя переменной должно начинаться только с символа. Использование пробелов в именах переменных не допускается.

 

Встроенный язык. Операторы

Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А = В;) и синтаксических конструкций встроенного языка (например, таких как Для, Пока, Если). Между собой операторы обязательно следует разделять символом (точка с запятой). Конец строки не является признаком конца оператора, т.е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов в одной строке, разделяя их символом

Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и
исполняемые операторы.

Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы. Любой исполняемый оператор может иметь метку, используемую в качестве точки перехода в операторе "Перейти”.

В общем случае формат оператора языка следующий:

~метка: Оператор[(Параметры)][ДобКлючевоеСлово];

Одним из операторов являются циклы. Во встроенном языке различают следующие виды циклов:

• Пока <условие> цикл.

• Для каждого <имя переменной> из <имя коллекции> цикл.

• Для <имя переменной> = <начальное значение> по «конечное значение> цикл.

Для досрочного прекращения цикла используется оператор "Прервать".

Пример использования цикла "для каждого":

/ / Создание массива Массив = Новый Массив(10);

// Заполнение массива Для Сч=0 по 9 Цикл Массив[Сч]=Сч;

КонецЦикла;

// Индикация массива

Для Каждого Элемент из Массив Цикл

Сообщить(Элемент);

КонецЦикла;

Рассмотрим следующий вид операторов - "условия”. Условия оформляются следующим образом:

Если <ключевое слово > («логическое выражение>) «ключевое слово («логическое выражение>):

ИначеЕсли «ключевое слово («логическое выражение>) «ключевое слово («логическое выражение;»):

Иначе

КонецЕсли;

В записи условий могут использоваться следующие ключевые слова: "И", "ИЛИ", ”НЕ". Ветвей "ИначеЕсли" может быть неограниченное количество или ни одной.

Логические выражения имеют тип Булево. При этом, если в условии используется несколько логических выражений, соединенных ключевыми словами "И" или "ИЛИ", и по значению первого логического выражения можно определить значение всего условия, то вычисление значений остальных логических выражений не производится. Например:

Значение1 = 5;

Значение2 = 4;

Если (Значение1 = 5) или (Значение2 = 4) тогда

В данном случае в условии используется ключевое слово "ИЛИ". Поэтому, если значение первого логического выражения Истина, то вычисление второго логического выражения произведено не будет.

Пример укороченной записи логического выражения:

Значение1 = Истина;

Значение2 = Ложь;

Если Значение! И НЕ Значение2 тогда

 

Отладчик

Отладчик - вспомогательный инструмент, облегчающий разработку программных модулей системы 1С Предприятие 8.0. Отладчик предоставляет следующие возможности:

• Пошаговое выполнение модуля;

• Расстановка точек останова;

• Прерывание и продолжение выполнения модуля;

• Возможность отладки нескольких модулей одновременно;

• Вычисление выражений для анализа состояния переменных;

• Просмотр стека вызовов процедур и функций;

• Возможность остановки по возникновению ошибки;

• Возможность редактирования модуля в процессе отладки;

• Замер производительности.

Отладчик является встроенным в конфигуратор инструментом. Для его использования необходимо, чтобы
одновременно с конфигуратором была запущена отлаживаемая конфигурация в режиме "1C:Предприятие".
Последовательность запуска программ не имеет значения.

Процесс отладки заключается в последовательном выполнении следующих действий:

• Запустите конфигуратор и откройте модуль, предназначенный для отладки;

• Расставьте в требуемых строках модуля точки останова;

• Запустите режим "1CПредприятие" для выбранной конфигурации, если режим уже был запущен, то выполните команду "Отладка - Подключиться";

• Выполните действия, которые вызовут исполнение отлаживаемого модуля (например, проведите документ);

• Проведите пошаговое выполнение нужного вам фрагмента модуля.

Если конфигурация запущена в режиме 1C: Предприятие, то необходимо в конфигураторе выбрать пункт "Отладка - Подключиться". На экран выводится окно для выбора процесса. Обычно список содержит одну строку с указанием на запущенную в режиме 1C: Предприятие конфигурацию. Если запущено несколько приложений 1C:Предприятие с данной конфигурацией, то список может содержать несколько строк. Выбор процесса указывает Отладчику, какой процесс будет отлаживаться.

Для отладки модуля внешней обработки необходимо открыть файл внешней обработки в Конфигураторе, воспользовавшись пунктом "Файл - Открыть". В дальнейшем с модулем внешней обработки в Отладчике можно работать так же, как и с любым другим модулем.

Отладчик позволяет установить на конкретную строку модуля специальный маркер - точку останова, - при достижении которой исполнение программного модуля останавливается и управление передается отладчику. Точку останова можно установить в любой строке модуля, в любой момент работы с Отладчиком. В случае, если строка, на которой устанавливается точка останова, не содержит операторов (например, пустая строка), содержит неисполняемый текст (например, заголовок процедуры или функции, определение переменных) или является продолжением оператора, начатого на предыдущих строках, положение точки останова будут автоматически скорректировано.

Для управления точками останова используются команды меню "Отладка" или команды из контекстного меню, вызываемого из строки.

Точки останова могут быть безусловными или с условием. При достижении безусловной точки останова исполнение программного модуля останавливается в любом случае.

При достижении точки останова с условием, выполнение программного модуля останавливается только в том случае, если заданное условие истинно.

Отладчик поддерживает возможность отключения точек останова. При этом строка модуля остается отмечена маркером, однако на ход исполнения модуля он никакого влияния не оказывает.

При большом количестве точек останова удобно использовать отдельное окно для работы с точками останова, позволяющее просматривать и редактировать их в едином списке.

После того, как при достижении точки останова управление прикладным решением передано отладчику, существует возможность дальнейшего исполнения модуля в нескольких режимах: пошаговое выполнения, исполнение вызова функции или процедуры, прерывание пошагового исполнения функции или процедуры, выполнения модуля до той строки, на которой стоит курсор или продолжение свободного выполнения модуля:

С помощью табло и диалога "Выражение" можно получить значения интересующих выражений. Стек вызовов позволяет проследить последовательность вызова процедур и функций.

 

В случае, если не хотим продолжить пошаговое выполнение модуля дальше, с помощью команды "Отладка - Продолжить отладку" разрешим системе 1С:Предприятие 8.0 свободное выполнение модуля (до следующей точки останова).

В случае, если требуется прервать процесс отладки в целом, снимите все точки останова со всех модулей и выполните команду "Отладка - Продолжить", если в данный момент сработала точка останова. Если необходимо прервать отладку только данного модуля, воспользуйтесь командой "Отладка - Прекратить".

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

 

1. Изучить теоретические сведения.

2. Изучить постановку задачи, разработать структуру метаданных конфигурации.

3. Реализовать алгоритмы функционирования системы.

4. Реализовать необходимую отчетность.

5. Подготовить отчет о работе.

СОДЕРЖАНИЕ ОТЧЕТА

1. Цель работы.

2. Описание варианта задания (предметной области и набора ее элементов, отображаемых в БД).

3. Копии всех подготавливаемых аналитических отчетов.

4. Выводы по работе.

КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1. Какие виды условных операторов предусмотрены в языке 1С?

2. Как организуются циклы в языке 1С?

3. Какие соглашения по именованию переменных, процедур и функций существуют в языке 1С?

4. Какие режимы отладки предусмотрены в 1С:Предприятии?

5. Как можно сгенерировать случайные числа?

6. Какой прием следует использовать для вывода двумерного массива на экран?

7. Какие типы данных предусмотрены в 1С?

8. Как типы данных связаны с типами объектов в 1С?

9. В каких единицах измерения выполняются вычисления с типом данных «Дата»?

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: