Контроль оплаты по договору

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

Для контроля оплаты нам нужны всего две суммы — сумма договора и сумма платежей по данному договору. Получить эти суммы не составит никакого труда. Создадим общий модуль, в который поместим функции расчета вышеуказанных сумм. Почему общий модуль? Соображения просты — при обновлении конфигурации c ним ничего не случится. Если мы поместим эти функции в модуль объекта «Заявка на кассовый расход» (ЗКР), то при обновлении нужно будет предпринимать дополнительные действия, чтобы не потерять их.

Итак, создаем общий модуль, в нашем примере он называется EventProc. Вставляем в него следующие функции:

для получения суммы договора:

Сумма договора

добавляем функцию для суммы платежей по договору:

Сумма оплаты

И наконец, вставляем процедуру(обработчик события), которая будет выдавать предупреждающее сообщение, если сумма оплаты превысит сумму договора:

 Проверка суммы оплаты

Теперь привяжем эту процедуру из модуля EventProc к  какому либо событию в документе «Заявка на кассовый расход». В нашем случае это будет событие «ПриЗаписи». Для выполнения привязки создадим новый объект в ветке конфигуратора «Подписки на события» и назовем его — «ПриЗаписиЗКР». При помощи этого объекта («ПриЗаписиЗКР») cвяжем событие «ПриЗаписи» документа «Заявка на кассовый расход» с процедурой CheckOplDog из модуля EventProc как показано ниже:

 Привязка

В итоге, путем несложных манипуляций мы связали событие «ПриЗаписи» документа «Заявка на кассовый расход»  с нашей процедурой CheckOplDog в общем модуле EventProc, т.е. назначили нашу процедуру обработчиком события «ПриЗаписи»  документа ЗКР. Теперь при нажатии кнопки «Записать» или «ОК» (ввод/редактирование документа ЗКР), пользователь получит предупреждающее сообщение, если сумма платежей по договору, указанному в качестве документа-основания платежа, превысит сумму этого договора.

В примере использовалась платформа — 1С:Предприятие 8.2 (8.2.14.537) , конфигурация — Бухгалтерия государственного учреждения, редакция 1.0 (1.0.6.3) .

 

 

 

 

5 Comments

  1. AlexZOne

    Идея полезная, но требует доработок, т.к. сумма платежа может вводиться и изменяться разными видами документов. Спасибо 😉

    Reply
  2. marina64

    Спасибо автору за пример практического применения ПодпискиНаСобытия.

    Reply
  3. Nordkas

    сделал все по инструкции, не видит значение переменных. (

    Reply
  4. Nordkas

    Может автор за скромное вознаграждение поможет?

    Reply
  5. slimper

    (4) Nordkas, если вы еще не разобрались, во вложении модуль EventProc.

    Reply

Leave a Comment

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