Отправляет email-рассылки с помощью сервиса Sendsay

Как стать программистом 1С

  Все выпуски  

Как стать программистом 1С: Объекты и ссылки в 1С


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

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

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

Например:

Запрос = Новый Запрос("ВЫБРАТЬ Ссылка, Наименование Из Справочник.Контрагенты");

//разово выполнили запрос на сервере и переслали результат на компьютер пользователя
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

//обратились к результату запроса, который находится в памяти компьютера пользователя
Наименование = Выборка.Наименование;
ИНН = Выборка.Ссылка.ИНН;

//ИНН мы в запросе не считывали, при обращении через ссылку к ИНН фоново генерируется полное считывание объекта справочника по ссылке в локальную память компьютера (бывает краткое, но ИНН не входит в кешируемые поля)

Как мы видим, при незнании этих особенностей – одно лишнее движение может значительно увеличить разовые обращения к базе данных и как следствие снизить производительности программы и загрузку сети.

Поговорим про особенности работы со значениями в 1С.

 

Значение 1С — переменные

1. Итак, переменная, это поле, не добавленное в конфигурации, а которое мы определяем прямо в модуле программы 1С (модули 1С).

Под константным значением понимается значение 1С, указанное в коде напрямую. Например:

Переменная1 = 22; //22 – это константа
Переменная2 = "Привет!"; //«Привет» - это константа

2. Переменные в 1С не типизированы. Это значит, что одной и той же переменной можно назначать любые значения. Например:

Переменная = 22;
Переменная = "Привет!"; //назначаем той же переменной новое значение 1С – строку, а не число

3. Во многих языках программирования обязательно «объявлять» переменную. Это значит нужно указать сначала, что есть такая переменная, а только потом ей пользоваться:

Перем Переменная1;
Переменная1 = 20;

В 1С это делать можно, но не обязательно. Будет работать и такой способ (обращение и создание сразу):

Переменная1 = 20;

4. Строгого контроля наличия переменной нет. Если мы забыли создать переменную, но уже обращаемся к ней, то ее значение 1С будет равно «Неопределено».

//здесь переменной еще нет
Если Чтото = 20 Тогда
      //мы ее создаем только, если Чтото=20
      Переменная1 = 100;
КонецЕсли;

//мы обращаемся в любом случае, даже если Чтото=1 и мы не входили в условие
Если Переменная1 = Неопределено Тогда
     //здесь что-то выполняем

В описанном случае, если мы не попали в первое условие, то переменной как бы нет. На самом деле она есть и равна «Неопределено».

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

 

Значение 1С — реквизиты объектов 1С

Реквизиты объектов 1С – это поля справочника или документа. Они добавляются и редактируются в конфигураторе в окне конфигурации. Мы уже обсуждали их в уроке про реквизиты 1С.

Реквизиты объектов 1С – типизированы.

Это значит, что.. (читать дальше на сайте)

 


В избранное