Механизм хозяйственных операций позволяет создавать произвольные проводки для документов, вместо проводок, предусмотренных в поставляемой конфигурации.
В отличие от механизма трансляции, который уже готовые проводки из одного журнала проводок транслирует в другой журнал проводок по определенным правилам.
Ограничение: проводки документа могут производиться только по тем регистрам, которые перечислены на закладке «Движения» в конфигурации структуры документа.
Рассмотрим пример. Допустим, в документе «Поступление товаров и услуг» для каждой строки табличной части «Услуги» необходимо сумму разделить поровну на две проводки в «Журнал проводок (международный)». Счета для проводок приведены в таблице.
1. Подготовка функции
Для того, чтобы рассчитать сумму операции, нам необходимо заранее создать функцию.
Например «ПроцентОтСуммы» и, в дальнейшем, передать ей два параметра: Процент и Сумма.
Для работы с механизмом хозяйственных операций в главном меню предусмотрен пункт «МХО».
Выберем пункт подменю «Пользовательские функции» из пункта главного меню «МХО».
И создадим новую функцию с двумя параметрами, как показано на картинке.
2. Создание шаблона
Первый этап на пути к решению задачи – это подготовка шаблона.
Для этого выберем пункт подменю «Шаблоны движений» из пункта «МХО» главного меню и создадим новый шаблон.
При нажатии на кнопку командной панели (создать новый элемент), система предлагает выбрать регистр, по которому будут генерироваться движения документа.
В нашем случае мы выбираем «Журнал проводок (международный)».
В форме нового шаблона в поле «Вид документа» выбираем вид документа «Поступление товаров и услуг».
На закладке «Шаблон движений» будем описывать наши проводки в «Журнал проводок (международный)». Каждая строка соответствует одной проводке. Для того, чтобы форма заполнения была удобной необходимо воспользоваться пунктом подменю «Структура конструктора движений» из пункта главного меню «МХО».
Добавляем новую строку в таблицу на закладке «Шаблон движений» .Значение реквизита проводки «Организация» возьмём из шапки документа. Для этого в поле колонки «Организация» нажимаем кнопку выбора.
В появившейся форме выбираем «Реквизиты документа / Организация».
По такой же схеме выбираем значение для поля «Период» - «Реквизиты документа / Дата».
Далее определим табличную часть документа, которую будем использовать в проводке.
Для этого в поле «Таблица» нажимаем кнопку выбора и, в появившейся форме выбора, нажимаем кнопку выпадающего списка.
В списке выбираем название табличной части «Услуги»
В поле «Счет Дт» выбираем Счет «8015», как показано на картинке.
Точно также выбираем Счет «5091» в поле «Счет Кт».
Теперь определимся с полем «Сумма регл.». Для расчета значения поля будем использовать функцию «ПроцентОтСуммы» созданную нами в пункте 1. Для подстановки параметров в функцию будем использовать два способа. Нажмём кнопку выбора в поле «Сумма регл.» и в появившейся форме установим курсор на строку «up_Процент». При выборе этой строки появляется форма «Конструктора значений реквизитов», в которой мы выбираем «Фиксированное значение / 50» и нажимаем кнопку «Выбрать».
Затем, в оставшейся форме «Конструктор значений реквизитов», выбираем строку «ПроцентОтСуммы()».
В поле реквизита «Сумма регл.» появилась строка обращения к функции «#П.ПроцентОтСуммы( 50, )» с одним незаполненным параметром.
Для того, чтобы вставить второй параметр, двойным «кликом» в поле колонки «Сумма регл.» перейдем в режим редактирования и, в качестве второго параметра функции вставим строку «мхо_СтрокаТаблицы.Сумма».
Необходимые данные для первой проводки введены. Для создания второй проводки
добавим ещё одну строку в табличной части и проделаем ту же операцию, только в поле «Счет Дт» выбираем Счет «8017».
Сохраним элемент, нажав кнопку «Записать». Для того, чтобы посмотреть откомпилированный код нужно нажать кнопку и, в появившемся списке, выберем значение «Таблица»,
Нажав кнопку можно просмотреть результаты компиляции в отдельной форме.
Откомпилированный код не подлежит редактированию.
На закладке «Алгоритмы» есть дополнительная возможность изменения текста кода.
3. Включение шаблона в комплекты движений
Следующим этапом необходимо включить подготовленный шаблон в Комплекты движений.
Для этого воспользуемся пунктом подменю «Комплекты движений» из пункта главного меню «МХО».
Создаём новый элемент справочника «Комплекты движений» и заполняем реквизиты.
«Вид документа.» - «Поступление товаров и услуг»
При выборе значения реквизита «Статус», не обходимо выбрать значение «Утверждён»
и, в появившейся форме установить дату утверждения.
В табличной части «Проводки» добавляем новую строку и в поле «Шаблон движений» выбираем шаблон, созданный нами в пункте 2.
4. Активизация шаблона
Последним этапом процесса подключения механизма хозяйственных операций является активизация шаблонов.
Выберем пункт подменю «Установка активных комплектов движений» из пункта «МХО» главного меню и создадим новый документ.
В документе необходимо установить период действия шаблонов. Если реквизит «Организация» не заполнен, то действия шаблонов будут распространяться на все организации. Добавим новую строку в табличной части «Комплекты движений», в поле «Вид документа» выбираем «Поступление товаров и услуг», в поле «Комплект» выбираем комплект, подготовленный в пункте 3. Обязательно ставим дату в поле «Дата начала».
Проводим документ.
Процесс подключения механизма хозяйственных операций к документу «Поступление товаров и услуг» завершен.
5. Получение результата
Проведем документ, взятый в качестве примера, и посмотрим результат.