08.08.2024 Максим Овечёнков 5454
Различия декларативного языка программировани...

Содержание:

1.    Описание типов значений в запросах

2.    Различия в разграничении функций при работе с данными с помощью SQL и внутреннего языка запросов 1С 

3.    Процесс разыменования ссылочных полей

4.    Возможность работы на двух языках: русском и английским 


Внутренний язык запросов 1С (ЯЗ 1С) имеет много общего с SQL, и это неудивительно, ведь он был создан на основе SQL. Обе системы используют схожие языковые конструкции и функции, такие как "ВЫБРАТЬ" в ЯЗ 1С, эквивалентное "SELECT" в SQL. Однако, несмотря на значительное сходство, существуют и важные различия. Понимание этих различий может быть интересно для тех, кто только начинает изучать язык запросов 1С и до этого уже сталкивался с SQL, так и для тех, кто уже знает ЯЗ 1С и хочет продолжить работу в IT, но уже в области SQL. В этой статье мы рассмотрим основные расхождения между SQL и языком запросов 1С, а также обсудим уникальные возможности и ограничения каждой из систем.  


1.    Описание типов значений в запросах


Изучение любого языка программирования начинается с понимания типов значений, и внутренний язык запросов 1С (ЯЗ 1С) не является исключением. В ЯЗ 1С существует несколько основных типов: строка, дата, число, ссылка и булево. В то время как в SQL их гораздо больше — около двадцати. В ЯЗ 1С литералы «1», «-1» и «1.2» просто имеют тип ЧИСЛО, в то время как в SQL все гораздо сложнее: существуют отдельные типы для целых чисел, дробных чисел и даже для денег.


Тип ДАТА в ЯЗ 1С также отличается своей уникальностью. Он имеет формат ‘01010001000000’, который включает в себя как дату, так и время. В SQL для времени существует специальный отдельный тип, что добавляет гибкость, но и усложняет синтаксис.


Самым же уникальным типом в ЯЗ 1С является ссылка. В отличие от SQL, который работает с данными в таблицах, в 1С имеются документы, справочники, регистры и другие объекты. Каждый из этих объектов характеризуется и идентифицируется с помощью типа ссылка, что делает работу с данными более удобной и интуитивной в контексте 1С.


2.    Различия в разграничении функций при работе с данными с помощью SQL и внутреннего языка запросов 1С


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


Такое разграничение функций делает ЯЗ 1С более узкоспециализированным, сосредотачивая его возможности на анализе и извлечении данных, в то время как SQL обеспечивает полный цикл работы с данными, включая их модификацию.  


3.    Процесс разыменования ссылочных полей


Но что есть в языке запросов 1С чего нет в SQL? Разыменование ссылочных полей. Что это такое. В языке запросов 1С можно обращаться не только к полям исходных таблиц, указанных в предложении ИЗ, но и к полям таблиц, на которые ссылаются поля этих таблиц, если они имеют ссылочный тип. При этом имена полей указываются через точку. Использование такой конструкции приводит к неявному присоединению дополнительных таблиц для получения значений полей, указанных "через точку".


Пример:

ВЫБРАТЬ

ОстатокНаСкладах.Номенклатура КАК Номенклатура,

ОстатокНаСкладах.Количество КАК Количество,

ОстатокНаСкладах.Товар.Номер КАК Номер

ИЗ

РегистрНакопления. ОстатокНаСкладах КАК ОстатокНаСкладах

…………

Такой возможности в SQL нет. Там используются просто соединения.


4.    Возможность работы на двух языках: русском и английским 


Еще одним уникальным отличием ЯЗ 1С от SQL является поддержка двух языков: русского и английского. Хотя английский признан международным языком программирования, платформа 1С, будучи особенно популярной в России и странах СНГ, позволяет писать запросы на кириллице. Это делает работу с системой более доступной для русскоязычных пользователей, устраняя языковой барьер и упрощая написание и чтение запросов. Возможность использования родного языка при написании кода значительно повышает удобство и эффективность работы с 1С.


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


Особенности ЯЗ 1С, такие, как поддержка русского языка и возможность разыменования ссылочных полей, делают его особенно удобным для работы в платформе 1С Предприятие. Эти возможности позволяют упростить синтаксис запросов и сделать их более читаемыми и интуитивными для русскоязычных пользователей.


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

 

Специалист компании "Кодерлайн"
Максим Овечёнков

Наши проекты

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

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

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

Внедренное типовое решение:
1С:Управление производственным предприятием

Автоматизация бизнес-процессов...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Комплексная автоматизация

- Налоговый учет;...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

Внедренное типовое решение:
1С:Бухгалтерия

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

Внедренное типовое решение:
1С:ERP Управление предприятием 2.1

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Кадровый учет;
- Расчет зарплаты;
- Регламентированная отчетность;
- А...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедр...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение