HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>17 окт 2025</li>
2 <ul><li>17 окт 2025</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Процедурно функционируем в 1С.</p>
4 </ul><p>Процедурно функционируем в 1С.</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.</p>
6 <p>Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.</p>
7 <p>В "1С: Предприятии" практически любая конфигурация основана на процедурах и функциях. Эти конструкции делают код логичным, корректным и удобным для сопровождения. Они выглядят похоже, поэтому не всегда понятно, в каких случаях лучше применять процедуру, а в каких - функцию. В этой статье мы подробно разберём их назначение, различия и правила использования.</p>
7 <p>В "1С: Предприятии" практически любая конфигурация основана на процедурах и функциях. Эти конструкции делают код логичным, корректным и удобным для сопровождения. Они выглядят похоже, поэтому не всегда понятно, в каких случаях лучше применять процедуру, а в каких - функцию. В этой статье мы подробно разберём их назначение, различия и правила использования.</p>
8 <p><strong>Содержание</strong></p>
8 <p><strong>Содержание</strong></p>
9 <ul><li><a>Что такое процедуры и функции</a></li>
9 <ul><li><a>Что такое процедуры и функции</a></li>
10 <li><a>Какие параметры есть у процедур и функций</a></li>
10 <li><a>Какие параметры есть у процедур и функций</a></li>
11 <li><a>Как работать с параметрами</a></li>
11 <li><a>Как работать с параметрами</a></li>
12 <li><a>Как использовать процедуры и функции в конфигурациях "1С: Предприятия"</a></li>
12 <li><a>Как использовать процедуры и функции в конфигурациях "1С: Предприятия"</a></li>
13 </ul><p><strong>Процедура в 1С</strong> - это блок кода, который выполняет действия, но не возвращает результат. Процедуры используют, когда нужно выполнить действие: записать данные в справочник, изменить объект, вывести сообщение пользователю. Они действуют как команда "сделай что-то".</p>
13 </ul><p><strong>Процедура в 1С</strong> - это блок кода, который выполняет действия, но не возвращает результат. Процедуры используют, когда нужно выполнить действие: записать данные в справочник, изменить объект, вывести сообщение пользователю. Они действуют как команда "сделай что-то".</p>
14 <p><strong>Функция в 1С</strong> - это блок кода, который не только выполняет действия, но и возвращает результат. Обычно функции используют, когда нужно что-то вычислить и получить значение, например сумму или дату.</p>
14 <p><strong>Функция в 1С</strong> - это блок кода, который не только выполняет действия, но и возвращает результат. Обычно функции используют, когда нужно что-то вычислить и получить значение, например сумму или дату.</p>
15 <p>Например, процедура может оформить документ продажи и внести его в базу, а функция - посчитать итоговую сумму по документу и вернуть её.</p>
15 <p>Например, процедура может оформить документ продажи и внести его в базу, а функция - посчитать итоговую сумму по документу и вернуть её.</p>
16 <p>В языке 1С процедуры и функции пишутся по-разному, но структура у них похожая.</p>
16 <p>В языке 1С процедуры и функции пишутся по-разному, но структура у них похожая.</p>
17 <p>Процедуры и функции помогают разбивать программу на части, чтобы сделать код понятнее и проще для сопровождения. В отдельные процедуры и функции можно выносить общие алгоритмы, чтобы избежать дублирования кода. Вместо повторения одного и того же действия в разных местах достаточно вызвать процедуру или функцию. Если потребуется изменить алгоритм, можно просто внести изменения в одном месте.</p>
17 <p>Процедуры и функции помогают разбивать программу на части, чтобы сделать код понятнее и проще для сопровождения. В отдельные процедуры и функции можно выносить общие алгоритмы, чтобы избежать дублирования кода. Вместо повторения одного и того же действия в разных местах достаточно вызвать процедуру или функцию. Если потребуется изменить алгоритм, можно просто внести изменения в одном месте.</p>
18 <p>Процедуры и функции делают код проще для чтения. Легче понять, что происходит, особенно если их имена объясняют, что они делают. Это облегчает поддержку программы.</p>
18 <p>Процедуры и функции делают код проще для чтения. Легче понять, что происходит, особенно если их имена объясняют, что они делают. Это облегчает поддержку программы.</p>
19 <p>Процедура объявляется с помощью ключевого слова Процедура, за которым следует имя и круглые скобки с параметрами. В теле процедуры пишутся действия, которые нужно выполнить, а завершение обозначается словом КонецПроцедуры.</p>
19 <p>Процедура объявляется с помощью ключевого слова Процедура, за которым следует имя и круглые скобки с параметрами. В теле процедуры пишутся действия, которые нужно выполнить, а завершение обозначается словом КонецПроцедуры.</p>
20 Процедура НазваниеПроцедуры(Параметр1, Параметр2) // Здесь выполняются действия КонецПроцедуры<p>Вызов процедуры выглядит так:</p>
20 Процедура НазваниеПроцедуры(Параметр1, Параметр2) // Здесь выполняются действия КонецПроцедуры<p>Вызов процедуры выглядит так:</p>
21 НазваниеПроцедуры(10, 20);<p>Процедура выполняет код внутри, но ничего не возвращает.</p>
21 НазваниеПроцедуры(10, 20);<p>Процедура выполняет код внутри, но ничего не возвращает.</p>
22 <p>Например:</p>
22 <p>Например:</p>
23 Процедура ПоказатьСообщение() Сообщить("Привет, мир!"); КонецПроцедуры ПоказатьСообщение();<p>Функция объявляется аналогично, только ключевое слово - Функция. В теле функции выполняются вычисления, а результат возвращается с помощью оператора Возврат. Если оператор отсутствует, функция вернёт Неопределено. Функции можно использовать в выражениях и присваиваниях.</p>
23 Процедура ПоказатьСообщение() Сообщить("Привет, мир!"); КонецПроцедуры ПоказатьСообщение();<p>Функция объявляется аналогично, только ключевое слово - Функция. В теле функции выполняются вычисления, а результат возвращается с помощью оператора Возврат. Если оператор отсутствует, функция вернёт Неопределено. Функции можно использовать в выражениях и присваиваниях.</p>
24 Функция НазваниеФункции(Параметр1, Параметр2) // Здесь выполняются вычисления Возврат РезультатВыполнения; КонецФункции<p>Функцию вызывают так:</p>
24 Функция НазваниеФункции(Параметр1, Параметр2) // Здесь выполняются вычисления Возврат РезультатВыполнения; КонецФункции<p>Функцию вызывают так:</p>
25 Результат = НазваниеФункции(10, 20);<p>Например:</p>
25 Результат = НазваниеФункции(10, 20);<p>Например:</p>
26 Функция Умножить(Число1, Число2) Возврат Число1 * Число2; КонецФункции // Вызов функции: Результат = Умножить(5, 7);<p>Порядок следования процедур и функций в модуле "1С: Предприятие 8" значения не имеет. Из любой процедуры (функции) модуля можно вызывать любую другую процедуру или функцию данного модуля, даже если она расположена после вызывающей.</p>
26 Функция Умножить(Число1, Число2) Возврат Число1 * Число2; КонецФункции // Вызов функции: Результат = Умножить(5, 7);<p>Порядок следования процедур и функций в модуле "1С: Предприятие 8" значения не имеет. Из любой процедуры (функции) модуля можно вызывать любую другую процедуру или функцию данного модуля, даже если она расположена после вызывающей.</p>
27 <p>В объявлении процедуры или функции после скобок можно указать Экспорт, если она должна быть доступна из других модулей. Внутри можно вызывать другие процедуры и функции из текущего или других модулей.</p>
27 <p>В объявлении процедуры или функции после скобок можно указать Экспорт, если она должна быть доступна из других модулей. Внутри можно вызывать другие процедуры и функции из текущего или других модулей.</p>
28 <p>После описания процедуры или функции точка с запятой не нужна. Правда, её можно поставить после последней процедуры или функции в модуле, и это не будет ошибкой. Но, если позже вы добавите в модуль новые процедуры (функции), будет выдаваться сообщение об ошибке.</p>
28 <p>После описания процедуры или функции точка с запятой не нужна. Правда, её можно поставить после последней процедуры или функции в модуле, и это не будет ошибкой. Но, если позже вы добавите в модуль новые процедуры (функции), будет выдаваться сообщение об ошибке.</p>
29 <p>При вызове процедуры или функции можно передавать параметры. Они позволяют использовать разные входные данные: функция будет формировать результат на основе переданных значений, а процедура - выбирать нужный алгоритм действий.</p>
29 <p>При вызове процедуры или функции можно передавать параметры. Они позволяют использовать разные входные данные: функция будет формировать результат на основе переданных значений, а процедура - выбирать нужный алгоритм действий.</p>
30 <p>В описании можно указать, какое значение будет использоваться по умолчанию. Для этого справа от имени параметра через знак = задаётся значение. Если при вызове оно не указано, система подставит значение по умолчанию.</p>
30 <p>В описании можно указать, какое значение будет использоваться по умолчанию. Для этого справа от имени параметра через знак = задаётся значение. Если при вызове оно не указано, система подставит значение по умолчанию.</p>
31 Процедура СоздатьПользователя(Имя, Пароль = "", Роль = "Пользователь") Сообщить("Создан пользователь: " + Имя); Сообщить("Роль: " + Роль); КонецПроцедуры // Вызовы СоздатьПользователя("Иван"); // Пароль = "" , Роль = "Пользователь" СоздатьПользователя("Мария", "12345"); // Пароль = "12345", Роль = "Пользователь" СоздатьПользователя("Админ", "qwerty", "Администратор"); // Все параметры заданы<p>Параметры по умолчанию называются необязательными, а параметры, для которых не указано значение по умолчанию, называются обязательными. Их нужно передавать при вызове, иначе система выдаст ошибку или в параметр попадёт Неопределено, что обычно приводит к неправильной работе кода.</p>
31 Процедура СоздатьПользователя(Имя, Пароль = "", Роль = "Пользователь") Сообщить("Создан пользователь: " + Имя); Сообщить("Роль: " + Роль); КонецПроцедуры // Вызовы СоздатьПользователя("Иван"); // Пароль = "" , Роль = "Пользователь" СоздатьПользователя("Мария", "12345"); // Пароль = "12345", Роль = "Пользователь" СоздатьПользователя("Админ", "qwerty", "Администратор"); // Все параметры заданы<p>Параметры по умолчанию называются необязательными, а параметры, для которых не указано значение по умолчанию, называются обязательными. Их нужно передавать при вызове, иначе система выдаст ошибку или в параметр попадёт Неопределено, что обычно приводит к неправильной работе кода.</p>
32 <p>По умолчанию все параметры передаются по ссылке. Это значит, что в процедуру или функцию попадает сама переменная, а не её копия. Если внутри процедуры (функции) изменить параметр, то изменится и исходная переменная, так как мы фактически работаем с одним и тем же участком памяти.</p>
32 <p>По умолчанию все параметры передаются по ссылке. Это значит, что в процедуру или функцию попадает сама переменная, а не её копия. Если внутри процедуры (функции) изменить параметр, то изменится и исходная переменная, так как мы фактически работаем с одним и тем же участком памяти.</p>
33 <p>Пример с процедурой:</p>
33 <p>Пример с процедурой:</p>
34 Процедура УвеличитьНаОдин(Число) Число = Число + 1; КонецПроцедуры МоёЧисло = 10; УвеличитьНаОдин(МоёЧисло); Сообщить(МоёЧисло); // Выведет 11<p>Здесь переменная МоёЧисло изменилась, потому что параметр был передан по ссылке.</p>
34 Процедура УвеличитьНаОдин(Число) Число = Число + 1; КонецПроцедуры МоёЧисло = 10; УвеличитьНаОдин(МоёЧисло); Сообщить(МоёЧисло); // Выведет 11<p>Здесь переменная МоёЧисло изменилась, потому что параметр был передан по ссылке.</p>
35 <p>Пример с функцией:</p>
35 <p>Пример с функцией:</p>
36 Функция Увеличить(Число) Число = Число + 10; Возврат Число; КонецФункции МоёЧисло = 5; НовыйРезультат = Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет: 15 Сообщить(НовыйРезультат); // Выведет: 15<p>Функция здесь не только возвращает НовыйРезультат через Возврат, но и напрямую изменяет исходную переменную МоёЧисло, так как параметр был передан по ссылке.</p>
36 Функция Увеличить(Число) Число = Число + 10; Возврат Число; КонецФункции МоёЧисло = 5; НовыйРезультат = Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет: 15 Сообщить(НовыйРезультат); // Выведет: 15<p>Функция здесь не только возвращает НовыйРезультат через Возврат, но и напрямую изменяет исходную переменную МоёЧисло, так как параметр был передан по ссылке.</p>
37 <p>Чтобы передать параметр по значению, нужно явно указать ключевое слово Знач перед именем параметра в объявлении процедуры или функции. В этом случае в процедуру попадёт копия значения, а исходная переменная останется без изменений.</p>
37 <p>Чтобы передать параметр по значению, нужно явно указать ключевое слово Знач перед именем параметра в объявлении процедуры или функции. В этом случае в процедуру попадёт копия значения, а исходная переменная останется без изменений.</p>
38 <p>Пример с процедурой:</p>
38 <p>Пример с процедурой:</p>
39 Процедура Увеличить(Знач Число) Число = Число + 1; КонецПроцедуры МоёЧисло = 5; Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет 5<p>Теперь переменная МоёЧисло осталась прежней, потому что внутри процедуры менялась только копия.</p>
39 Процедура Увеличить(Знач Число) Число = Число + 1; КонецПроцедуры МоёЧисло = 5; Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет 5<p>Теперь переменная МоёЧисло осталась прежней, потому что внутри процедуры менялась только копия.</p>
40 <p>Пример с функцией:</p>
40 <p>Пример с функцией:</p>
41 Функция Увеличить(Знач Число) Число = Число + 10; Возврат Число; КонецФункции МоёЧисло = 5; НовыйРезультат = Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет: 5 Сообщить(НовыйРезультат); // Выведет: 15<p>В некоторых процедурах-обработчиках в параметры передаётся специальная переменная Отказ. Её значение по умолчанию - Ложь. Если внутри обработчика присвоить ей Истина, выполнение процедуры будет прервано.</p>
41 Функция Увеличить(Знач Число) Число = Число + 10; Возврат Число; КонецФункции МоёЧисло = 5; НовыйРезультат = Увеличить(МоёЧисло); Сообщить(МоёЧисло); // Выведет: 5 Сообщить(НовыйРезультат); // Выведет: 15<p>В некоторых процедурах-обработчиках в параметры передаётся специальная переменная Отказ. Её значение по умолчанию - Ложь. Если внутри обработчика присвоить ей Истина, выполнение процедуры будет прервано.</p>
42 <p><strong>Пример:</strong></p>
42 <p><strong>Пример:</strong></p>
43 Процедура ПередЗаписью(Отказ, РежимЗаписи) Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда Сообщить("Нельзя проводить этот документ!"); Отказ = Истина; КонецЕсли; КонецПроцедуры<p>В этом примере документ не проводится, потому что параметр Отказ был установлен в Истина.</p>
43 Процедура ПередЗаписью(Отказ, РежимЗаписи) Если РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда Сообщить("Нельзя проводить этот документ!"); Отказ = Истина; КонецЕсли; КонецПроцедуры<p>В этом примере документ не проводится, потому что параметр Отказ был установлен в Истина.</p>
44 <p><strong>Имена параметров.</strong>Имя должно отражать назначение параметра и быть связано с предметной областью. Это помогает понимать код без дополнительных комментариев.</p>
44 <p><strong>Имена параметров.</strong>Имя должно отражать назначение параметра и быть связано с предметной областью. Это помогает понимать код без дополнительных комментариев.</p>
45 <p><strong>Использование параметров.</strong>Параметры должны располагаться в логической последовательности: сначала указываются основные (общие), а затем уточняющие.</p>
45 <p><strong>Использование параметров.</strong>Параметры должны располагаться в логической последовательности: сначала указываются основные (общие), а затем уточняющие.</p>
46 <p><strong>Неправильно:</strong></p>
46 <p><strong>Неправильно:</strong></p>
47 Процедура РассчитатьСуммуДокумента(ИмяПоляСумма, ДокументОбъект, СуммаВключаетНДС = Истина) Процедура ИзменитьЦветПоляФормы(Цвет, ИмяПоля, Форма)<p><strong>Правильно:</strong></p>
47 Процедура РассчитатьСуммуДокумента(ИмяПоляСумма, ДокументОбъект, СуммаВключаетНДС = Истина) Процедура ИзменитьЦветПоляФормы(Цвет, ИмяПоля, Форма)<p><strong>Правильно:</strong></p>
48 Процедура РасчитатьСумму Документа(ДокументОбъект, ИмяПоляСумма, СуммаВключаетНДС = Истина) Процедура ИзменитьЦветПоляФормы(Форма, ИмяПоля, Цвет)<p>Необязательные параметры должны располагаться после обязательных.</p>
48 Процедура РасчитатьСумму Документа(ДокументОбъект, ИмяПоляСумма, СуммаВключаетНДС = Истина) Процедура ИзменитьЦветПоляФормы(Форма, ИмяПоля, Цвет)<p>Необязательные параметры должны располагаться после обязательных.</p>
49 <p>Пример:</p>
49 <p>Пример:</p>
50 Функция РассчитатьСкидку(СуммаПокупки, ПроцентСкидки = 5) Возврат СуммаПокупки * (1 - ПроцентСкидки / 100); КонецФункции // Вызовы: РассчитатьСкидку(1000); // ПроцентСкидки = 5 (по умолчанию) РассчитатьСкидку(1000, 10); // ПроцентСкидки = 10<p>Не нужно перегружать функцию большим количеством параметров. Рекомендуется не более семи параметров, из них не более трёх - со значением по умолчанию, иначе вызовы становятся громоздкими и трудночитаемыми.</p>
50 Функция РассчитатьСкидку(СуммаПокупки, ПроцентСкидки = 5) Возврат СуммаПокупки * (1 - ПроцентСкидки / 100); КонецФункции // Вызовы: РассчитатьСкидку(1000); // ПроцентСкидки = 5 (по умолчанию) РассчитатьСкидку(1000, 10); // ПроцентСкидки = 10<p>Не нужно перегружать функцию большим количеством параметров. Рекомендуется не более семи параметров, из них не более трёх - со значением по умолчанию, иначе вызовы становятся громоздкими и трудночитаемыми.</p>
51 <p>Вместо длинных списков параметров лучше сгруппировать их в структуры или пересмотреть логику функции.</p>
51 <p>Вместо длинных списков параметров лучше сгруппировать их в структуры или пересмотреть логику функции.</p>
52 <p>Плохой пример: слишком много параметров:</p>
52 <p>Плохой пример: слишком много параметров:</p>
53 // Добавляет новый товар в документ Процедура ДобавитьТоварВДокумент(ДокументОбъект, КодТовара, Наименование, Количество, Цена, СтавкаНДС = 20, Скидка = 0, Валюта = "RUB", ЕдиницаИзмерения = "шт") // Громоздкий код КонецПроцедуры // Вызов функции выглядит запутанно: ДобавитьТоварВДокумент(Документ, "A123", "Монитор", 2, 15000, 20, 5, "USD", "шт");<p>Здесь девять параметров, причём четыре из них необязательные. При вызове легко запутаться.</p>
53 // Добавляет новый товар в документ Процедура ДобавитьТоварВДокумент(ДокументОбъект, КодТовара, Наименование, Количество, Цена, СтавкаНДС = 20, Скидка = 0, Валюта = "RUB", ЕдиницаИзмерения = "шт") // Громоздкий код КонецПроцедуры // Вызов функции выглядит запутанно: ДобавитьТоварВДокумент(Документ, "A123", "Монитор", 2, 15000, 20, 5, "USD", "шт");<p>Здесь девять параметров, причём четыре из них необязательные. При вызове легко запутаться.</p>
54 <p>Хороший пример: параметры сгруппированы в структуру</p>
54 <p>Хороший пример: параметры сгруппированы в структуру</p>
55 // Добавляет новый товар в документ Процедура ДобавитьТоварВДокумент(ДокументОбъект, ПараметрыТовара) // Работаем с переданной структурой КонецПроцедуры // Вызов: Параметры = Новый Структура; Параметры.Вставить("КодТовара", "A123"); Параметры.Вставить("Наименование", "Монитор"); Параметры.Вставить("Количество", 2); Параметры.Вставить("Цена", 15000); Параметры.Вставить("СтавкаНДС", 20); Параметры.Вставить("Скидка", 5); Параметры.Вставить("Валюта", "USD"); Параметры.Вставить("ЕдиницаИзмерения", "шт"); ДобавитьТоварВДокумент(Документ, Параметры);<p>В этом примере код читается лучше: видно, какой параметр чему соответствует, и порядок свойств не имеет значения. Если добавить новые параметры, код вызова почти не меняется.</p>
55 // Добавляет новый товар в документ Процедура ДобавитьТоварВДокумент(ДокументОбъект, ПараметрыТовара) // Работаем с переданной структурой КонецПроцедуры // Вызов: Параметры = Новый Структура; Параметры.Вставить("КодТовара", "A123"); Параметры.Вставить("Наименование", "Монитор"); Параметры.Вставить("Количество", 2); Параметры.Вставить("Цена", 15000); Параметры.Вставить("СтавкаНДС", 20); Параметры.Вставить("Скидка", 5); Параметры.Вставить("Валюта", "USD"); Параметры.Вставить("ЕдиницаИзмерения", "шт"); ДобавитьТоварВДокумент(Документ, Параметры);<p>В этом примере код читается лучше: видно, какой параметр чему соответствует, и порядок свойств не имеет значения. Если добавить новые параметры, код вызова почти не меняется.</p>
56 <p>Процедуры и функции - это основные строительные блоки логики приложения 1С. Они структурируют код, сокращают дублирование и управляют бизнес-процессами.</p>
56 <p>Процедуры и функции - это основные строительные блоки логики приложения 1С. Они структурируют код, сокращают дублирование и управляют бизнес-процессами.</p>
57 <p>Процедуры используются, когда нужно выполнить обработку данных (проведение документа, расчёт итогов), изменить интерфейс (скрыть или показать элементы формы, вывести сообщение пользователю), управлять последовательностью шагов бизнес-логики.</p>
57 <p>Процедуры используются, когда нужно выполнить обработку данных (проведение документа, расчёт итогов), изменить интерфейс (скрыть или показать элементы формы, вывести сообщение пользователю), управлять последовательностью шагов бизнес-логики.</p>
58 <p>Например:</p>
58 <p>Например:</p>
59 Процедура ПровестиДокумент() ПроверитьДанные(); ЗаписатьПроводки(); Сообщить("Документ проведён успешно!"); КонецПроцедуры<p>Функции используются, когда нужно вычислить и вернуть результат (сумму, количество, дату, строку) или оформить часть логики в отдельный модуль для повторного использования.</p>
59 Процедура ПровестиДокумент() ПроверитьДанные(); ЗаписатьПроводки(); Сообщить("Документ проведён успешно!"); КонецПроцедуры<p>Функции используются, когда нужно вычислить и вернуть результат (сумму, количество, дату, строку) или оформить часть логики в отдельный модуль для повторного использования.</p>
60 Функция РассчитатьСуммуСоСкидкой(Сумма, Скидка) Возврат Сумма * (100 - Скидка) / 100; КонецФункции<p><strong>В модулях объектов (Документ, Справочник, Регистр):</strong></p>
60 Функция РассчитатьСуммуСоСкидкой(Сумма, Скидка) Возврат Сумма * (100 - Скидка) / 100; КонецФункции<p><strong>В модулях объектов (Документ, Справочник, Регистр):</strong></p>
61 <ul><li>проведение документов;</li>
61 <ul><li>проведение документов;</li>
62 <li>проверка данных при записи;</li>
62 <li>проверка данных при записи;</li>
63 <li>расчёт регламентных показателей.</li>
63 <li>расчёт регламентных показателей.</li>
64 </ul><p><strong>В модулях форм:</strong></p>
64 </ul><p><strong>В модулях форм:</strong></p>
65 <ul><li>обработка событий интерфейса (нажатие кнопки, изменение реквизита);</li>
65 <ul><li>обработка событий интерфейса (нажатие кнопки, изменение реквизита);</li>
66 <li>вызов серверных процедур для работы с базой;</li>
66 <li>вызов серверных процедур для работы с базой;</li>
67 <li>заполнение табличных частей и управляемых элементов.</li>
67 <li>заполнение табличных частей и управляемых элементов.</li>
68 </ul><p><strong>В общих модулях:</strong></p>
68 </ul><p><strong>В общих модулях:</strong></p>
69 <ul><li>хранение универсальных функций, доступных разным объектам (например, функция округления сумм, работа с датами).</li>
69 <ul><li>хранение универсальных функций, доступных разным объектам (например, функция округления сумм, работа с датами).</li>
70 </ul><p>Чтобы просмотреть список процедур и функций текущего модуля, нужно нажать на кнопку с изображением лупы и подписью Proc или использовать сочетание клавиш<strong>Ctrl + Alt + P</strong>. Откроется окно навигации, в котором можно выбрать нужную процедуру или функцию и перейти к её коду.</p>
70 </ul><p>Чтобы просмотреть список процедур и функций текущего модуля, нужно нажать на кнопку с изображением лупы и подписью Proc или использовать сочетание клавиш<strong>Ctrl + Alt + P</strong>. Откроется окно навигации, в котором можно выбрать нужную процедуру или функцию и перейти к её коду.</p>
71 <em>Скриншот: "1С: Предприятие" / Skillbox Media</em><p>По умолчанию элементы отображаются так, как они расположены в модуле. Список можно отсортировать по алфавиту, установив флажок Сортировка.</p>
71 <em>Скриншот: "1С: Предприятие" / Skillbox Media</em><p>По умолчанию элементы отображаются так, как они расположены в модуле. Список можно отсортировать по алфавиту, установив флажок Сортировка.</p>
72 <p>Кроме процедур и функций, в списке для каждого модуля отображаются стандартные обработчики, например ПриОткрытии (), ПриЗакрытии (), ПриЗаписиНаСервере (), набор которых различается для разных элементов. Если дважды щёлкнуть по выбранному обработчику, в модуле автоматически создастся заготовка соответствующей процедуры - обработчика события.</p>
72 <p>Кроме процедур и функций, в списке для каждого модуля отображаются стандартные обработчики, например ПриОткрытии (), ПриЗакрытии (), ПриЗаписиНаСервере (), набор которых различается для разных элементов. Если дважды щёлкнуть по выбранному обработчику, в модуле автоматически создастся заготовка соответствующей процедуры - обработчика события.</p>
73 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
73 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>