Как создать общие модули 1с

Общие модули 1с Как создать. Сегодня разберемся с общими модулями что это такое зачем они нужны и как ими пользоваться. В общий модуль можно вынести функции, которые используются в нескольких документах. Например, расчёт суммы в табличной части документа.

Для примера возьмем нашу старую конфигурацию, которую я использовал в предыдущих статьях. У нас в ней есть два документа это Приход Товара на склад и Отпуск товара на склад. В обоих документах есть процедуры, которые рассчитывают сумму в строке табличной части.

В каждом документе написан один и тот же код для расчёта суммы.

Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры

Вот сегодня перенесем его в Общие модули 1с, а из документа будем вызывать его.

Создаём общий модуль для расчета суммы

И так начнем для начала нужно создать общий модуль. Для этого заходим в конфигуратор ищем пункт Общие модули кликаем правой кнопкой и добавляем новы пишем имя РаботаСДокументами. Вписываем в него следующих код.

Процедура Рассчитать Сумму (Строка Табличной Части) Экспорт
Строка Табличной Части. Сумма = Строка Табличной Части.Количество * Строка Табличной Части. Цена;
Конец Процедуры

общие модули

Так же обязательно поставьте в окне свойств галочки напротив Клиент(Управляемое приложение) и Сервер.

Теперь нужно немного изменить код в модуле формы документов. Слева в конфигурации ищем документ Приход товара разворачиваем окна до окна Формы кликаем два раза на Форма Документа и в открывшемся окне формы снизу переходим на вкладку Модуль. У нас есть вот такой код

А это процедура начинает работать при изменении Цены в табличной части документа Приход товара и рассчитывает сумму.

& На Клиенте
Процедура Материалы Цена При Изменении (Элемент)
Строка Табличной Части = Элементы. Материалы. Текущие Данные;
Строка Табличной Части. Сумма = Строка Табличной Части.Количество * Строка Табличной Части. Цена;
Конец Процедуры

функции общего модуля

Заменяем его на этот

& На Клиенте
Процедура Материалы Количество При Изменении(Элемент)
Строка Табличной Части = Элементы. Материалы. Текущие Данные;
РаботаСДокументами.РассчитатьСумму (Строка Табличной Части);
Конец Процедуры
&На Клиенте
Процедура Материалы Цена При Изменении(Элемент)
Строка Табличной Части = Элементы. Материалы. Текущие Данные;
Работа С Документами. Рассчитать Сумму (Строка Табличной Части);
Конец Процедуры

общий модуль 1с 8.3

Как вы заметили меняется только одна строчка на первый взгляд может показаться что одну строчку заменили на другую. Но не забывайте, что это пример. На самом деле количество кода может быть намного больше если вы, например, производили расчёты по сложной формуле в этом случае код заметно сократиться.

Тоже самое делаем для документа Отпуск товара со склада, запускаем и проверяем работоспособность кода. Вот мы с вами и сделали первый общий модуль надеюсь кому-то пригодится моя статья.

Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.

Ссылка на основную публикацию