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

Содержание:

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С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

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

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

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

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

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

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

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

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

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

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

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

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

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

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

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

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

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

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

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

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

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

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

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

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

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

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

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

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

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

Внедренное типовое решение:
1С:CRM ПРОФ

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

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

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

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

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