0

Общие модули 1С

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

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

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

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

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

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

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

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

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

общие модули

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

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

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

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

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

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

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

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

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

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

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

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

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





Admin

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*