События в ИБ
15.07.2013 10:27
#
Добрый день.
Настроили события в И-Б на ввод редактирование и удаление записей в журнале хоз операций, для того, чтобы ограничивать ввод данных в ранние периоды (пользователей > 30).
Столкнулись с ситуацией, что, если создавать проводки в формулах (в частности в функции), то события не отрабатывают.
Есть ли выход из ситуации? или действительно события отрабатываются только при стандартном способе создания операций (т.е. через журнал).
Тогда не совсем понятен смысл в этих событиях.
Возможно в И-Б есть штатные способы ограничить ввод данных в периоде?
Спасибо.
- 42 просмотра
Это было бы возможно сделать, если бы потом проводка не отображалась для редактирования пользователю. Т.е. выполняются какие-то расчеты - формируется проводка и выводится на экран, чтобы пользователь мог поменять там что-то, в том числе и дату. Но при сохранении не срабатывают события ИБ.
Вот и получается что вроде как события могу работать, но только в случае ручного ввода всех операций и проводок, но это как-то не правильно получается.
Все еще актуально.
Сотрудники Инфо-бухгалтера могут прокомментировать данную проблему?
Или мы что-то неправильно делаем?
Или события толком не работают и не имеет смысла на них надеяться?
Разработчик ответит в сентябре
Спасибо, буду ждать.
Ваша проблема понятна.
Предлагаю сделать вызов событий "Диалог добавления операции" и "Добавление операции" для автоматического добавления операции из языка.
Т.е. добавления в результате использования операторов ПРОВОДКА и ЗАП_ОПЕР.
А как это можно сделать?
Мы сами каким-то образом можем привязать события к вызову этих функций?
Или имеется ввиду, что выполнение данных функций способствует вызову обработчиков?
Но вот данная функция не вызывает обработчики? Есть ли возможность что-то изменить?
ФУНКЦИЯ CopyOp(ТИП_ЧИСЛО: Ном)
СОЗДАТЬ(ОП, ТИП_ОПЕРАЦИЯ)
ОП=ОПЕР_СЧИТАТЬ(Ном)
н1=ОП.НАЗВ1
н2=ОП.НАЗВ2
н3=ОП.НАЗВ3
Док=ОП.документ
д1=ДАТА_ТЕК
ЦИКЛ ДЛЯ (пр=1, ОПЕР_ПРОВ(Ном))
пров=ОП.ПРОВ(пр)
Д=пров.дебет
К=пров.кредит
Кол=пров.количество
Сум=пров.сумма
ПРОВОДКА(Д,К,Сум, Кол, Док,д1, РАБ_МЕСТО, н1)//, н2, н3)
КОНЕЦ_ЦИКЛА
ЗАП_ОПЕР
CopyOp=ДА
КОНЕЦ_ФУНКЦИИ
В такой функции ЗАП_ОПЕР вызывает диалог редактирования новой хоз. операции, где пользователь может ее поменять.
Сейчас здесь никаких событий не вызывается.
Я предлагаю вызывать событие "Добавление операции" после того, как пользователь нажал в диалоге ОК.
Тогда в функцию-обработчик придет номер вновь добавленной операции, ее можно считать, проверить, даже удалить при необходимости.
Если диалог не нужен зовем ЗАП_ОПЕР! и событие генерироваться не будет, т.к. у пользователя не будет шанса изменить операцию перед добавлением.
P.S. Событие "Диалог добавления операции" в таком сценарии не применимо.
А как вызвать событие после вызова функции ЗАП_ОПЕР?
Просто вызвать как функцию?
и система сама поймет что это событие для для последней операции?
И передаст туда номер?
Его вызовет платформа с номером 8.717.