HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Язык программирования 1C - встроенный язык платформы "1С:Предприятие", предназначенный для создания логики, описания алгоритмов и обработки данных внутри прикладных решений. Его не выделяют как самостоятельный язык, поэтому официально он называется просто "встроенным языком", а все его особенности ориентированы на работу внутри экосистемы 1C.</p>
1 <p>Язык программирования 1C - встроенный язык платформы "1С:Предприятие", предназначенный для создания логики, описания алгоритмов и обработки данных внутри прикладных решений. Его не выделяют как самостоятельный язык, поэтому официально он называется просто "встроенным языком", а все его особенности ориентированы на работу внутри экосистемы 1C.</p>
2 <h2>Где применяется 1C</h2>
2 <h2>Где применяется 1C</h2>
3 <p>Язык 1C относится к предметно-ориентированным: писать код можно только в среде "1С:Предприятие". Платформа широко используется организациями разных размеров, но особенно востребована в крупных компаниях, где требуется:</p>
3 <p>Язык 1C относится к предметно-ориентированным: писать код можно только в среде "1С:Предприятие". Платформа широко используется организациями разных размеров, но особенно востребована в крупных компаниях, где требуется:</p>
4 <ul><li>автоматизация бухгалтерского учёта;</li>
4 <ul><li>автоматизация бухгалтерского учёта;</li>
5 <li>ведение кадровой документации;</li>
5 <li>ведение кадровой документации;</li>
6 <li>управление складом и закупками;</li>
6 <li>управление складом и закупками;</li>
7 <li>формирование отчетности;</li>
7 <li>формирование отчетности;</li>
8 <li>поддержка управленческого учета;</li>
8 <li>поддержка управленческого учета;</li>
9 <li>оптимизация документооборота.</li>
9 <li>оптимизация документооборота.</li>
10 </ul><p>Благодаря гибкости платформы предприятия могут полностью адаптировать её под свои процессы.</p>
10 </ul><p>Благодаря гибкости платформы предприятия могут полностью адаптировать её под свои процессы.</p>
11 <h2>Особенности языка 1C</h2>
11 <h2>Особенности языка 1C</h2>
12 <p>Язык 1C считается высокоуровневым. По духу он напоминает Pascal, BASIC и JavaScript, что делает его интуитивно понятным. Однако у него есть ряд уникальных черт, которые облегчают работу и делают язык максимально адаптированным для бизнес-задач.</p>
12 <p>Язык 1C считается высокоуровневым. По духу он напоминает Pascal, BASIC и JavaScript, что делает его интуитивно понятным. Однако у него есть ряд уникальных черт, которые облегчают работу и делают язык максимально адаптированным для бизнес-задач.</p>
13 <h3>Простота</h3>
13 <h3>Простота</h3>
14 <p>Порог входа в язык невысок: разработчикам часто нужно дорабатывать готовые конфигурации, а не создавать решения с нуля. Это позволяет новичкам быстрее понимать структуру системы.</p>
14 <p>Порог входа в язык невысок: разработчикам часто нужно дорабатывать готовые конфигурации, а не создавать решения с нуля. Это позволяет новичкам быстрее понимать структуру системы.</p>
15 <h3>Доступность</h3>
15 <h3>Доступность</h3>
16 <p>Программировать можно как на русском, так и на английском языке. Русскоязычный синтаксис особенно удобен для начинающих, так как исключает языковой барьер.</p>
16 <p>Программировать можно как на русском, так и на английском языке. Русскоязычный синтаксис особенно удобен для начинающих, так как исключает языковой барьер.</p>
17 <h3>Предварительная компиляция</h3>
17 <h3>Предварительная компиляция</h3>
18 <p>Перед выполнением код переводится во внутренний байт-код, что повышает скорость работы.</p>
18 <p>Перед выполнением код переводится во внутренний байт-код, что повышает скорость работы.</p>
19 <h3>Кэширование модулей</h3>
19 <h3>Кэширование модулей</h3>
20 <p>Скомпилированные модули хранятся в кэше, благодаря чему ускоряется повторное выполнение.</p>
20 <p>Скомпилированные модули хранятся в кэше, благодаря чему ускоряется повторное выполнение.</p>
21 <h3>Мягкая типизация</h3>
21 <h3>Мягкая типизация</h3>
22 <p>Тип переменной определяется автоматически по её содержимому, что упрощает разработку и снижает количество ошибок.</p>
22 <p>Тип переменной определяется автоматически по её содержимому, что упрощает разработку и снижает количество ошибок.</p>
23 <h3>Синтаксис-помощник</h3>
23 <h3>Синтаксис-помощник</h3>
24 <p>Разработчик всегда имеет доступ к встроенному справочнику, где собраны подсказки по всем конструкциям языка.</p>
24 <p>Разработчик всегда имеет доступ к встроенному справочнику, где собраны подсказки по всем конструкциям языка.</p>
25 <h2>Структура "1С"</h2>
25 <h2>Структура "1С"</h2>
26 <p>Платформа состоит из двух ключевых компонентов:</p>
26 <p>Платформа состоит из двух ключевых компонентов:</p>
27 <h3>Платформа</h3>
27 <h3>Платформа</h3>
28 <p>Ядро системы, обеспечивающее работу конфигураций. В ней реализованы интерфейсы, механизмы обработки данных, события и встроенный язык.</p>
28 <p>Ядро системы, обеспечивающее работу конфигураций. В ней реализованы интерфейсы, механизмы обработки данных, события и встроенный язык.</p>
29 <h3>Конфигурация</h3>
29 <h3>Конфигурация</h3>
30 <p>Прикладное решение, написанное на языке 1C. В одной платформе могут работать сразу несколько конфигураций. Они бывают:</p>
30 <p>Прикладное решение, написанное на языке 1C. В одной платформе могут работать сразу несколько конфигураций. Они бывают:</p>
31 <ul><li><strong>типовыми</strong>- разработанными фирмой "1С";</li>
31 <ul><li><strong>типовыми</strong>- разработанными фирмой "1С";</li>
32 <li><strong>нетиповыми</strong>- созданными разработчиками компаний для собственных задач.</li>
32 <li><strong>нетиповыми</strong>- созданными разработчиками компаний для собственных задач.</li>
33 </ul><h2>Переменные</h2>
33 </ul><h2>Переменные</h2>
34 <p>Переменные служат временным хранилищем данных. После завершения работы программы они очищаются. Переменная может хранить только одно значение.</p>
34 <p>Переменные служат временным хранилищем данных. После завершения работы программы они очищаются. Переменная может хранить только одно значение.</p>
35 <h3>Требования к именованию</h3>
35 <h3>Требования к именованию</h3>
36 <ul><li>начинается с буквы или символа "_";</li>
36 <ul><li>начинается с буквы или символа "_";</li>
37 <li>может включать цифры, но не в начале;</li>
37 <li>может включать цифры, но не в начале;</li>
38 <li>не ограничена в длине;</li>
38 <li>не ограничена в длине;</li>
39 <li>не содержит буквы "ё" и пробелов.</li>
39 <li>не содержит буквы "ё" и пробелов.</li>
40 </ul><p>Для создания переменной достаточно написать:</p>
40 </ul><p>Для создания переменной достаточно написать:</p>
41 <p>Переменные могут объявляться явно и неявно, однако тип всегда определяется автоматически.</p>
41 <p>Переменные могут объявляться явно и неявно, однако тип всегда определяется автоматически.</p>
42 <h2>Модули и методы</h2>
42 <h2>Модули и методы</h2>
43 <p>Код в 1C хранится в модулях - текстовых файлах, содержащих алгоритмы обработки данных. Конфигурация включает множество объектов (справочники, документы, регистры и др.), а каждый объект имеет свой модуль.</p>
43 <p>Код в 1C хранится в модулях - текстовых файлах, содержащих алгоритмы обработки данных. Конфигурация включает множество объектов (справочники, документы, регистры и др.), а каждый объект имеет свой модуль.</p>
44 <p>Методы - это функции и процедуры, выполняющие конкретные действия. Часть методов встроена в платформу, но разработчик может дополнять их своими.</p>
44 <p>Методы - это функции и процедуры, выполняющие конкретные действия. Часть методов встроена в платформу, но разработчик может дополнять их своими.</p>
45 <h2>События</h2>
45 <h2>События</h2>
46 <p>Работа приложений 1C построена на событийной модели. События вызываются действиями пользователя или самой системой. При наступлении нужного события выполняется соответствующий программный код.</p>
46 <p>Работа приложений 1C построена на событийной модели. События вызываются действиями пользователя или самой системой. При наступлении нужного события выполняется соответствующий программный код.</p>
47 <p>Разработчик не может создавать новые типы событий - платформа содержит их фиксированный набор.</p>
47 <p>Разработчик не может создавать новые типы событий - платформа содержит их фиксированный набор.</p>
48 <h2>Значения и коллекции</h2>
48 <h2>Значения и коллекции</h2>
49 <p>Значение - это любые данные, которые использует система: введенные пользователем, прочитанные с диска или сформированные программой.</p>
49 <p>Значение - это любые данные, которые использует система: введенные пользователем, прочитанные с диска или сформированные программой.</p>
50 <h3>Основные типы значений</h3>
50 <h3>Основные типы значений</h3>
51 <ul><li><strong>Null</strong>- отсутствие значения.</li>
51 <ul><li><strong>Null</strong>- отсутствие значения.</li>
52 <li><strong>Число</strong>- поддерживает стандартные арифметические операции.</li>
52 <li><strong>Число</strong>- поддерживает стандартные арифметические операции.</li>
53 <li><strong>Дата</strong>- хранит дату и время с точностью до секунд.</li>
53 <li><strong>Дата</strong>- хранит дату и время с точностью до секунд.</li>
54 <li><strong>Строка</strong>- текст, заключенный в кавычки.</li>
54 <li><strong>Строка</strong>- текст, заключенный в кавычки.</li>
55 <li><strong>Булево</strong>- логические значения Истина/Ложь.</li>
55 <li><strong>Булево</strong>- логические значения Истина/Ложь.</li>
56 <li><strong>Неопределено</strong>- применяется, когда тип значения нельзя определить.</li>
56 <li><strong>Неопределено</strong>- применяется, когда тип значения нельзя определить.</li>
57 </ul><p>На основе этих типов создаются более сложные объекты - коллекции данных:</p>
57 </ul><p>На основе этих типов создаются более сложные объекты - коллекции данных:</p>
58 <h3>Основные коллекции</h3>
58 <h3>Основные коллекции</h3>
59 <ul><li><strong>Таблица значений</strong>- аналог таблицы Excel.</li>
59 <ul><li><strong>Таблица значений</strong>- аналог таблицы Excel.</li>
60 <li><strong>Дерево значений</strong>- структура с иерархическими уровнями.</li>
60 <li><strong>Дерево значений</strong>- структура с иерархическими уровнями.</li>
61 <li><strong>Список значений</strong>- используется при работе с интерфейсом.</li>
61 <li><strong>Список значений</strong>- используется при работе с интерфейсом.</li>
62 <li><strong>Массив</strong>- список значений с индексами; может быть многомерным.</li>
62 <li><strong>Массив</strong>- список значений с индексами; может быть многомерным.</li>
63 <li><strong>Структура и соответствие</strong>- данные в виде пар "ключ-значение".</li>
63 <li><strong>Структура и соответствие</strong>- данные в виде пар "ключ-значение".</li>
64 </ul><h2>Как написать свою первую программу</h2>
64 </ul><h2>Как написать свою первую программу</h2>
65 <p>Рассмотрим создание классического примера "Привет, мир!":</p>
65 <p>Рассмотрим создание классического примера "Привет, мир!":</p>
66 <ol><li>Запустите платформу "1С:Предприятие".</li>
66 <ol><li>Запустите платформу "1С:Предприятие".</li>
67 <li>Откройте пустую базу в режиме конфигуратора.</li>
67 <li>Откройте пустую базу в режиме конфигуратора.</li>
68 <li>Выберите "Открыть конфигурацию".</li>
68 <li>Выберите "Открыть конфигурацию".</li>
69 <li>В дереве объектов нажмите правой кнопкой на "Конфигурация" и откройте модуль приложения.</li>
69 <li>В дереве объектов нажмите правой кнопкой на "Конфигурация" и откройте модуль приложения.</li>
70 <li>В редакторе напишите:</li>
70 <li>В редакторе напишите:</li>
71 </ol><ol><li>Нажмите "Начать отладку".</li>
71 </ol><ol><li>Нажмите "Начать отладку".</li>
72 <li>В окне приложения появится сообщение, что программа работает корректно.</li>
72 <li>В окне приложения появится сообщение, что программа работает корректно.</li>
73 </ol>
73 </ol>