Статья
Версия для печати
Обсудить на форуме
Статья 1 – Вводная "Краткое описание системы 1C-Предприятие и встроенного языка"


1С-Предприятие - это программный комплекс, контролирующий все стадии товарооборота, от поступления товара на склад до его продажи и проведения через бухгалтерские книги. Первоначально этот комплекс задумывался как бухгалтерская программа и назывался 1C-Бухгалтерия. Но как отдельная бухгалтерская программа продукт был не очень жизнеспособен, ведь требовалось данные складских и торговых программ связывать с бухгалтерией, а это довольно проблематично, когда складская и бухгалтерская программы написаны разными поставщиками программных продуктов. На многих предприятиях, особенно мелких, можно было увидеть такую картину: складская программа, написанная на FoxPro, Delphi, VB, да мало ли на чем… и 1C-Бухгалтерия, в которую потом те же данные заносились бухгалтерами ПОВТОРНО. Или в крайнем случае, были какие-то попытки переливать базу из формата складской программы в формат 1C, но такое редко могло закончиться удачно. Поэтому был разработан комплекс 1С-Предприятие, состоящий из нескольких взаимосвязанных модулей.
В настоящий момент очень распространены версии 7.5 и 7.7, но уже вышла версия 8.0 Сам я сей продукт не видел, так что о его преимуществах и недостатках мне судить сложно. Впрочем, на сайте 1C версия описывается достаточно подробно.
Из основных модулей можно отметить 1C-Предприятие (бухгалтерия входит туда же), Конфигуратор (именно здесь настраиваются доступы к отдельным документам, дописываются модули, создаются формы и т.д. и т.п. В общем, язык 1C мы используем именно здесь), Монитор (бесценная штука, чтобы освежить память пользователю, который говорит “Да я к этому документу даже не прикасался, это не я…”), Отладчик. Есть еще много вспомогательных утилит, вроде 1C-Деньги.
Встроенный язык системы 1С:Предприятие предназначен для описания (на стадии разработки конфигурации) алгоритмов функционирования прикладной задачи.
Встроенный язык (далее по тексту — язык) представляет собой предметно-ориентированный язык программирования, специально разработанный с учетом возможности его применения не только профессиональными программистами. В частности, все операторы языка имеют как русское, так и англоязычное написание, которые можно использовать одновременно в одном исходном тексте.
При своей относительной простоте язык обладает некоторыми объектно-ориентированными возможностями, например, правила доступа к атрибутам и методам специализированных типов данных (документам, справочникам и т. п.) подобны свойствам и методам объектов, используемых в других объектно-ориентированных языках. Однако специализированные типы данных не могут определяться средствами самого языка, а задаются в визуальном режиме конфигуратора.
Типизация переменных в языке не жесткая, т. е. тип переменной определяется ее значением. Переменные не обязательно объявлять в явном виде. Неявным определением переменной является ее первое упоминание в левой части оператора присваивания. Возможно также явное объявление переменных при помощи соответствующего оператора. Допускается применение массивов.

Формат описания элементов языка


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

[ ] В квадратных скобках заключаются необязательные синтаксические элементы.
( ) Круглые скобки заключают в себе список параметров.
| Вертикальной линией разделяются синтаксические элементы, среди которых нужно выбрать только один.

Синтаксическая диаграмма описания элемента языка


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

 ЭлементЯзыка

Краткое описание того, что делает данный ЭлементЯзыка.
Синтаксис:

 ЭлементЯзыка(<Параметр1>, <Параметр2>, ...) [ДобКлючевоеСлово]

Англоязычный Синтаксис: (в случае языковых конструкций)

 Keyword(<Параметр1>, <Параметр2>, ...)[AddKeyWord]

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

Keyword

Параметры:
 <Параметр1> краткое описание <Параметра1>.
 <Параметр2> краткое описание <Параметра2>.
 [ДобКлючевоеСлово] краткое описание ДобКлючевоеСлово.

Возвращаемое значение:
 Тип и краткое описание возвращаемого значения.

Описание:
 Подробное описание того, чтореализуетЭлементЯзыка.

Пример:
 Краткое описание примера

Исходный текст примера


Под конец, как пример синтаксиса языка приведу внешнюю обработку .ert, которая пересчитывает оптовые цены с учетом первоначальной (заводской) цены и скидки:

Код: (Text)
Процедура Сформировать()
        ТМЦ=СоздатьОбъект("Справочник.ТМЦ");
        ТМЦ.ВыбратьЭлементы();
        Пока ТМЦ.ПолучитьЭлемент()=1 Цикл
                Сообщить(ТМЦ.Наименование);
                Если ТМЦ.ЭтоГруппа()<>1 Тогда     
                        ТМЦ.УстановитьАтрибут("Цена3",ТМЦ.ЦенаЗав-ТМЦ.ЦенаЗав*0.01*ТМЦ.Скидка);
                        ТМЦ.Записать();             
                КонецЕсли;    
        КонецЦикла;  

КонецПроцедуры


Автор: Harry

Версия для печати
Обсудить на форуме