Программирование в 1С 8: примеры и руководство для начинающих

Функции и Процедуры

Данные методы предназначены для одноимённого наименования сразу нескольких строчек. Затем, при написании этого названия в тексте кода, будет активирована соответствующая функция. Функции и процедуры – это стандартные методы и обработчики в языке 1С:

//Программируем
Процедура КакоетоДействие()
      Сообщить(«Результат»);
КонецПроцедуры
//Вызываем
КакоетоДействие();

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

Функция Посчитать(Переменная1, Переменная2)
      Возврат Переменная1 + Переменная2;
КонецФункции
//Вызываем
Результат = Посчитать(15, 25);
Сообщить(Результат); //будет сообщение «40»

Что такое «1С» и из чего она состоит

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

Платформа. Это одновременно и среда разработки, и среда выполнения. Она содержит собственный язык программирования, IDE для разработчика, приложение для администрирования и многое другое. Разработкой платформы занимается сама компания «1С» — она регулярно выпускает новые версии. На сегодняшний день самая актуальная версия платформы — 8.3.

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

Вот примеры некоторых популярных конфигураций:

  • «1С:Бухгалтерия предприятия» — предназначена для ведения бухгалтерского и налогового учёта.
  • «1С:Зарплата и управление персоналом» — для расчёта зарплаты и кадрового учёта.
  • «1С:Управление торговлей» — для учёта на складах и в магазинах, «1С:Розница» — для автоматизации розничных торговых точек.

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

Конфигурации «1С» можно разрабатывать с нуля, а можно взять готовую и настроить под свои задачи.

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

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

«1С» поддерживает различные СУБД, в том числе Microsoft SQL Server, PostgreSQL, IBM Db2 и Oracle Database. Их выбирают при установке программы, а программист при написании кода об этом не думает.

Решения «1С» — мультиплатформенные, то есть их можно запускать на разных операционных системах: Windows, macOS, Linux, а также в браузере. Можно интегрировать их с внешними базами, веб-сервисами и мессенджерами. Можно писать приложения под Android и iOS.

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

Установка мобильной платформы 1С для Android

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

Итак, по пунктам:

  1. Мобильную платформу можно скачать с официального сайта обновлений 1С:

Рисунок 1. – основной ресурс скачивания мобильной платформы

Пусть вас не пугает размер архива – в нем есть файлы «на все случаи жизни», то есть все установочные файлы для всех возможных платформ и ОС. Если мы будем создавать конфигурацию для семейства Android, нам достаточны только вот эти файлы — как видите, их размер не такой уж и большой:

Рисунок 2. – установочные файлы мобильной платформы для ОС Android

Почему именно 4 файла? Как я говорил в первой статье, 1С написали мобильную платформу для всех (ну или почти всех) платформ. В данном случае 4 файла – это одна и та же платформа, но для разных аппаратных платформ (arm или intel) и разных разрядностей. Если вы не знаете характеристики своего телефона для тестирования, можете смело кидать все 4 файла на телефон и поочередно устанавливать. Один из четырех все равно установится Ну про установку из неизвестных источников я также не буду рассказывать

Проверить на ПК, установлен ли модуль «Модули расширения веб-сервера». Если данный модуль не установлен, необходимо его установить.

Рисунок 3. – Обязательный компонент платформы для работы с мобильной платформой

Установить Веб-сервер. В принципе у нас есть 2 альтернативы: Apache или IIS. Для работы я всегда использовал Apache, поэтому, если не возражаете, опишу работу с ним. Получение и установка данного ПО выходит за рамки данной статьи, так что сразу перейду к настройке Apache для 1С.

В конфигурационном файле Apache должна присутствовать вот такая строка:

Рисунок 4. – Регистрация библиотеки 1С для работы с веб-серверами

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

Переменные

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

Пример:

Результат = 15;
Результат = Результат + 10;
Сообщить(Результат); //будет отображено «25»

Переменная, которая относится к объекту 1С (поле справочника, допустим) и сохраняется в информационную базу – это реквизит. К любой переменной допускается присвоение разных типов данных: можно сначала присвоить тип «число», а затем – тип «строка». Но для реквизитов язык 1С предусматривает только один тип данных. Если указать в нём другое значение, допустим, вместо цифры – строку, то программа сначала попробует выполнить преобразование в цифровой формат. Если она не сможет это сделать, значение будет пустым.

Строка в стандартной переменной не ограничена по длине, в реквизите – чётко определена (но если требуется выставить неограниченную длину – устанавливается значение длины 0). Выполнять обращение к отдельным буквам в слове нельзя, но можно искать целые части (Лев(), Прав(), Сред()).

Как правильно сделать выбор из составного типа данных?

Процедура УслугиПунктОтправкиНачалоВыбора(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	МассивТипов = Новый Массив();
	МассивТипов.Добавить(Тип("СправочникСсылка.НаселённыеПункты"));
	ОписаниеТипов = Новый ОписаниеТипов(МассивТипов);
	ЭлементыФормы.Услуги.Колонки.ПунктОтправки.
	ЭлементУправления.ОграничениеТипа = ОписаниеТипов;
	
	// Первый вариант
	ЭлементыФормы.Услуги.Колонки.ПунктОтправки.ЭлементУправления.Значение =
	ОписаниеТипов.ПривестиЗначение(
	ЭлементыФормы.Услуги.Колонки.ПунктОтправки.ЭлементУправления.Значение);
	
	// Второй вариант
	ОписаниеТипов.ПривестиЗначение(
	ЭлементыФормы.Услуги.ТекущаяСтрока.ПунктОтправки);
	
КонецПроцедуры

Создаём первую конфигурацию

С терминами вроде разобрались — настало время перейти к практике. Чтобы лучше разобраться в нюансах платформы, создадим небольшую конфигурацию — назовём её «Учёт товаров на складе». Для этого скачаем бесплатный дистрибутив для обучения с официального сайта «1С» и установим его на компьютер — есть версии для Linux, macOS и Windows.

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

Скриншот: Skillbox Media

В открывшемся окне выбираем Создание новой информационной базы и нажимаем кнопку Далее.

Скриншот: Skillbox Media

Программа предложит создать базу по шаблону «Бухгалтерия предприятия», но мы выбираем Создание информационной базы без конфигурации и нажимаем кнопку Далее.

Скриншот: Skillbox Media

Вводим название информационной базы: Учёт товаров на складе. Нажимаем Далее.

Скриншот: Skillbox Media

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

Скриншот: Skillbox Media

Оставляем параметры по умолчанию и нажимаем кнопку Готово.

Скриншот: Skillbox Media

Открылось окно запуска «1С:Предприятия».

Скриншот: Skillbox Media

Информационную базу можно запускать в двух режимах:

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

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

Скриншот: Skillbox Media

Открывается дерево конфигурации. Здесь находятся все классы, на основании которых можно создавать объекты, — например, документы, отчёты, справочники, обработки и так далее.

Скриншот: Skillbox Media

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

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

Скриншот: Skillbox Media

Мы видим, что в заголовке окна дерева конфигурации появился знак *. Это знак того, что в нашу конфигурацию внесены изменения. Чтобы сохранить их, нажимаем на значок дискеты.

Скриншот: Skillbox Media

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

  • Основную — ту, с которой работает программист. Она не исполняется в пользовательском режиме.
  • Конфигурацию базы данных. Она предназначена для пользователей и исполняется в режиме «1С:Предприятие».

Первую можно редактировать, а вторую — нельзя. Её можно только автоматически обновить на основании первой.

Видим, что в заголовке дерева конфигурации появился знак различия конфигураций — <!>. Это означает, что конфигурация базы данных отличается от основной. Чтобы внести в неё изменения, нужно нажать на иконку с бочонком, который отмечен на скриншоте.

Программное добавление команды на форму.

Удалить команду можно при помощи метода коллекции формы команд: Команды.Удалить(<Команда>). Удалять можно только те команды, которые были созданы программно.

&НаСервере
Процедура пр_СоздатьНовуюКоманду()
    
    //создать новую команду у формы
    НоваяКоманда    		 = Команды.Добавить("пр_Команда1");
    НоваяКоманда.Действие     = "пр_Команда1";
    НоваяКоманда.Картинка     = БиблиотекаКартинок.Облако;
    НоваяКоманда.Отображение = ОтображениеКнопки.Картинка;
    
    //вывести команду в элементы
    ЭлементКоманда    			 = Элементы.Добавить("пр_Команда1", Тип("КнопкаФормы"), Элементы.ФормаКоманднаяПанель);
    ЭлементКоманда.Заголовок     = "Вывести сообщение";
    ЭлементКоманда.ИмяКоманды     = "пр_Команда1";

    //удалить команду
    //Команды.Удалить(НоваяКоманда);
    
КонецПроцедуры

&НаКлиенте
Процедура пр_Команда1(Команда)
    
    Сообщить("Команда выполнена.");
    
КонецПроцедуры

Пример создания простейшей внешней обработки в 1С 8.3

Постановка задачи:

В режиме конфигуратора переходим в меню «Файл» — «Новый» выбираем пункт «Внешняя обработка».

В открывшемся окне задаём имя для нашей обработки «МояПерваяОбработка».  Определим реквизит «ТекстДляВывода» (тип <Строка>, длина  <100>).

Далее добавляем форму обработки, не забудем включить наш реквизит «ТекстДляВвода» в состав формы.

Добавляем команду формы, назначив ей имя «Вывести текст», а так же в окне свойств по нажатию на лупу определим обработчик этой команды на «клиенте».

Код обработки в модуле формы может выглядеть так:

&НаКлиенте
Процедура ВывестиТекст(Команда)
	Сообщить(Объект.ТекстДляВывода);
КонецПроцедуры

Чтобы мы могли видеть нашу созданную кнопку на форме её необходимо добавить в раздел элементов формы. Это можно сделать простым перетаскиванием.

Наша обработка готова, её можно сохранить в виде файла на диск.

Запустив 1С в режиме предприятия и выбрав наш файл обработки через меню «Файл» — «Открыть» можем проверить её работоспособность.

Результат:

1С Андроид: создание инсталляционного файла мобильного приложения 1С

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

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

Для создания инсталляционного файла изначально использовалась отдельная конфигурация, которая называлась «Сборщик приложений». Для работы с ней требовалось поставить еще несколько дополнительных приложений, таких как JDK (Java SE Development Kit), SDK (android studio). В результате конфигурация формирует apk-файлы на основании этих китов.

Внешний вид данной конфигурации представлен ниже (принтскрины не мои, давно данной конфигурацией не пользовался ):

Рисунок 13. – Внешний вид конфигурации «Сборщик приложений»

При сборке могут возникать ошибки, которые не всегда можно исправить «с лету». Например, у меня возникала ошибка «Out of memory». Оказалось, когда платформа запускает сборку, явно указывает размер оперативной памяти, которая выделяется под виртуальную машину Java. Так как проект был довольно «тяжелый», виртуальной машине памяти не хватало, и она «падала» с такой ошибкой. Достаточно было поменять объем оперативной памяти в коде сборщика (кстати, если кто его запустит в конфигураторе, то очень удивится – весь код написан на английском языке ), и сборка проходит успешно.

На текущий момент «танцев с бубном» уже не нужно, так как 1С предоставила онлайн-сервис сборщика приложений. Я им пользовался только 2 раза, никаких ошибок не возникало.

Рисунок 14. – Сборщик приложений онлайн

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

Сложные переменные

Давайте разберём пример, когда переменной присвоено несколько значений.

Массив

По виду массив аналогичен колонке в Excel. Каждая ячейка – переменная, которая имеет только одно название. Чтобы перейти к определённой ячейке, нужно ввести её номер.

Результат = Новый Массив;
Результат.Добавить(25);   //в первой ячейке значение 25
Результат.Добавить(34);   //во второй ячейке значение 34
Сообщить(Результат);   //выводится значение первой ячейки
 

Ячейки в 1С нумеруются с 0, а не с 1.

СписокЗначений

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

Результат = Следующий СписокЗначений;
 Результат.Добавить(25, «Это 25»);    
//в первой ячейке значение 25
 Результат.Добавить(34, «Это 34»);    
//во второй ячейке значение 34
 Сообщить(Результат.Получить(0).Значение);   
//выводится значение первой ячейки
//или можно вывести комментарий, 
//тогда вместо .Значение пишется .Представление

ТаблицаЗначений

Здесь программирование таблиц значений на 1С аналогично Excel — страничке со множеством строк и колонок.

ДеревоЗначений

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

Публикация мобильного приложения 1С

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

Первое, что я попробовал – это вызов сообщения «Hello, world!». Выполнил публикацию и… Ничего не произошло. Мобильная платформа не получила конфигурацию, привет миру мы, к сожалению, не сказали

Дело в том, что публикация мобильного приложения осуществляется не как мы привыкли «Администрирование» — «Публикация на веб-сервере», а через специальный пункт меню:

Рисунок 8. – Публикация мобильной конфигурации

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

Рисунок 9. – Секция описания опубликованной базы в конф. файле Apache

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

После всех манипуляций наша мобильная платформа получает конфигурацию. Если посмотреть на данные веб-сервера, программа передает xml-файл, который содержит описание конфигурации, какие сервисы android будут использоваться. Например, доступ к телефонной книге, геопозиционирование и так далее и бинарные данные описания метаданных, то есть cf-файл.

В результате в телефоне по пути \data\data\com.e1c.mobile\files\ … \xxxx-xxx …. xxxx\ будет создана новая (или обновлена) база данных в файловом формате 1С — 1Cv8.1CD.

Рисунок 10. – Формат передачи конфигурации в мобильную платформу

Операторы

Это средства, встроенные в язык 1С. Используются для создания простейшей последовательности.

Условный оператор

Те или иные строки выполняются при наличии необходимых условий.

Результат = 15;
Если Результат < 100 или Результат > 200 Тогда
    Сообщить(«Условие выполнено»);
ИначеЕсли Результат > 200 Тогда
    Сообщить(«Условие не выполнено»);
Иначе
    Сообщить(«Что-то еще»);
КонецЕсли;

Цикл

Строчки выполняются установленное количество раз или пока выполняется определённое условие.

//считаем по-одному
Для Результат = 1 по 20 Цикл
    Сообщить(Результат);
КонецЦикла;
//считаем по-другому
Результат = 1;
Пока Результат < 20 Цикл
    Результат = Результат + 1;
    Сообщить(Результат);
КонецЦикла;
//если имеется список значений, то можно обойти 
//каждое из его значений
Результат = Новый СписокЗначений;
Для каждого ЗначениеСписка из Результат Цикл
    Сообщить(ЗначениеСписка.Значение);
КонецЦикла;
//«ЗначениеСписка» - это переменная, ее можно 
//называть как угодно

Для прерывания цикла язык 1С имеет команду «Прервать». Для прерывания только одной итерации – «Продолжить».

Книги по 1С

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

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

«Hello, 1C» показывает самые простые, основные возможности разработки прикладных решений в системе 1С:Предприятие 8.

В «101 совете» описаны различные способы решения одних и тех же задач.

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

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

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

Данная книга даст вам более углубленные знания 1С в качестве разработчика.

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

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

Ошибки в 1С

Программирование на 1С отличается тем, что при написании программы не всегда понятно, появится ли ошибка при выполнении той или иной строчки. Так, если во внешней обработке ввести:

Справочники.Номенклатура.НайтиПоКоду(«…»)

и открыть её в базе, где указанного справочника нет – возникнет ошибка.

Чтобы она не выскочила, можно применять такой алгоритм:

Попытка
    Справочники.Номенклатура.НайтиПоКоду(«…»);
Исключение
    Результат = ОписаниеОшибки();
    Сообщить(«Ой-ой-ой»);
    Сообщить(Результат);
КонецПопытки;

Если при выполнении кода между «Попытка» и «Исключение» будет ошибка, то выполнение остановится и программа перейдёт к строчке между «Исключение» и «КонецПопытки». Если ошибка не появится, строчки выполняться не будут.

Функция ОписаниеОшибки() запускается только между «Исключение» и «КонецПопытки» и выдаёт сведения о содержании возникшей ошибки.

Перейти (Goto)

Описание:
Безусловная передача управления на другой оператор программы. Передает управление от одного оператора к другому.
Область действия оператора ограничивается программным модулем, процедурой или функцией; он не может передать управление за пределы программного модуля, процедуры или функции.
Примечание 1. Метка в этом операторе не должна быть меткой перехода на оператор Процедура или Функция.
Примечание 2. Оператор безусловного перехода не может быть использован для передачи управления на операторы, находящиеся внутри конструкций:Пока – КонецЦикла, Для – КонецЦикла, Для каждого – КонецЦикла, Если – КонецЕсли, Попытка – Исключение – КонецПопытки извне этих конструкций.
Синтаксис:Перейти <Метка>;
Пример:

Перейти ~Метка1;
…~ Метка1: Сообщить(“Осуществлен переход по метке.”);

3.7 Строки

Рассмотрим работу со строками в 1С.

3.7.1 Запись строковых констант

Строки записываются в двойных кавычках, пример мы уже видели: «Hello World!»

Если нужно записать кавычку внутри строки, она повторяется два раза: «Я использую для бизнеса программы фирм «»1С»» и «»Микрософт»»».

Строка может быть помещена в переменную так:

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

3.7.2 Конкатенация

Простейшая операция над строками – склейка (конкатенация).

В результате в переменную В будет помещена строка «Привет мир».

3.7.3 Строковые функции

Рассмотрим основные строковые функции:

Задача:

Используя только функции Лев, Прав и Сред, получите из строки «Привет мир» строки «веер», «Пирр» и «ветер ветер».

3.7.4 Служебные символы

Не все символы можно включать в строку. Некоторые символы можно получить только по их коду.

В данном примере мы выводим символ табуляции между строками «Поз1» и «Поз2».

Но для наиболее часто используемых служебных символов в 1С существуют специальные константы:

Задача:

Выведите строки «Хлеб», «Батон», «Булочка», «Пирожок», каждую с новой строки. Решить задачу двумя способами – с помощью символа вертикальной черты и конкатенацией с символом перевода строки.

Режимы запуска программы «1С:Предприятие»

В программе «1С:Предприятие» есть два режима запуска:

  1. «1С:Предприятие» — в этом режиме запускаются конфигурации с информационными базами данных организации. Это рабочая среда, в которой можно вводить данные, заполнять справочники, формировать отчеты и запускать обработки, но нельзя менять структуру конфигурации.
  2. «Конфигуратор» — режим разработки, предназначенный для программистов 1С. Он входит в стандартную поставку платформы «1С:Предприятие» и позволяет создавать или изменять структуру базы данных и модули программ, но не дает вносить информацию в базы данных.

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

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

УдалитьОбработчик (RemoveHandler)

Описание:
Удаляет обработчик события.
При удалении обработчика события производится проверка соответствия числа параметров события числу параметров метода, назначенного в качестве
обработчика.
Синтаксис:
УдалитьОбработчик <Событие>, <ОбработчикСобытия>;
Англоязычный синтаксис:
RemoveHandler <Событие>, <ОбработчикСобытия>;
Параметры:

<Событие> – Событие, обработчик которого удаляется.
Событие задается в форме <Выражение>.<ИмяСобытия>, где:
● <Выражение> – произвольное выражение на встроенном языке. Его результатом должен быть объект, обработчик события которого удаляется.
● <ИмяСобытия> – идентификатор (имя) события.

<ОбработчикСобытия> – Процедура/функция-обработчик события.
Обработчиком события может являться метод объекта встроенного языка. Тогда <ОбработчикСобытия> задается как <Выражение>.<ИмяОбработчика>,
где:
● <Выражение> – произвольное выражение на встроенном языке. Его результатом должен быть объект, метод которого служит обработчиком события.
● <ИмяОбработчика> – имя метода обработчика события.
Также в качестве обработчика события может быть задана процедура/функция, находящаяся в области видимости. В этом случае обработчик события
задается как имя процедуры/функции.
Пример:

УдалитьОбработчик Накладная.ПриЗаписи, Обработка.ПриЗаписиДокумента;

Управляющие операторы

Циклы

Пока <Логическое_выражение> Цикл …  …  … КонецЦикла; Для <Имя_переменной> = <Выражение1> По <Выражение2> Цикл …  …  … КонецЦикла;

Величина приращения счетчика при каждом выполнении цикла равна 1. Условие выполнения цикла всегда проверяется вначале, перед выполнением цикла.

Работа с транзакциями

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

НачатьТранзакцию(); …  … ЗафиксироватьТранзакцию();

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

Работа с объектом «СписокЗначений»

Элемент списка содержит три поля – значение, представление и пометка. Значение может принимать значение любого типа, представление же всегда имеет тип «Строка». В форме диалога отображается представление (если оно задано). Пометка означает, помечено данное значение или нет.

Основные функции работы со списком следующие:

  • ДобавитьЗначение(<Знач>,<Строка>)
  • НайтиЗначение(<Знач>)
  • ПолучитьЗначение(<Позиция>,<Перем>)
  • Получить(<Строка>)
  • УдалитьЗначение(<Позиция>,<Колич>)
  • УдалитьВсе()
  • РазмерСписка()
  • Сортировать(<Направление>)
  • СортироватьПоПредставлению(<Направление>)
  • Принадлежит(<Знач>)
  • Пометка (<Позиция>,<Отметка >)
  • ИзСтрокиСРазделителями(<Строка>)
  • ВСтрокуСРазделителями()

Работа с объектом «ТаблицаЗначений»

Т=СоздатьОбъект(«ТаблицаЗначений») // Определяем идентификаторы и параметры колонок Т.НоваяКолонка(«Товар», «Строка», 30,, «Наименование товара», 20); Т.НоваяКолонка(«Цена», «Число», 10, 2 , «Цена», 10); Т.НоваяКолонка(«Количество», «Число», 10, 3, «Кол.», 10); Т.НоваяКолонка(«Сумма», «Число», 15, 3, «Сумма», 10); // Создаем новую строку Т.НоваяСтрока(); Т.Товар= «Сыр»; Т.Цена= 50; Т.Количество= 10; Т.Сумма= Т.Цена* Т.Количество;

Основные функции работы с таблице следующие:

  • НоваяКолонка(<Идентификатор>,<Тип>,<Длина>,<Точность>,<Заголовок>,<Ширина>, <Формат>,<Положение>)
  • НоваяСтрока()
  • УдалитьСтроку(<НомерСтроки>)
  • УдалитьСтроки()
  • ПолучитьСтрокуПоНомеру(<НомерСтроки>)
  • ПолучитьЗначение(<НомерСтроки>,<Колонка>) <Колонка> — это либо номер колонки либо идентификатор колонки
  • НайтиЗначение(<Знач>,<Строка>,<Колонка>) <Строка> – идентификатор переменной, в которую возвращается номер найденной строки, <Колонка> – идентификатор переменной, в которую возвращается колонка найденной строки.
  • ВыбратьСтроки() – открыть выборку строк из таблицы
  • ПолучитьСтроку() – получить следующую строку из выборки
  • Сортировать(<Колонки>) <Колонки> — это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, по которым выполняется сортировка строк таблицы значений
  • Свернуть(<ГрупКолонки>,<СумКолонки>) <ГрупКолонки> — это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, по которым выполняется группировка строк таблицы значений (то есть если имеется несколько строк с одинаковыми значениями в группируемых колонках, то в результате свертки останется одна такая строка). <СумКолонки> — это строка, содержащая список идентификаторов или номеров колонок, разделенных запятой, в которых выполняется суммирование значений строк таблицы значений (то есть, если группируется несколько строк, то значения суммируемых колонок будут складываться).
Понравилась статья? Поделиться с друзьями: