Переменные в 1С 8.2 и 8.3
Во встроенном языке программирования 1С используются переменные. Имена переменных должны начинаться с английского или русского символа, или подчеркивания. Нельзя чтобы наименование переменной начиналось с цифры. Не рекомендуется именовать переменные зарезервированными синтаксическими конструкциями. Имена переменных должны носить осмысленный характер. Это улучшает читабельность программного кода. Что в последующем увеличивает скорость разработки или доработки приложения. При объявлении переменных не требуется указывать тип значения, как это делается во многих других языках программирования. Тип значения определяется автоматически системой.
Локальные переменные
Локальные переменные определяются внутри процедур или функций. Перед ними необязательно писать ключевое слово «Перем». Область доступности таких переменных ограничена границами своей процедуры или функции. То есть, к такой переменной нельзя обратиться в другой процедуре или функции или из глобального контекста.
Функция РассчитатьСумму()
Сумма = 1;
Возврат Сумма;
КонецФункции;
Глобальные переменные
Во многих языках программирования предусмотрено создание глобальных переменных. Во встроенном языке 1С, так же есть возможность создавать глобальные переменные. Такие переменные доступны во всех процедурах и функциях модуля в котором они определены. В языке программирования 1С глобальные переменные могут быть определены в любых модулях (объектов, форм, и т.д) кроме общих модулей. Глобальные переменные задаются в самом верху модуля, перед определением всех процедур и функций. Перед именем переменной пишется ключевое слово «Перем». Значение указывать нельзя. Значение глобальной переменной можно задать в процедурах, функциях модуля или в конце модуля после всех процедур и функций.
Перем гСумма;Функция РассчитатьСумму()
гСумма = 1;
КонецФункции;//При данном варианте, значение переменной устанавливается при создании объекта
гСумма = 2;
Экспортные переменные
Глобальную переменную можно сделать экспортной, указав ключевое слово «Экспорт». Например, если экспортная переменная создаётся в модуле объекта справочника, то к ней можно обратиться через объект этого справочника, СправочникОбъект.ИмяПеременной.
Перем гСумма Экспорт;
1clenta.ru
Внутренний язык программирования 1С 8.3 для начинающих программистов: имена переменных в 1С
Внимание! Перед вами ознакомительная версия урока, материалы которого могут быть неполными.
Войдите на сайт как ученик
Войдите как ученик, чтобы получить доступ к материалам школы
Внутренний язык программирования 1С 8.3 для начинающих программистов: имена переменных в 1С
Автор уроков и преподаватель школы: Владимир Милькин
На прошлом уроке мы узнали какие бывают данные и научились совершать с ними простейшие операции.
Назначение имен для данных
Сегодня мы шагнем ещё дальше — научимся давать данным свои имена! Придумывание имен для программы очень увлекательное занятие, но требуется соблюдать ряд правил:
- Имя может состоять только из букв русского и английского алфавитов, цифр и знаков подчеркивания.
- Имя не должно начинаться с цифры.
Ну, например. Количество планет нашей системы — 8. Это числовой тип данных. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Подходящим именем в данном случае будет КоличествоПланет. Ну а чтобы связать наше имя и цифру 8 используем знак равно. Не забудем поставить в конце точку с запятой, так как связывание цифры 8 и имени — отдельная команда для компьютера.
КоличествоПланет = 8; |
Теперь после выполнения связывания имени КоличествоПланет с восьмёркой, мы можем обращаться к цифре 8, используя это имя.
КоличествоПланет = 8; Сообщить(КоличествоПланет); |
Код программы стал более наглядным, вы не находите? Это одно из назначений имен — делать код программы более понятным.
Сравните два примера одного и того же кода:
Без использования имен
Сообщить('20001231' + 24 * 60 * 60); |
С использованием имен
СекундВМинуте = 60; СекундВЧасе = 60 * СекундВМинуте; СекундВСутках = 24 * СекундВЧасе; ПоследнийДень20Века = '20001231'; ПервыйДень21Века = ПоследнийДень20Века + СекундВСутках; Сообщить(ПервыйДень21Века); |
Как видите, второй пример получился длиннее, но понятнее. А понятность — очень важный критерий при написании кода.
Нужно всегда помнить, что пишем программу не только для компьютера, но и для других программистов. Они будут её дорабатывать, исправлять наши ошибки.
И нет ничего хуже, если программа написана плохо, неряшливо, подобраны неудачные имена для данных, а вам требуется не только разобраться как она работает, но ещё и добавить в неё что-то новое.
Итак, мы можем и даже должны придумывать для наших данных понятные и красивые имена. Это отличает хорошего программиста от плохого.
Задание №11. Пройдите следующий тест, используя правила для составления имен, описанные выше.
Являются ли допустимыми следующие имена для данных:
Проверьте себя, попробовав использовать эти имена в своей программе, а уже затем смотрите ответы.
helpme1c.ru
Разбор тестирования 1С:Профессионал: Переменные встроенного языка 1С
***
Вопрос 06.05 экзамена 1С:Профессионал по платформе. Типизация переменных во встроенном языке «1С:Предприятие 8″…- не жесткая, т.к. тип переменной определяется ее значением
- не жесткая, т.к. неявным определением переменной является ее первое упоминание в левой части оператора присваивания
- жесткая, т.к. обязательным является объявление переменной в явном виде
- жесткая, т.к. неявным определением переменной является ее первое упоминание в левой части оператора присваивания
- верны утверждения 1 и 2
- верны утверждения 3 и 4
Правильный ответ пятый. Тип переменной действительно определяется ее значением: переменная в разных местах модуля может содержать значения разных типов. А объявление переменной возможно как в явном виде (Перем Счетчик), так и в неявном, в левой части оператора присваивания (Счетчик = 0).
***
Вопрос 06.27 экзамена 1С:Профессионал по платформе. В выражении использована конструкция: ?(Сумма<=12000, Сумма*0.12, Сумма*0.2). Каким будет результат выражения, если переменная Сумма имеет значение 10000?
- 1200
- 1440
- 0.12
- 2000
- Данная конструкция использована некорректно
Правильный ответ первый. Оператор ? представляет собой альтернативный вариант записи оператора Если.
***
Вопрос 06.33 экзамена 1С:Профессионал по платформе. Пусть Переменная1 имеет тип Дата (состав даты — «Дата») и значение, равное 1 марта 2005 года. Чему будет равно значение выражения «Переменная1+20»?
- 21 марта 2005 г 00 ч 00 мин 00 сек
- 1 марта 2005 г 00 ч 00 мин 20 сек
- 1 марта 2005 г 20 ч 00 мин 00 сек
- 21 марта 2005 г 00 ч 00 мин 20 сек
- Возникнет ошибка преобразования типов
Правильный ответ второй, квант даты равен секунде, соответственно +20 секунд.
about1cerp.blogspot.com