Пример кода программы 1с

Некоторые модули могут быть скомпилированы как на Клиенте, так и на Сервере, а некоторые только на Сервере.

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

Типы модулей:

  • Модуль приложения
  • Модуль внешнего соединения
  • Модуль сеанса
  • Общие модули
  • Модуль формы
  • Модуль объекта
  • Модуль менеджера

Модуль приложения

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

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

Как писать код в 1С

Модуль формы

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

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

Модуль объекта

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

У некоторых объектов конфигурации не существует Модулей объектов. Это связано с особенностями самих объектов. К таким объектам относятся Константы и Регистры.

Язык программирования 1C

Язык программирования 1С не имеет названия, на официальных источниках обозначен как «встроенный язык программирования». Предварительно компилируемый предметно-ориентированным язык высокого уровня. По синтаксису напоминает VisualBasic в сочетании с языком запросов T-SQL. Создание новых классов программно в языке 1С:8.3 запрещено (нет наследования, инкапсуляции, полиморфизма).

Хорошо подходит для работы с календарем, для обработки текстовых данных, но имеет слабые математические функции, а также невнятную обработку времени.

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

Конструкция языкаПримечание
//Это комментарий Так оформляются комментарии. Комментарий — это подсказки, пометки разработчика, которые помогают разобраться или вспомнить логику работы программного кода. Каждая новая строка комментария должна начинаться с символов //.
Перем ФИО; Явное объявление переменной. ФИО — имя переменной.
А = 3; Переменную можно не объявлять явно. При первом присвоении значения система создает данную переменную.
ЭтоЧисло = 23.5+12*2; Переменной ЭтоЧисло присваивается числовое значение. С данными числового типа можно выполнять арифметические операции: сложение, вычитание, умножение и деление. В качестве разделителя целой и дробной части используется точка!
А = -0.123; Числовые значения могут быть отрицательными.
А = (2+7) * 3; // в результате А=27 Приоритет выполнения арифметических операций: А = Сначала вычисляем 2 + 7, затем полученное значение умножаем на 3;
В = 2 * ((2+7) — 4); // в результате В = 10 Приоритет выполнения арифметических операций: В = Сначала вычисляем 2 + 7, затем от полученного значения отнимаем 4, затем полученное значение умножаем на 2.
ЭтоСтрока = «Пугачева»; Переменной ЭтоСтрока присваиваем строковое значение. Значение строкового типа пишется в кавычках.
ФИО = «Пугачёва» + » » + «Алла» + » «+»Борисовна»; // результат: ФИО = «Пугачёва Алла Борисовна» Сложение строк. Символ » » мы прибавляем, чтобы между фамилией, именем и отчеством были пробелы. Вторая строчка кода это просто комментарий.
ДатаОтчета = ‘2013.01.01’; Переменная, которая хранит дату. Значение типа Дата записывается в одинарных кавычках.
НоваяДата = ‘2013.01.01’+86400; //НоваяДата = ‘2013.01.02’ К дате можно прибавлять и вычитать число. В результате к дате либо прибавится, либо отнимется число секунд.
Процедура РассчитатьЦену (Товар) КонецПроцедуры Простая процедура. Между словами Процедура и КонецПроцедуры записывается текст процедуры.
Функция РассчитатьНалог(Сотрудник, НекаяДата) Возврат Налог; КонецФункции Функция должна возвращать результат в место ее вызова.
Если Доход > 20000 Тогда Результат = «Жить можно»; Иначе Результат = «Так жить нельзя!»; КонецЕсли; Простое условие. После слова КонецЕсли должна быть точка с запятой, потому что так заканчивается оператор Если.
Результат = ?(Доход > 20000, «Жить можно «, «Так жить нельзя!»); Сокращенное Если. Краткая запись предыдущего простого условия.
Если Доход > 20000 Тогда Результат = «Жить можно»; ИначеЕсли Доход > 10000 Тогда Результат = «Плохо»; Иначе Результат = «Так жить нельзя!»; КонецЕсли; Множественное условие. Если первое условие не выполняется, то проверяется второе. Если ни одно из условий не выполняется то выполняется блок Иначе.
Если (Доход > 20000) И (КодКатегории = 2) Тогда КонецЕсли; Составное логическое выражение.
Пока Номер Простой цикл Пока (с неизвестным числом повторений). После слова КонецЦикла должна быть точка с запятой, потому что так заканчивается оператор Пока.
Для Номер = 1 По 15 Цикл КонецЦикла; Простой цикл Для (цикл с известным числом повторений).
Для каждого СтрокаТаблицы Из Таблицы Цикл КонецЦикла; Еще одна разновидность цикла. Оператор цикла Для каждого предназначен для циклического обхода коллекций значений (табличных частей справочников, документов и т.д.). При каждой итерации цикла возвращается новый элемент коллекции. Обход осуществляется до тех пор, пока не будут перебраны все элементы коллекции.
Пока Цикл Если Тогда Продолжить; КонецЕсли; КонецЦикла; Оператор Продолжить передает управление в начало цикла.
Пока Цикл Если Тогда Прервать; КонецЕсли; КонецЦикла; Пока Цикл Если Тогда Прервать; КонецЕсли; КонецЦикла;
Читайте также:
Какой программой открыть файл svg

Структура программных модулей

Обычно программный модуль состоит из трех разделов:

Решение задачи по 1С с собеседования (видео 1)

  • Область объявление переменных;
  • Область описания процедур и функций;
  • Основной текст программы.

Пример

//***************** ОБЛАСТЬ ОБЪЯВЛЕНИЯ ПЕРЕМЕННЫХ **********************

Перем Фамилия Экспорт; / /это глобальная переменная
Перем Имя , Отчество ; //это переменная модуля
Перем ФИО ; //это тоже переменная модуля и к ней можно обращаться

//из любой процедуры и функции нашего модуля
//*************** ОБЛАСТЬ ОПИСАНИЯ ПРОЦЕДУР И ФУНКЦИЙ ****************
Процедура Процедура1 ( )
Перем Итог ; / /Итог это локальная переменная (переменная процедуры)

Итог = Фамилия + » » + Имя + » » + Отчество ;

Источник: statelycode.blogspot.com

Про циклы в 1С:Предприятие 8 с примерами

Пока условие равно Истина, код, написанный после ключевого слова Цикл, будет выполняться.

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

//Данный цикл выводит значения в счетчике: 5,4,3,2,1. Счетчик = 5; Пока Счетчик >= 1 Цикл Сообщить («Значение в счетчике: » + Счетчик); Счетчик = Счетчик — 1; КонецЦикла;

Если в цикле указанном выше отсутствовала бы запись:

«Счетчик = Счетчик — 1;», то цикл длился бы вечно.

Цикл «Для»

Синтаксис цикла «Для» представлен ниже:

Для ИмяПеременной = Выражение1> По Выражение2> Цикл // Вставить обработку цикла КонецЦикла;

— начальное числовое значение, которое мы задаем для счетчика.

— максимальное числовое значение счетчика, которое нельзя изменить внутри цикла.

По – служит для связки Выражения1 и Выражения2.

В данном случае нам не надо писать в программном коде:

Например, цикл, указанный ниже, будет выполняться до тех пор, пока значение в счетчике не превышает максимальное значение (в данном случае число 5):

//Данный цикл выводит значения в счетчике: 1,2,3,4,5. Для Счетчик = 1 По 5 Цикл Сообщить(Счетчик); КонецЦикла;

Читайте также:
Quizlet отзывы о программе

Цикл «Для Каждого»

Синтаксис цикла «Для Каждого» представлен ниже:

Для Каждого ИмяПеременной1> Из ИмяПеременной2> Цикл // Вставить обработку цикла КонецЦикла;

— при каждом повторении цикла, присваивается значение очередного элемента коллекции.

— коллекция, из которой мы хотим получить элемент.

Из – служит для связки параметров и .

Программный код, который написан внутри цикла выполняется для каждого элемента.

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

//Данный цикл перебирает все элементы массива и выводит их. //На экран пользователя выведется числа: 5,10. МассивЧисел = Новый Массив; МассивЧисел.Добавить(5); МассивЧисел.

Добавить(10); Для Каждого ЭлементМассива Из МассивЧисел Цикл Сообщить («Элемент массива: » + ЭлементМассива); КонецЦикла;

Операторы циклов

Оператор «Прервать»

Инструменты разработчика 1С шаблоны/подсветка/помощники

Основной инструмент разработчика 1С — это сама среда разработки, конфигуратор.

  • Что предлагает конфигуратор для быстрой и продуктивной разработки?
  • Во вторых, контекстная подсказка
  • В третьих, шаблоны текста
  • В четвертых, это синтаксис помощник — самый главный инструмент разработчика.
  • Что есть в синтаксис помощнике:

Что предлагает конфигуратор для быстрой и продуктивной разработки?

Во первых, подсветку синтаксиса. Это позволяет удобно, визуально отделять объекты и конструкции языка, наименования служебных строк и переменных. Разработчик не может кардинально управлять расцветкой, а лишь менять предустановленные элементы синтаксиса. Для изменения настроек подсветки необходимо зайти в меню «СервисПараметрыМодулиРедактирование» (изменить цвет, запретить выделение цветом)

Модули Редактирование

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

Читайте также:
В какой программе делать графики

Во вторых, контекстная подсказка

Механизм дополнения и подсказки свойств и методов объектов, в момент ввода кода.

Производится при наборе символа «.». В момент присвоения значения свойства производится автоматический подбор типа значения (например системного перечисления) — при наборе «=» или «<>». Внесение предопределенных строковых представлений объекта или ссылок на прикладные объект — в момент ввода «(двойной кавычки»).

Управление данными настройками в меню «СервисПараметрыМодулиКонтекстная подсказка»

контекстная подсказка

В третьих, шаблоны текста

Является подвариантом предыдущей подсказки — происходит в момент ввода текста. Это предустановленные пользователем или 1с, последовательности и конструкции языка, которые можно создать и отредактировать в меню «СервисШаблоны текста»

Шаблоны текста

Как видно из рисунка, фирма 1С уже заложила некоторые предустановленные конструкции для подсказки. Данные конструкции будут отображаться в момент ввода при установленный настройке «Включать шаблоны в список подсказок» из рисунка предыдущего раздела. Разработчик может создать свой файл шаблонов, а также переносить и подключать его в конфигураторе при необходимости.

Управление списками шаблонов производится по кнопке «Действия/Настройка шаблонов»

Настройка шаблонов

Также возможно отключить использование стандартных шаблонов.

Редактирование строки шаблонов доступно по кнопке «Действия/Изменить»

Настройка одного из шаблонов текста

В четвертых, это синтаксис помощник — самый главный инструмент разработчика.

Вызывается по кнопке меню, либо по двум из вариантов горячих клавиш:

  • Ctrl+Shift+F1 — вызов начального окна синтаксис помощника
  • Выделение фрагмента кода и нажатие Ctrl+F1

Синтаксис помощник

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

Синтаксис помощник позиционирование на объекте

Что есть в синтаксис помощнике:

  • Описание всех встроенных функций и процедур.
  • Описание прикладных объектов и их свойств, методов, способы их создания (конструкторы)
  • Примеры использования некоторых объектов
  • Упорядоченная структура этой справочной информации с возможностью поиска
  • Информация по месту исполнения данной процедуры (или наличия объекта в данном контексте) — наКлиенте, НаСервере и прочие

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

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

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

  • конструктор текста запроса
  • конструктор форматной строки
  • конструктор движений документов
  • конструктор кода заполнения объекта
  • конструкторы системы компоновки данных
  • конструктор событийных функций и процедур объектов
  • команды форматирования текстов модуля
  • команды поиска и замены в коде модуля или всей конфигурации

Вот и все основные, встроенные средства для продуктивной разработке.

Как уже понятно есть и другие: альтернативные средства для контекстной подсказки, консоли для разработки и отладки кода.

Реклама — это искусство делать из полуправды целую ложь.

— Эдгар Шоафф

Источник: capitally.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru