какое написание имеют операторы встроенного языка
Встроенный язык 1С
Основные характеристики языка 1С
Комментарии
В тексте модуля все что идет после двойного слеша «//» является комментарием. При компиляции программного модуля комментарии игнорируются.
Комментарии нужны чтобы сделать код более понятным для программиста. Как правило на уровне процедуры или функции комментарии отвечают на вопрос «Что?» (что делает данная функция). Внутри процедуры на вопрос «Как?» (алгоритм функции). На уровне строки кода на вопрос «Почему?» (почему переменной было присвоено такое-то значение и т.п.)
Операторы встроенного языка
Это основной блок программного модуля. Между собой разделяются точкой с запятой «;». На одной строке можно расположить несколько операторов. Также один оператор может быть на нескольких строках (тогда в конце первой строки не нужно ставить «;»).
Операторы бывают двух видов:
При написании кода на встроенном языке можно писать на русском, на английском и даже смешивать.
Регистр не имеет значения:
Структура модуля
События
В отличии от других языков программирования в 1С нет метода Main с которого начинается выполнение программы. Модули выполняются в определенных ситуациях, которые заранее известны и называются событиями.
У прикладного решения 1С есть определенный жизненный цикл. При запуске открывается основной раздел. Затем пользователь может открыть какую-то форму списка документов, создать новый документ, открыв его форму и т.п.
Этот жизненный цикл нельзя изменить. Но в него можно вмешаться через события. Примеры событий: При начале работы системы, При открытии формы, При записи и т.п.
Клиент-серверная архитектура
Клиентская часть 1С и сервер 1С могут находиться на разных компьютерах. При компиляции модуля он может быть скомпилирован только на клиенте, только на сервере, или на клиенте и на сервере одновременно. При этом, работа с базой данных возможна только на сервере.Нужно учитывать, что не все объекты доступны на клиенте, и не все объекты можно передавать с клиента на сервер.
Локализация
Платформа «1С:Предприятие 8» локализована на 23 языка, включая английский, немецкий, французский, китайский, вьетнамский.
Механизмы локализации, заложенные в платформу, позволяют использовать различные языки как при разработке прикладного решения, так и при работе пользователей прикладного решения. Кроме этого, на уровне платформы поддерживаются различные национальные стандарты представления дат, чисел и т. д.
UNICODE
Поддержка различных языков в системе «1С:Предприятие 8» возможна благодаря тому, что все тексты конфигурации и базы данных хранятся в формате UNICODE. Этот формат позволяет включать в любую текстовую информацию одновременно символы различных языков. Таким образом, пользователь может вводить данные на различных языках, например, если описание товара или текст договора нужно включить на языке страны-производителя. В этом случае система будет не только корректно отображать такие тексты, но и выполнять по ним поиск и сортировку.
Два варианта встроенного языка
При разработке прикладных решений, активно используется встроенный язык. С его помощью разработчик может описывать собственные алгоритмы функционирования прикладного решения. Все операторы встроенного языка имеют как русское, так и англоязычное написание, которое можно использовать одновременно в одном исходном тексте. Для этого не требуется изменения каких-либо настроек конфигуратора — система будет правильно воспринимать операторы, написанные на обоих языках. Документация и синтакс-помощник содержат англоязычный синтаксис и синонимы для всех операторов встроенного языка.
Различные языки интерфейса платформы
Платформа может использовать различные языки для формирования командного интерфейса.
Локализация прикладных решений
Сопроводительные файлы на двух языках
Сопроводительные файлы, содержащие описание изменений платформы, поставляются как на русском, так и на английском языках.
Поддержка национальных дат, чисел
Для основных европейских языков поддерживаются национальные представления дат, чисел, а также порядок сортировки текстов. Существует возможность настроить конкретное прикладное решение на использование региональных настроек, которые приняты в странах, говорящих на данном языке. Причем, администратор информационной базы имеет возможность использовать как установки, принятые в операционной системе по умолчанию, так и собственные, отличающиеся от них.
Поддержка интернационализации во встроенном языке
Встроенный язык содержит набор функций, поддерживающих интернационализацию: НСтр (), ПредставлениеПериода (), ЧислоПрописью (), Формат ().
Отчеты, использующие текстовый документ или табличный документ, могут быть получены на языке, отличающемся от языка, который указан для текущего пользователя прикладного решения.
Механизм криптографии
Вопросы, задаваемые механизмом криптографии, формируются на языке интерфейса платформы.
Различные языки интерфейса программы установки
Программа установки обеспечивает установку на том языке, который наиболее соответствует установкам операционной системы на компьютере пользователя. Например, если операционная система использует латвийские региональные установки, то программа установки будет выводить все сообщения на латышском языке, если английские — то на английском.
Комплект вопросов сертификационного экзамена на знание основных механизмов платформы «1С: Предприятие 8» (стр. 18 )
Из за большого объема этот материал размещен на нескольких страницах: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
6.74 В каком формате хранятся тексты конфигурации и базы данных в системе 1С:Предприятие?
1. Тексты конфигурации и базы данных хранятся в формате UNICODE
2. В зависимости от настроек, заданных при создании информационной базы
3. Нет правильного ответа
6.75 С какой целью тексты конфигурации и базы данных хранятся в формате UNICODE?
1. Формат UNICODE обеспечивает неизменность (независимость от программной платформы операционной системы) представления информации
2. Формате UNICODE позволяет поддерживать различные языки в системе 1С:Предприятие
3. Нет правильного ответа
6.76 Механизмы интернационализации, заложены ...
1. технологическую платформу 1С:Предприятия
2. прикладные решения
3. верны ответы 1 и 2
4. нет правильного ответа
6.77 Что такое код локализации?
1. Строка, состоящая из кода языка и кода страны и идентифицирующая некоторый регион мира
2. Код программного продукта (указывается на регистрационной анкете, документации из комплекта поставки)
3. Параметр форматирования строки для преобразования
4. Her правильного ответа
6.78 Верно ли что в 1С:Предприятие 8 любая текстовая информация может включать одновременно символы различных языков?
1. Да, так как все тексты конфигурации и базы данных хранятся в формате UNICODE
2. В зависимости от настроек, заданных при создании информационной базы
3. Только если это предусмотрено конфигурацией
6.79 Для чего предназначен объект конфигурации «Язык»?
1. Для создания интерфейса программы на разных языках
2. Для создания текстовых документов на разных языках
3. Такого объекта в 1С: Пред приятие 8 не существует
6.80 Каким образом можно сменить язык просмотра (редактирования) конфигурации?
1. С помощью кнопки выбора языка, расположенной в строке состояния справа от кнопки «NUM»
3. В 1 С:Предприятие такой возможности не существует
4. Верпы ответы 1 и 2
6.81 Какое написание имеют операторы встроенного языка?
1. Только русское написание
2. Только английское написание
3. Русское и английское написание
4. В зависимости от настроек конфигуратора
6.82 Возможно ли использование в одном исходном тексте операторов встроенного языка в русском и английском написании?
1. Только при специальных настройках конфигуратора
2. Да, для этого не требуется изменения каких-либо настроек конфигуратора
3. Нет, так как вариант встроенного языка задается в свойствах конфигурации
6.83 С какой целью используется встроенный язык?
1. Для определения интерфейса программы по умолчанию
2. Для описания (на стадии разработки конфигурации) алгоритмов функционирования прикладной задачи
3. Нет правильного ответа
6.84 Какое написание имеют функции встроенного языка?
1. Только русское написание
2. Только английское написание
3. Русское и английское написание
4. В зависимости от настроек конфигуратора
6.85 Что обозначает параметр Л(L) в форматной строке функции форматирования ЧислоПрописью()?
1. Признак «дробную часть выводить числом/прописью»
2. Количество знаков после запятой
7. Табличная модель прикладного решения
7.1 При настройке ограничения доступа к данным допускается установка нескольких (по числу полей) ограничений:
2. Для права «Изменение»
3. Для права «Добавление»
4. Для права «Удаление»
5. Для всех вышеперечисленных прав
6. Для всех возможных прав
7.2 При настройке ограничения доступа к данным в качестве значений, по которым производится ограничения доступа к данным, могут использоваться:
1. Только значения параметров сеанса
2. Только данные из таблиц (запросов)
3. Значения параметров сеанса и данные из таблиц (запросов)
4. Только значения имеющие типы: Число, Строка, Булево, Дата
7.3 Каким из вышеперечисленных способов можно воспользоваться, чтобы в разделе «Поля» конструктора запросов появились код и наименование справочника?
1. Сначала заполнить раздел «Таблицы», а потом, выбирая нужные объекты из этого раздела, перенести их в раздел «Поля», используя двойной клик девой клавиши мыши
3. Сначала заполнить раздел «Таблицы», а потом, выбирая нужные объекты из этого раздела, перенести их в раздел «Поля», используя кнопки па форме «>» «»»
4. Верны ответы I и 3
5. Верны ответы I, 2 и 3
7.4 Для повышения скорости выполнения запроса необходимо:
1. Задавать параметры большинства реальных таблиц
2. Задавать параметры большинства виртуальных таблиц
3. Вместо задания параметров у реальной или виртуальной таблицы использовать отбор, заданный конструкцией языка запросов «ГДЕ»
4. Верны ответы I и 2
7.5 Можно ли при выборе таблицы-источника в раздел «Таблицы» конструктора запросов задавать для нее новое имя (псевдоним)?
2. Да, можно, но только если в качестве источника данных выступает вложенный запрос
3. Да, можно, но только если в качестве источника данных выступает виртуальная таблица
4. Верны ответы 1 и 2
5. Верны ответы 1 и 3
7.6 Вложенный запрос может использоваться:
1. В качестве таблицы-источника данных
2. В качестве операнда операций сравнения «В» или «НЕ В» при задании параметров виртуальной таблицы
3. В качестве операнда операций сравнения «В» или «НЕ В» при задании конструкции языка запросов «ГДЕ»
4. Верпы ответы 1, 2 и 3
7.7 Можно ли, используя конструктор запроса, получить итоги по иерархии?
1. Можно, если для группировочного поля указать тип итогов «Элементы и иерархия»
2. Можно, если для группировочного поля указать тип итогов «Только иерархия»
3. Верпы ответы 1 и 2
7.8 На закладке «Условия» конструктора запросов отдельная строка списка условий может быть сформирована:
1. С помощью двойного клика левой клавишей мыши на нужном поле в списке доступных полей
2. Путем переноса нужного поля в список, используя технологию Drag & Drop
3. Нажать кнопку «Добавить». Если условие произвольное, то текст условия можно ввести «вручную»
4. Вызвав контекстное меню, выбрать в нем пункт «Добавить». Возможно использование произвольного выражения
5. Верны все вышеперечисленные ответы
7.9 На закладке «Связи» конструктора запросов можно определить:
1. Соединение таблиц-источников данных и связи между ними
2. Объединение таблиц-источников данных и связи между ними
3. Связи между полями таблицы, получаемой в результате выполнения запроса
4. Связи между полями таблицы-источника данных и таблицы, получаемой в результате выполнения запроса
7.10 При соединении таблиц-источников данных в конструкторе запросов можно:
1. Назначить соединение без указания условия связи
2. Назначить соединение с указанием условия связи, причем это условие может быть только одно
3. Назначить соединение с указанием условия связи, причем это условие может быть только простое
4. Назначить необходимое количество соединений с указанием необходимого количества условий связи, причем эти условия могут быть как простые, так и произвольные
7.11 Создание соединения таблиц-источников данных в конструкторе запросов допускает:
1. Соединение только двух таблиц-источников данных
2. Соединение необходимого количества таблиц-источников данных
3. Соединение только двух таблиц-источников данных, причем флажок «Все» обязательно должен быть проставлен хотя бы у одной из таблиц
4. Соединение необходимого количества таблиц-источников данных, причем флажок «Все» обязательно должен быть проставлен хотя бы у одной из таблиц
7.12 Флажок «Все», устанавливаемый у таблицы, выбранной на закладке «Связи» конструктора запросов означает:
1. Что в результат запроса надо включить все доступные поля этой таблицы
2. Что в результат запроса надо включить все записи этой таблицы
3. Что в результат запроса надо включить все поля и все записи этой таблицы
4. Что результат запроса будет сформирован с учетом всех условий, заданных для соединения таблиц-источников
7.13 На закладке «Объединения/Псевдонимы» конструктора запросов можно:
1. Задать список запросов. В результирующую выборку попадут записи всех указанных запросов
2. Задать имена полей результирующей таблицы
3. Задать имена таблиц-источников данных
4. Верны ответы 1 и 2
5. Верны ответы 1, 2 и 3
7.14 При объединении двух запросов на закладке «Объединения/Псевдонимы» конструктора запросов условие связи между запросами:
Встроенный язык
Общее описание встроенного языка
Встроенный язык является важной частью технологической платформы 1С:Предприятия 8.0, поскольку позволяет разработчику описывать собственные алгоритмы функционирования прикладного решения.
Вот лишь некоторые, наиболее значимые особенности встроенного языка:
По этой причине модули, содержащие текст на встроенном языке, используются системой в конкретных, заранее известных ситуациях, которые могут возникнуть в процессе работы прикладного решения. Такие ситуации называются событиями. События могут быть связаны с функционированием объектов прикладного решения или с самим прикладным решением, как таковым.
Таким образом можно сказать, что встроенный язык является скриптовым языком для программирования бизнес-логики, а использование модулей на встроенном языке является событийно-зависимым, т.е. выполнение модулей происходит при возникновении определенных событий в процессе функционирования прикладного решения.
Предопределенные типы данных
Платформа 1С:Предприятия 8.0 позволяет разработчику использовать различные типы данных.
Описание примитивных типов данных :
Массив. Представляет собой пронумерованную коллекцию значений произвольного типа. К элементу массива можно обращаться по его индексу. В качестве элементов массива могут выступать, в частности, другие массивы. Это позволяет создавать многомерные массивы.
Список значений. Используется, как правило, для решения интерфейсных задач. Позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может содержать значения любого типа, кроме того, в одном списке типы хранимых значений могут быть разными.
Таблица значений. Таблица значений позволяет строить динамические наборы значений и манипулировать ими. Она может быть наполнена значениями любого типа, и в одной таблице типы хранимых значений могут быть разными.
Кроме этого в платформе реализованы специфические типы данных, реализующие ту или иную функциональность прикладных решений: текстовый документ, табличный документ, ХранилищеЗначения, ПостроительОтчета, ПостроительЗапроса и пр.
Остановимся подробнее на типе данных «ХранилищеЗначений». Хранилища предназначены для хранения значений, тип которых не может быть выбран в качестве типа поля, например: картинки, двоичные данные. При помещении значения в хранилище значений можно сжимать данные, указав требуемую степень сжатия. Данный метод позволяет уменьшить размер хранимого значения в информационной базе.
К значению, хранящемуся в хранилище, нельзя обращаться напрямую. Перед использованием значения его необходимо извлечь. Не рекомендуется хранить ссылки на объекты, т.к. в системе не поддерживается контроль ссылочной целостности по объектам, сохраненным в полях типа «Хранилище значения».
Операции помещения в хранилище и извлечения из него могут занимать продолжительное время, что необходимо учитывать при проектировании структур объектов.
Пример использования хранилища значения на примере справочника «Картинки»:
Переменные и операторы (бесплатная статья по Программированию 1С)
из цикла статей «Первые шаги в разработке на 1С»
О чем эта статья
Как правило, изучение любого языка программирования начинается с примера написания первой простейшей программы (“Hello world!”). Делается это для того, чтобы наглядно показать работу с базовыми синтаксическими конструкциями. Мы не будем делать исключение из этого общепринятого способа подачи материала при изучении новой среды разработки и поэтому нашу первую статью следует рассматривать в этом же ключе. В ней мы подробно разберем ответы на следующие вопросы, касающиеся программирования на платформе «1С:Предприятие 8»:
Статья будет полезна всем тем, кто еще не знаком с разработкой на платформе «1С:Предприятие 8», но хочет научиться программировать на 1С.
Применимость
Материал актуален для платформы «1С:Предприятие 8» редакций 8.2. и 8.3.
Переменные и операторы
В этой статье мы приступаем к изучению встроенного языка 1С:Предприятие 8. Исполняемый код содержится в программных модулях.
Существует достаточно большое количество модулей, которые предназначены для обработки различных событий.
Так, вход пользователя в систему обрабатывается в одном модуле, а обработка нажатия пользователя на некоторую кнопку – в совершенно другом.
Таким образом, каждый модуль описывает поведение конфигурации в определенной точке. В модуле содержится, прежде всего, раздел описания переменных. Т.е. мы можем объявить в модуле некоторые переменные.
В дальнейшем они могут быть использованы в процедурах и функциях этого модуля. Если переменная определена с ключевым словом Экспорт, то она будет доступна вне данного модуля. Пример строки объявления переменных:
Перем Склад, Подразделение, Кладовщик Экспорт;
После объявления переменных содержится раздел процедур и функций.
За ними располагается раздел основной программы, который будет выполняться в момент обращения к данному модулю.
Например, в разделе основной программы можно осуществить инициализацию переменных, т.е. присвоить им некоторые начальные значения:
Состояние=1;
НовоеВыражение=2;
Результат=3;
Модуль можно представить, как комбинацию различных операторов, которые выполняют разные нужные нам действия.
Разделителем операторов является символ «;» (точка с запятой). Этот знак является признаком окончания оператора. Т.е. оператор может быть записан в таком виде:
Результат=100Х200
+400
-600;
При этом не важно, на скольких строках располагается оператор.
Конечно, чаще удобнее и нагляднее располагать оператор в одной строке, но иногда операторы являются достаточно длинными (число строк обоснованно может достигать нескольких десятков).
Точку с запятой можно не ставить в завершающем операторе данной конструкции, например, процедуры. Т.е. следующий код будет работать:
ИсходноеЗначение = 100;
ПромежуточноеЗначение = ИсходноеЗначение/5;
ИтоговоеЗначение = ИсходноеЗначение+ПромежуточноеЗначение
Однако лучше использовать точку с запятой в завершающем операторе. Не исключено, что со временем конструкция будет продолжена, и завершающий оператор окажется уже не завершающим. Придется специально отслеживать эту ситуацию.
Переменные предназначены для того, чтобы хранить некоторые значения любого типа данных. Они используются для промежуточного хранения информации, для обработки.
Практически в любом программном модуле, который выполняет некоторые действия, есть различные переменные. Типизация переменных по значениям в Платформе 1С:Предприятие 8 мягкая.
Например, переменная может содержать значение одного типа данных, а через несколько строк – другого типа:
Создан = Ложь;
Создан = Истина;
Создан =100;
В первых двух операторах значение переменных булевское, а в третьем оно меняется на числовое значение. Т.е. типизация зависит от того значения, которое присваивается данной переменной.
Описывать переменные можно двумя способами:
Для названия переменных используется классическое описание идентификатора. Идентификатор состоит из букв, цифр и знаков подчеркивания. Начинаться идентификатор должен либо с буквы, либо со знака подчеркивания.
При этом название переменной должно отображать смысл данной переменной. Названия переменных из одной буквы (типа А, В, С) являются плохими примерами. Они не отражают суть переменных.
Примеры правильного названия переменных: Счетчик (увеличивающаяся переменная для цикла), Контрагент. Если имя переменной содержит несколько слов, то каждое новое слово, для наглядности, следует начинать с большой буквы.
В названии переменных нельзя использовать зарезервированные слова, такие как Процедура, Функция, Цикл, КонецЦикла и т.д. (эти конструкции выделяются в программном модуле красным цветом).
Зарезервированные слова – это операторы встроенного языка и их достаточно небольшое количество. Все они представлены в Синтакс-помощнике.
Следует отметить, что типы данных к зарезервированным словам не относятся (например, Массив, Булево, Истина, Ложь). Система такие имена переменных воспримет корректно.
Для написания программного кода регистр не имеет никакого значения. Например, слово Процедура можно писать как с большой, так и с маленькой буквы. Более того, большие и маленькие буквы можно чередовать внутри слова.
Для Платформы это не имеет никакого значения. Тем не менее, по правилам хорошего тона начало слова нужно писать с большой буквы, все остальные буквы маленькими.
По поводу языка. Можно использовать и русский язык, и английский, и комбинацию двух языков. Если кому-то удобно, можно спокойно использовать английский язык для написания программного кода, а также комбинировать русский и английский языки. Для Платформы это не важно.
Но существуют рекомендации использовать русский язык, потому что в системе достаточно большое количество объектов, которые имеют длинные названия.
Многие названия на английском языке довольно сложно помнить. При использовании комбинации двух языков ухудшается читаемость программного кода.
Булевы операции
В операторах сравнения очень часто используется булевская логика, которая возвращает значение Истина или Ложь.
Например, в условном операторе можно сравнивать: Если Событие = Продажа Тогда алгоритм пойдет по одной ветке (т.е. при значении Истина), по условию Ложь выполняется другая ветка алгоритма.
Условия могут быть достаточно сложными, они могут комбинироваться, при этом применяются следующие операторы: И, ИЛИ, и НЕ. Так, для оператора И:
Истина И Истина = Истина;
Истина И Ложь = Ложь;
Ложь И Истина = Ложь;
Ложь И Ложь = Ложь.
Для опрератора ИЛИ достаточно, чтобы один из операндов был равен Истина, тогда и значение комбинации будет Истина. Значение Ложь получается только в том случае, когда оба операнда Ложь.
Оператор НЕ просто инвертирует текущее значение (Ложь в Истину, Истину в Ложь).
С помощью комбинации данных операторов можно строить достаточно сложные условия. При составлении сложных условных операторов следует учитывать приоритеты.
Высший приоритет имеет оператор НЕ, следующим идет оператор И, а за ним оператор ИЛИ. То, что заключено в скобки, имеет самый высший приоритет и выполняется в первую очередь.
Например, расставим приоритеты (последовательность выполнения) для операций в приведенном выражении:
НЕ(Условие1 ИЛИ Условие2) И Условие3 ИЛИ Условие4
1. Результат1 = (Условие1 ИЛИ Условие2);
2. Результат2 = НЕ Результат1;
3. Результат3 = Результат2 И Условие1;
4. Результат = Результат3 ИЛИ Условие4;
Существует правило преобразования:
НЕ (Условие1 ИЛИ Условие2) = НЕ Условие1 И НЕ Условие2.
Однако не следует всегда стремиться упростить выражение, поскольку зачастую, по логике, проще читается выражение развернутое.
Оператор присваивания
Не следует путать оператор присваивания с равенством, не смотря на то, что у них одинаковое написание.
Принцип работы оператора присваивания таков, что левому значению (переменной с левой части) присваивается то значение, которое находится справа от знака равенства. Разберем пример:
Переменная1 = Переменная2 = Переменная3;
Левое значение – Переменная1, далее следует оператор присваивания.
Переменной1 присваивается значение равенства из булевской логики, т.е. Истина, если Переменная2 = Переменная3, или Ложь в обратном случае.
При тестировании на должность начинающего программиста довольно часто используется задача: поменять значения двух переменных местами.
Данная задача решается с использованием оператора присваивания и имеет два решения.
Решение №1 с использованием временной переменной:
ВременнаяПеременная = Переменная1;
Переменная1 = Переменная2;
Переменная2 = ВременнаяПеременная;
Решение №2:
Переменная1 = Переменная1 + Переменная2;
Переменная2 = Переменная1 – Переменная2;
Переменная1 = Переменная1 – Переменная2;
Условный оператор
Есть такой оператор Если, после которого необходимо описать некоторое условие (само условие может быть достаточно большим). После условия следует слово Тогда и выполняемые операторы.
Далее может следовать ключевое слово Иначе и серия других операторов. Если разных условий несколько, можно использовать серию ключевых слов ИначеЕсли (см. пример ниже). Вся конструкция обязательно завершается ключевым словом КонецЕсли, после чего следует знак точки с запятой.
На практике вместо записей сравнения со значением Истина (Ложь) типа:
Если Переменная = Истина Тогда
и
Если Переменная = Ложь Тогда
реально используются эквивалентные записи:
Если Переменная Тогда
и
Если НЕ Переменная Тогда
Циклические операторы
Для любого вида цикла обязательно явное указание окончания этого цикла с помощью ключевого слова КонецЦикла. Существует несколько типов циклов.
Цикл по счетчику – цикл с фиксированным количеством повторений. Условием выхода из цикла является превышение граничного значения. Пример использования для расчета значения А!
А = 5;
Факториал = 1;
Для Счетчик = 1 По А Цикл
Факториал = Факториал * Счетчик;
КонецЦикла;
Цикл по условию – выполняется пока истинно условие данного цикла. Пример:
ОстатокСуммы = 1000;
ЦенаДополнительногоТовара = 243;
Количество = 0;
Пока ОстатокСуммы>0 Цикл
Количество = Количество+1;
ОстатокСуммы = ОстатокСуммы – Количество*ЦенаДополнительногоТовара;
ЦенаДополнительногоТовара = ЦенаДополнительногоТовара * 0.8;
КонецЦикла
Количество = Количество-1;
Данный цикл вычисляет, сколько единиц товара можно купить на данную сумму (1000 рублей), если после покупки каждой единицы товара предыдущая его цена умножается на коэффициент 0,8. Изначальная цена товара – 243 рубля.
Примером ошибки при использовании данного вида цикла новичками является вечный цикл, когда изначально условие цикла истинно, а в рамках самого цикла оно никак не изменяется.
Цикл по коллекциям (другое название Для каждого).
В Платформе существует достаточно большое количество коллекций (это такие контейнеры, которые содержат элементы определенного типа).
Обойти элементы коллекции можно с помощью цикла специального вида.
Например, существует массив чисел, необходимо посчитать сумму всех элементов массива:
Сумма = 0;
Для каждого Элемент Из Массив Цикл
Сумма=Сумма+Элемент;
КонецЦикла;
Для циклов существуют специальные операторы: Продолжить и Прервать.
Если в некоторой точке цикла выполнение дальнейших операторов данного витка становится бессмысленным, то чтобы вернуться на начало цикла и организовать его следующий виток используется оператор Продолжить.
Оператор Прервать позволяет закончить выполнение цикла, даже если условие цикла истинно.
На этом мы завершаем наше первое знакомство с разработкой на внутреннем языке 1С.
А как же Hello World? Мы же его еще не написали, да? Да, но ничто не мешает вам сделать это самостоятельно, т.к. знаний УЖЕ достаточно. Ну а если не получается, то можете подглядеть сюда.
Далее мы продолжим изучать разработку на 1С, поэтому оставайтесь на связи и не пропустите следующую статью 😉
PDF-версия статьи для участников группы ВКонтакте
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Статья в PDF-формате
Вы можете скачать эту статью в формате PDF по следующей ссылке:Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Комментарии / обсуждение (4):
Статья для тех кто приступает к изучению языка платформы 1С – полезная. Но видимо автор очень торопился…
1.Синтаксическая ошибка: “по обной ветке”
2.Как правило в том контексте пишут не “конвертирует текущее значение” а “инвертируем текущее значение”.
3.В описании условного оператора нет описания ИначеЕсли, хотя во втором примере он наглядно продемонстрирован.
1 и 2 опечатки. Исправим, большое спасибо.
С 3 вроде все понятно:
“Есть такой оператор Если, после которого необходимо описать некоторое условие (само условие может быть достаточно большим). После условия следует слово Тогда и выполняемые операторы. Далее может следовать ключевое слово Иначе и серия других операторов. Вся конструкция обязательно завершается ключевым словом КонецЕсли, после чего следует знак точки с запятой.” За этим сразу наглядные примеры с ИначеЕсли. Подумаем как сделать понятнее. Спасибо.
Можно было бы в начале привести снимок программного модуля с очень кратким примером переменных, процедур, функций и разделом основной программы.
Тогда новичкам будет понятнее то, что потом объясняется.
Спасибо. Но модули – это тема другой статьи.