Як використовувати загальні модулі 1С приклад

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

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

У кожному документі написано один і той же код для розрахунку суми.

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

Ось сьогодні перенесемо його в загальний модуль, а з документа будемо викликати його.

Створюємо загальний модуль для розрахунку суми

І так почнемо для початку потрібно створити загальний модуль. Для цього заходимо в конфігуратор шукаємо пункт Загальні модулі натискаємо правою кнопкою і додаємо нові пишемо ім’я РаботаСДокументамі. Вписуємо в нього наступних код.

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

Так само обов’язково поставте у вікні властивостей галочки навпроти Клієнт (Кероване додаток) і Сервер.

Тепер потрібно трохи змінити код в модулі форми документів. Зліва в конфігурації шукаємо документ Прихід товару розгортаємо вікна до вікна Форми натискаємо два рази на Форма Документа і у вікні, форми знизу переходимо на вкладку Модуль. У нас є ось такий код

Ця процедура працює при зміна Кількості в табличній частині документа Прихід товару і підраховує суму.

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

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

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

Замінюємо його на цей

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

Як ви помітили змінюється тільки одна строчка на перший погляд може здатися що одну сходинку замінили на іншу. Але не забувайте, що це приклад. Насправді кількість коду може бути набагато більше якщо ви, наприклад, виробляли розрахунки за складною формулою в цьому випадку код помітно скоротитися.

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

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

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