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

Содержание:

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С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

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

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

- Создание полноценной управленческой системы взамен существующих
- Внедрением подсистем «Нормативное планирования», «Мобильное АРМ», «Ре...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

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

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

Объемно-календарное планирование производства Автоматизация бизнес-процессов Анализ деятельности в разрезе проектов Планирование проектов У...

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

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

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

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

Фирма 1С
Фирма 1С

Отрасль:

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

- Подготовка функциональной модели прикладного решения «1С:Документооборот» для сервиса «1С:Облачная карта решений»; - Возможность интеграц...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

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

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
Учет и контроль исполнения поручений
Учет договоров...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

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

Управление отношениями с клиентами (CRM) ...

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

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

Управление персоналом и кадровый учет (HRM) Кадровый учет Расчет зарплаты Регламентированная отчетность Учет рабочего времени ...

СТС-Медиа
СТС-Медиа

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

Внедренное типовое решение:
1С:Управление холдингом

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- Казначейство...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

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

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый учет ...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

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

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполнения поручений;
- Учет договоров...

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автоматизировали блоки: продажи, закупки, производство, складская и т...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Управление складскими запасами ...

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

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

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