Охрана труда:
нормативно-правовые основы и особенности организации
Обучение по оказанию первой помощи пострадавшим
Аккредитация Минтруда (№ 10348)
Подготовьтесь к внеочередной проверке знаний по охране труда и оказанию первой помощи.
Допуск сотрудника к работе без обучения или нарушение порядка его проведения
грозит организации штрафом до 130 000 ₽ (ч. 3 статьи 5.27.1 КоАП РФ).

Свидетельство о регистрации
СМИ: ЭЛ № ФС 77-58841
от 28.07.2014

Почему стоит размещать разработки у нас?
  • Бесплатное свидетельство – подтверждайте авторство без лишних затрат.
  • Доверие профессионалов – нас выбирают тысячи педагогов и экспертов.
  • Подходит для аттестации – дополнительные баллы и документальное подтверждение вашей работы.
Свидетельство о публикации
в СМИ
свидетельство о публикации в СМИ
Дождитесь публикации материала и скачайте свидетельство о публикации в СМИ бесплатно.
Диплом за инновационную
профессиональную
деятельность
Диплом за инновационную профессиональную деятельность
Опубликует не менее 15 материалов в методической библиотеке портала и скачайте документ бесплатно.
23.08.2017

Лекция 15. Прикладное программирование

Бородич Светлана Вадимовна
преподаватель высшей категории
Лекция посвящена инструментам диалога с пользователем в платформе 1С для разработки образовательных приложений. Рассматриваются ключевые встроенные функции. Функция **Вопрос** (DoQueryBox) позволяет выводить сообщения с различными наборами кнопок и контролировать время их отображения. Для интерактивного ввода данных подробно разбирается функция **ВвестиСтроку** (InputString). Изучаются её параметры: заголовок окна, длина и тип вводимого значения (одно- или многострочный текст), а также настройка времени отображения диалога. Материал даёт практические навыки создания удобного интерфейса в прикладных решениях для сферы дистанционного образования.

Содержимое разработки

Лекция 15. Функции программы. Пользовательские процедуры и функции

1.Диалог с пользователем

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

А)Отображение вопросов

Чтобы отобразить вопрос для пользователя применяется функцияВопрос (DoQueryBox).

Она имеет такие параметры:Вопрос(<Текст>, <Режим>, <3адержка>);

-<Текст> отображаемый текст

-<3адержка>время отображения текста

-<Режим>отображение набора кнопок в окне.

Б)Отображение запросов на ввод значений

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

Функция ВвестиСтроку (InputString) применяется для отображе­ния запроса на ввод текста пользователем и имеет такой синтаксис:

ВвестиСтроку(<Пёременная>, <3аголовок>, <Длина>, <Признак>, <3адержка>);

Где:

-<Переменная>— имя переменной для внесения пользователем значений;

-<3аголовок> - строковое значение для пользователя в заголовке окна;

-<Длина> - длина вводимого значения (в символах); используется для типов" данных "Число" и "Строка";

<Признак> - определяет, будет ли вводиться однострочный текст (значение 0, принято по умолчанию) или многострочный текст (значение 1).

-<3адержка>время отображения текста.

Функция Ввести Строку возвращает значения:

1 - если в диалоговом окне нажата кнопка ОК;

0 - если в диалоговом окне нажата кнопка Отмена;

-1 - если закончилось время ожидания < Задержка >.

Функция ВвестиДату (InputDate) предназначена для запроса пользователю на ввод даты и имеет такой синтаксис:

ВвестиДату(<Переменная>, <3аголовок>, <3адержка>);

Функция ВвестиПериод (InputPeriod) позволяет установить пе­риод (т.е. временной интервал) и часто используется в отчетах и обработках.

Она имеет такой синтаксис:

ВвестиПериод(<Начало>, <Конец>, <3аголовок>);

-<Начало>сохраняет дату начала периода

-<Конец> дату окончанию периода

-<3аголовок> для диалогового окна

2.Типы данных

Тип данных задается переменной для определения способа ее хранения и обработки (базовый тип – Числовой, Строковый, Дата) или указать, с ка­кими объектами она будет работать (агрегатный тип).

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

Стандартная последовательность действий с агрегатным типом данных:

А)Создание объекта агрегатного типа с помощью функции Со­здатьОбъект.

Б)Связывание этого объекта с определенным объектом метадан­ных

В)Выполнение действий с этим объектом с помощью измене­ния атрибутов и вызова методов.

Для базовых типов данных предусмотрены функции преобра­зования значений одного типа в другой.

Пустое значение

Чтобы определить, является ли значение переменной пустым, используется функция ПустоеЗначение (EmptyValue), где параметрами указывается прове­ряемая переменная.

Результатом функции является: -1 (значение переменной не пустое) или -0 (значение переменной пустое).

3.Логические выражения

Логические операции

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

Логические функции

Конъюнкция (логическое И).

Это действие выполняется функ­цией И (AND), которая возвращает истина, если оба ее операнда имеют значениеистина; в противном случае возвращает ложь.

Дизъюнкция (логическое ИЛИ).

Данное действие реализуется функцией ИЛИ (OR), которая возвращает истина, если хотя бы один из двух ее операндов имеет значение истина, в противном случае возвращает ложь.

Отрицание (логическое НЕ).

Это действие реализует функция НЕ (NOT), которая имеет только один операнд и возвращает противоположное ему значение.

Опреде­ленная очередность выполнения функций:

-выражение в круглых скобках;

-отрицание НЕ;

-дизъюнкция ИЛИ;

-конъюнкция И.

4. Разновидности циклов

Цикл - это алгоритмическая структура реализующая многократное повторение блоков операторов.

В языке 1С существует два основных вида циклов:

-Для...КонецЦикла

-Пока...КонецЦикла

Используется, когда число повторений операторов тела цикла заранее неизвестно:

Пока <условие> Цикл

<операторы>

КонецЦикла

Управление выполнением циклов

Используются два ключевых слова:

Прервать (Break) и Продолжить (Continue), влияющие на способ выполнения операторов в цикле.

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

В этом случае внутри цикла применяется ключевое слово Прервать (Break), которое обычно указывается в управляющей конструкции Если...Тогда:

<операторы1>

Если <условие> Тогда

Прервать

КонецЕсли

<операторы2>

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

<операторы1>

Если <условие> Тогда

Продолжить

КонецЕсли

<операторы2>

Продолжение цикла Пока...Цикл

Вложенные циклы

Вложенные цик­лы – это циклы, когда один располагается внутри другого и для каждого значения счетчика внешнего цикла «пробегаются» все значения счетчика внутреннего цикла.

5.Работа со строками

Строковыми называются переменные, предна­значенные для работы с текстом или в тексте программы с константами в двойных ка­вычках.

Строковые константы могут быть: однострочными и многострочными:

Поиск подстроки

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

Синтаксис:

Найти(<СтрокаОсн>, <СтрокаИск>)

где

<СтрокаОсн> - строка, в которой выполняется поиск;

<СтрокаИск> - искомая подстрока.

Если подстрока <СтрокаИск> найдена в строке <СтрокаОсн>, то результатом функции Найти является порядковый номер перво­го символа искомой подстроки в указанной строке.

6.Работа с датой и временем

ТекущаяДата ТекущаяДата (CurDate)

Рабочая дата функция РабочаяДата (WorkingDate)

Для установки или возвращения рабочей даты

Синтаксис:

РабочаяДата(<Дата>, <Режим>)

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

Определение года, месяца и числа

ДатаГод (GetYear) - возвращает числовое значение года для указанной даты;

ДатаМесяц (GetMonth) - возвращает числовое значение месяца для заданной даты;

ДатаЧисло (GetDay) — возвращает числовое значение дня меся­ца для указанной даты.

Номер дня и номер недели

Для определения номера недели и дня предусмотрены сле­дующие функции, возвращающие числовые значения:

НомерНеделиГода (GetWeekOfYear) - определяет для заданной даты порядковый номер недели в году;

НомерДняГода (GetDayOfYear) - возвращает для заданной даты порядковый номер дня в году;

НомерДняНедели (GetDayOfWeek) - определяет для указанной даты порядковый номер дня недели (1 - понедельник, 2 - вторник, ...., 7 - воскресенье).

7.Пользовательские процедуры и функции

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

Существует несколько разновидностей описанных элементов программирования.

А)Системные процедуры и функции - определенные наборы команд, имеющиеся в языке 1С и предназначенные для вычисления тех или иных значений на основании исходных данных: -математические,

-строковые функции и т.д.

Б)Системные предопределенные процедуры - вызываются при происхождении какого-либо события (ввод нового объекта, изменение, удаление).

Существует ряд предопределенных процедур модуля документа:

-ОбработкаПроведения,

-ОбработкаУдаленияПроведения,

-АрхивироватьДокумент.

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

Пользовательская процедура в модуле объявляется следующим образом:

Процедура <Имя>(<Параметры>)

<Операторы>

КонецПроцедуры

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

Аналогичным образом объявляются пользовательские функции, но с обязательным операторомВозврат (обычно в конце тела функции), присваивающим функции значение, которое она возвратит в то место программы, откуда была вызвана:

Функция <Имя>(<Параметры>)

<Операторы1>

Возврат <3начение>

<Операторы2>

КонецФункции

Г)Отличия между процедурой и функцией:

-Функция возвращает в программу значение, которое присваивается ей оператором Возврат:

Возврат <3начение>;

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

<ИмяПроцедуры>(<Параметры>);

Д)Передача параметров по ссылке и по значению:

1 способ: Передача параметров по ссылке.

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

2 способ: Передача параметров по значению.

Эти параметры называются параметрами - значений. При вызове процедуры значения переменных, которые являются качестве параметрами, не изменяются.

Перед переменными необходимо указать ключевое слово Знач (Val).

Е)Использование текстовых объектов

Специальный агрегатный тип данных Текст (Text) служит для работы с текстом:

-добавление строк в текстовые файлы,

-считывание строк из текстовых файлов и т.д.

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

Например:

ТекстОтчет = СоздатьОбъект("Текст");

Ж)Операции с файлами

Методы, налаживающие взаимодействие с ТХТ-файлами, использующие объекты типа Текст:

-МетодОткрыть (Open) открывает указанный текстовый файл и заносит его содержимое в объект типаТекст.

Если указанный файл не существует, то объект ТекстОтчет останется пустым, без текста.

-МетодЗаписать (Write) позволяет записать текст из объекта типа Текст в заданный текстовый файл.

Если файл с указанным именем не существует, он будет создан. В существующем файле данные будут удалены.

-МетодОчистить (Clear) позволяет удалить содержимое открытого текстового файла (указывается без параметров).

З)Отображение текста

-МетодПоказать (Show) показывает текст в специальном окне, в котором можно выполнять редактирование.

Синтаксис:

Показать(<3аголовок>, <ИмяФайла>)

При вызове этого метода содержимое объекта типа Текст отображается в специальном окне с заданным <Заголовком>.

Параметр<ИмяФайла> определяет, в какой файл будет заноситься введенный пользователем текст. Если файл не указан, то текст не будет

-МетодТолькоПросмотр (Readonly) предназначен для переключения между режимами просмотра и редактирования в окне редактирования, вызываемом методом Показать.

Если в качестве параметра указано:

-значение 1, то редактирование запрещено

-значение 0, то редактирование разрешено.

И)Операции со строками:

Рассмотрим методы, позволяющие выполнять различные действия со строками текста.

-МетодКоличествоСтрок (LinesCnt) возвращает количество строк в тексте (указывается без параметров).

-МетодВставитьСтроку (InsertLine) позволяет вставить в текст строку с заданным номером.

Если уже были какие-то строки, то новые строки добавятся без удаления имеющихся.

-МетодДобавитьСтроку (AddLine) служит для добавления строки в конец текста.

-МетодПолучитьСтроку (GetLine) предназначен для извлечения из текста строки с заданным номером.

-МетодЗаменитьСтроку (ReplaceLine) служит для замены в тексте строки с заданным номером на другую строку.

-МетодУдалитьСтроку (DeleteLine) используется для удаления строки с заданным номером из текста.

К)Добавление строк по шаблону

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

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

Если значение поля - число, то оно будет выравниваться по правой границе (в доступных ему пределах, установленных длиной поля в символах).

Л)Строковые системные константы

В 1С существует несколько строковых системных констант, которые можно использовать в любом месте программы.

Эти константы относятся к тексту и позволяют вставлять в него специальные символы:

-КонстантаРазделительСтраниц (PageBreak) вставляет специальный символ перевода страницы.

-КонстантаРазделительСтрок (LineBreak) добавляет специальный символ перевода строки.

-КонстантаСимволТабуляции (TabSymbol) вставляет специальный символ табуляции.

Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/265620-lekcija-15-prikladnoe-programmirovanie

Свидетельство участника экспертной комиссии
Рецензия на методическую разработку
Опубликуйте материал и закажите рецензию на методическую разработку.
Также вас может заинтересовать
Свидетельство участника экспертной комиссии
Свидетельство участника экспертной комиссии
Оставляйте комментарии к работам коллег и получите документ
БЕСПЛАТНО!
У вас недостаточно прав для добавления комментариев.

Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.

 

Для скачивания материалов с сайта необходимо авторизоваться на сайте (войти под своим логином и паролем)

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

Рекомендуем Вам курсы повышения квалификации и переподготовки