Пример детектора бизнес события

Добрый день! Внедряем 1с документооборот 2.0 корп. Возникла необходимость: пользователь отправляет письмо на почтовый ящик (создали отдельный, завели учетку в Документообороте, письма получить можно). при получении письма автоматически стартует БП, состоящий из уведомления и поручения? И как реализовать старт при получении письма?

#1 by AceVi

И в чем проблема то? Я делал такой функционал, правда стандартную конфу чуть дописывал(хотя мог бы и полностью весь функционал в отдельный(свой) модуль вынести, просто скопировал бы кусок стандартного). Делаешь рег задание которое каждые 10 минут читает почту. почту читать 1С умеет. сделай для письма какие либо обязательные символы(например — самые 3 ервых символа это управляющий код для создания того или иного задания) и обяжи пользователей их проставлять. или даже проще — все письма которые приходят на конкретный почтовый адрес — преобразуються в задачи в 1С. Ты проблему уточни, что конкретно не знаешь как делать.

#2 by Strelolga

13 Бизнес события — отрывок из самоучителя 1С:Документооборот

Ну вот получила я почту. Есть кнопку — создать входящий документ. Создала шаблон входящего документа — Письмо. Я хочу чтобы, когда приходит письмо на конкретный адрес, стартовался БП, состоящий из 1ой функции: поручение отдела бухгалтерии ввести нового контрагента в программу и все. Про рег задания я поняла — рег заданием создаю из письма документ входящий. так?

#3 by vde69

не стоит поручать почте то, что ДОЛЖЕН делать юзер . Пусть заходят в документооборот и делают нормальный БП. все эти «управление через почту» вылезает боком хотя-бы по причине глюков почты (не дошло, или дошло несколько раз, или на него ответили) почту можно использовать только для получения уведомлений но никак не для управления.

#4 by AceVi

сначала напиши полный круг задач которые будут запускаться из писем, а потом пронумеруй их. Например : СОздание контрагента — 001, Оплата счета — 002 и т.д. — и сделай что бы этот номер был обязательно первые 3 символа в письме. иначе письмо не будет зарегестрировано в 1С как задача. Вот у тебя теперь есть четкое понимание для какой задачи письмо. Потом создавай на каждую задачу шаблон. и когда приходит письмо с тем или иным кодом создаешь задачу и заполняешь ее по соответсвующему шаблону(там есть стандартные функции для этого)

#5 by AceVi

ага, я 100 раз говорил это людям — но собственники хотят только так и никак иначе(например в моем случае согласовывать любые счета только через почту не заходя в 1С).

#6 by vde69

это не возможно. если хотят не залазить в 1с, то есть 2 варианта 1. завести для них секретуток, которые будут за них в 1с работать 2. сделать для них отдельную WEB морду (можно даже похожую на почту) и пусть хоть с телефона согласуют

#7 by AceVi

Очень даже возможно — я же сделал(причем там целая цепочка задач). Просто у пользователя всегда перед глазами в нужный момент напоминалка(например формат не подходит — 1с в ответном письме спрашивает и уточняет задание — например говорит — возможно вы имелли ввиду задачу «Завести контрагента — 001» и пользователь уже точно пришлет верное письмо. 1. Дорого — деньги — зачем? если можно условиться о паре значений и определенных форм письма. 2. предлагал — не хотят — хотят с помощью своей почты управлять согласованием и другими процессами.

Бизнес-события — Настройка и администрирование «1С:Документооборот» — 1С:Учебный центр №1

#8 by vde69

создание БП — это транзакция, почта не имеет к транзакциям никакого отношения, она не может отслеживать получение письма в целостности. конечно тут как говорится на цвет и вкус все фломастеры разные, но задай им вопрос «почему клиент банки на почте не делают. «

#9 by Strelolga

Потом создавай на каждую задачу шаблон. и когда приходит письмо с тем или иным кодом создаешь задачу и заполняешь ее по соответсвующему шаблону(там есть стандартные функции для этого) Создала шаблон вх документа — письмо создала шаблон БП — согласование заявок на заведение контрагента как создать задачу, если пришло письмо с заданным кодом? (через регламентное задание?)

#10 by AceVi

Потому что безопастность? Структурированные данные? А так у меня к нескольким банкам к их выгрузке в 1С пара вопросов. не соблюдают они формат и обязательные поля) Для управления процессами этого не требуется.

#11 by vde69

клиент банк — это и есть запуск БП по расходованию текущих ресурсов (денег). БП в документообороте ничем не отличается от заявки в клиент банке, только он расходует обычно не деньги а время, что в общем случае то же деньги.

Читайте также:  Что такое транспортный бизнес

#12 by Cyberhawk

Старт заявок (БП) по входящему письму — нормальная практика, много где такое видел, в т.ч. и у себя на одном из фиксов

#13 by vde69

+ и даже урон компания может получить очень неслабый, например: стартанули БП «оплатить НДС на сумму 1000тр», у тебя шаблон распознал как 1000 руб (а не лям что было в письме), в результате оплатят только 1/10 налога и кто будет виноват? начальник — у меня в письме 1000тыр исполнитель — в БП 1000 руб программист (доставая вазелин) — ну я не досмотрел.

#14 by Карупян
Такую умную систему никто и не предлагает
#15 by Карупян
Старт БП — это не есть старт автоматической обработки данных
#16 by vde69

уверяю тебя как только запускают на простых, следом идут более сложные задачи. в сабже есть АРХИТЕКТУРНЫЙ косяк который обязательно выскочит и больно ударит.

#17 by vde69
ответственность за корректность данных в БП на ком.
#18 by Карупян

По идее должно быть так. Кинули письмо» Оплатить НДС ххх руб. Стартовал БП Ответственный получил уведомление и сформировал платежку

#19 by Карупян
Примерный аналог, что нач кинул письмо непосредственно исполнителю
#20 by AceVi

Может все таки ВнутреннийДокумент(и создать вид для него ЭлектронноеПисьмо). а не входящий? Сейчас уже под рукой нет базы документооборота. Уточни вопрос — что значит КАК создать? как прочитать письмо? как распознать какое задание создавать из него? как получиться шаблон? как на основании шаблона создать задачу? Ты слишком заморачиваешься — просто договариваешься — вот шаблон письма все что не подходит под шаблон я ответсвенности не несу и все. Да есть косяк — но его точно так же можно обойти и свести к минимуму, проблем с этим нет. просто четко налаженный бизнес процесс.

#21 by vde69

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

#22 by vde69
просто я в банке работал 🙂
#23 by Карупян
И поэтому любой БП — это списание и выдача бабла )))
#24 by AceVi

Аха, пальцем в небо. я делал уже 2 раза автоматическую загрузку банковских выписок. По анализу НазначенияПлатежа. с логами всех действий робота. и все что делает в конце пользователь просто сверяет обороты и все. Есть расхождения копается — нет, его работа закончена. все работает, работу пользователя уменьшили на 90%. Просто грамотно поставили процесс контроля и все — ошибок при загрузке не пропускаются. Согласись контролировать только ошибки легче чем контролировать загрузку каждого файла и документа в нем.

#25 by Strelolga

Я думала. что письма — это входящие документы. Есть обработка — загрузка почты. Там вижу письмо. Внизу есть кнопка -создать внутр документ (вход / исход). по этой кнопке создается документ по заданному шаблону. Создала шаблон БП, привязала его к шаблону документа.

При создании документа «Заявка» стартуется БП. 1. Видимо, мне необходимо через рек задание сделать нажатие кнопки «создать документ»? 2. В таком случае в базе будут хранится внутренние документы по заведению контрагентов. Можно ли просто хранить письма, как письма а не документы (внтр/вход) и при этом автоматизировать старт БП?

#26 by AceVi

Надо делать не так. не надо хранить письма как документы базы документооборот. Просто рег заданием читаешь почту и запоминаешь только одно — обработала ты это письмо или нет. Сам текст письма копируешь в описание бизнес процесса и все. Следовательно создавать нужно только бизнес процессы на основании шаблона.

#27 by spock
смотри про детекторы бизнес-событий. Настраивается это.
#28 by Strelolga

пишу регламентную обработку, которая стартует бизнес-процесс приема заявок через электронные письма. Не могу добавить в предмет бизнес-процесса письмо. В шаблоне указала. что основной предмет — письмо (Тип — входящее письмо)

#29 by Strelolga

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

Читайте также:  Бизнес центр в Алматы будет

#30 by Strelolga
перейти с легкой почты на встроенную?
#31 by AceVi

А код в 29 ты скопировала из стандартной обработки? Просто я помню у меня таких проблем не было. просто скопировал часть кода который читает письма из стандартной обработки и все. И то мне так пришлось делать потому что стандартная обработка завязана на код который выполняется на клиенте(а рег задание выполнятся только на сервере).

#32 by Strelolga

Разобралась. Заработало. Код писала сама. теперь хочу понять как детекторы событий сделать, чтобы не регламентной обработкой. Не могу понять пока.

#33 by Strelolga

Как работать с детекторами событий? Вот например создаю детектор: появление письма заявки: А в дополнительном обработчике бизнес-событий что то вроде: подключиться к почту, прочитать почту, для каждого письма создать БП, отослать письмо-ответ. удалить письмо-заявку (БП уже стартован, письмо скопировано в описание БП) Вопросы: 1. если детекторы запускаются раз в минуту, а обработчик не успеет обработать все письма за минуту, не возникнет конфликтов? или повторной обработки писем 2. как в дополнительном обработчике из одной функции вызвать другую?

#34 by AceVi

1. Я тебе говорил — как либо запоминай письма которые отработаны(либо заведи регистр(где, например, учитывай по отправителю и дата_Время письма), либо у письма есть признак Прочитано, либо удаляй загруженные письма с сервера почты). 2. Не понял вопроса. приведи пример текста.

#35 by AceVi

Детекторы событий — ты поясни что ты имеешь ввиду? появление письма на почте? никак — только периодическое чтение почты рег. заданием.

#36 by Strelolga

Детекторы — типовой функционал документооборота. Доп обработчики событий привязываются к детекторам. так вот. там пишется код.. что то вроде БП.Наименование = «Поручение: Обработать заявку на ввод нового контрагента » + письмо.тема;

#37 by Strelolga

Так вот такой обработчик событий на срабатывает. БП не стартуется, письмо ответ не высылается. Через рег задание работает.

#38 by AceVi

Так давай последовательно. Мы говорим о детекторе событий. Тот текст что ты привела — это не детектор событий — это то что должно произойти когда детектор уже сработает. Давай разбираться с самим детектором. Детектор Это регистр сведений когда записываються определенные шаги бизнес процессов и задач(создание, заверешение конкретной задачи, завершение бизнес процесса и т.д.).

В документообороте есть обычное рег. задание которое с определенной периодичностью(по умолчанию вроде 5 минут) проверяет этот регистр и в процедуре обработки этого рег задания описано как реагировать на ту или иную запись в регистре(например старб БП после завершения другого или старт БП сразу после создания внутреннего документа и т.д.) Что конкретно ты хочешь от детектора событий? потому что там запрограммированы определенные действия(причем как на мой вкус механизм очень куцый, хотя на нем можно развернуться там мощно что можно будет в пользовательском режиме задавать цепочки бизнес процессов.

#39 by turbosuslic

А как в ДО 2.0 в детекторе событий обратиться к самому событию? Видел пример кода на ДО 1.4 там было так: Задача = Событие.Источник в 2.0 это не работает, начинает ругаться на Событие. Кто-нибудь сталкивался с таким?

#40 by AceVi

Что значит обратиться? Выполнить его(т.е. записать информацию в Регистр Сведений) или прочитать регистр? Все события хранятся в регистре сведений(не помню уже как называться) вот от туда и получай.

#41 by turbosuslic

Я имею ввиду то, что мне нужно настроить детектор события, например с видом «Завершение процесса». Так вот, в момент завершения какого-либо процесса будет стартовать этот детектор, в этот момент в самом детекторе мне нужно отследить сам бизнес-процесс, который был сейчас заверешен, чтобы дальше с ним работать. В 1.4 был такой пример: но в 2.0 он не срабатывает, ругается: Переменная не определена (Событие). Задача = >Событие.Источник Вот мне и нужно узнать, как в 2.0 обраться из детектора события к произошедшему бизнес-процессу или событию.

#42 by AceVi

Я тебя не пойму) Переменная не определена (Событие). Задача = >Событие.Источник Ну так определи событие) или ты думаешь что событие это реквизит бизнес процесса? Событие — это запись регистра сведений — ну получи нужную запись и бери от туда источник.

#43 by AceVi

Если вопрос звучит — как отследить завершение той или иной задачиБП — то стандартный механизм подразумевает чтение РС по событиям раз в 5-10 минут и обработка новых записей(у регистр есть реквизит отработана запись или нет)

Источник: avprog.ru

1С:Документооборот 2.1. Урок 23. Детекторы.

Переходим в подсистему «Настройка и администрирование» — «Детекторы».

Читайте также:  Налог на игорный бизнес список литературы

Нажимаем на кнопку «Создать».

Заполняем обязательные поля (они выделены красным цветом).

Указываем наименование и вид события.

Нажимаем на кнопку «Записать и закрыть».

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

Страна Австралия Австрия Азербайджан Албания Алжир Ангола Андорра Антигуа и Барбуда Аргентина Армения Афганистан Багамы Бангладеш Барбадос Бахрейн Белоруссия Белиз Бельгия Бенин Болгария Боливия Босния и Герцеговина Ботсвана Бразилия Бруней Буркина-Фасо Бурунди Бутан Вануату Великобритания Венгрия Венесуэла Восточный Тимор Вьетнам Габон Гаити Гайана Гамбия Гана Гватемала Гвинея Гвинея-Бисау Германия Гондурас Гренада Греция Грузия Дания Джибути Доминика Доминикана Египет Замбия Зимбабве Израиль Индия Индонезия Иордания Ирак Иран Ирландия Исландия Испания Италия Йемен Кабо-Верде Казахстан Камбоджа Камерун Канада Катар Кения Кипр Киргизия Кирибати Китай Колумбия Коморы Конго ДР Конго КНДР Корея Коста-Рика Кот-д’Ивуар Куба Кувейт Лаос Латвия Лесото Либерия Ливан Ливия Литва Лихтенштейн Люксембург Маврикий Мавритания Мадагаскар Малави Малайзия Мали Мальдивы Мальта Марокко Маршалловы Острова Мексика Мозамбик Молдавия Монако Монголия Мьянма Намибия Науру Непал Нигер Нигерия Нидерланды Никарагуа Новая Зеландия Норвегия ОАЭ Оман Пакистан Палау Панама Папуа — Новая Гвинея Парагвай Перу Польша Португалия Россия Руанда Румыния Сальвадор Самоа Сан-Марино Сан-Томе и Принсипи Саудовская Аравия Северная Македония Сейшелы Сенегал Сент-Винсент и Гренадины Сент-Китс и Невис Сент-Люсия Сербия Сингапур Сирия Словакия Словения США Соломоновы Острова Сомали Судан Суринам Сьерра-Леоне Таджикистан Таиланд Танзания Того Тонга Тринидад и Тобаго Тувалу Тунис Туркмения Турция Уганда Узбекистан Украина Уругвай Микронезия Фиджи Филиппины Финляндия Франция Хорватия ЦАР Чад Черногория Чехия Чили Швейцария Швеция Шри-Ланка Эквадор Экваториальная Гвинея Эритрея Эсватини Эстония Эфиопия ЮАР Южный Судан Ямайка Япония

Источник: aventa-group.ru

Отладчик пользовательских дополнительных обработчиков бизнес-событий в 1С:Документооборот версии 2.1.7.9

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

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

Расскажу коротко о принципе работы отладчика. В 1С:Документооборот имеется РегистрСведений.ПроизошедшиеБизнесСобытия. Туда 1С:Документооборот пишет все произошедшие бизнес-события в виде очереди. Эта очередь обрабатывается предопределенным регламентным заданием ОбработкаПроизошедшихБизнесСобытий, которое 1 раз в минуту делает вызов процедуры общего модуля БизнесСобытияВызовСервера.ОбработкаПроизошедшихБизнесСобытий().

В этой процедуре для не обработанных бизнес-событий оператором Выполнить() запускается код включенных Дополнительных обработчиков бизнес-событий из Справочник.ПользовательскиеОбработчикиБизнесСобытий.ВыпоняемыйКод.

В модуле формы данной внешней обработки имеется продедура ОбработкаПроизошедшихБизнесСобытий, скопированная из общего модуля БизнесСобытияВызовСервера. В ней вызов оператора Выполнить() заменен на вызов процедуры ОтлаживаемыйОбработчик(Событие). Здесь и ставится точка останова в режиме отладчика 1С.

Итак, скачиваем демонстрационную конфигурацию demo.dt и внешнюю обработку ОтладчикПользовательскихОбработчиковБизнесСобытий.epf. Создаем демо-базу открываем в конфигураторе и в клиенте в режиме отладки.

Краткая инструкция

1. Отключаем РегламентноеЗадание.ОбработкаПроизошедшихБизнесСобытий (снимаем флаг в форме обработки). Открываем РегистрСведений.ПроизошедшиеБизнесСобытия

2. После отладки копируем содержимое процедуры ОтлаживаемыйОбработчик через буфер обмена в Справочник.ПользовательскиеОбработчикиБизнесСобытий.ВыпоняемыйКод и включаем РегламентноеЗадание.ОбработкаПроизошедшихБизнесСобытий

2.1 Если в базе много обработчиков, то для отладки можем создать ниже отдельные процедуры для каждого обработчика и по мере необходимости подставлять их вызов в тело процедуры ОтлаживаемыйОбработчик(Событие), в этом случае после отладки копируем содержимое вызываемой процедуры, к примеру, содержимое процедуры: ОтлаживаемыйОбработчикОзнакомлениеПослеУтверждения(Событие)

3. Важно: обработчик в рабочем режиме запускается оператором Выполнить(), поэтому не пытайтесь в его коде делать вызов других процедур данной обработки.

Можно использовать методы объектов, процедуры и функции общих модулей.

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

1. Заходим в конфигуратор 1С:Предприятие в режиме Администратора, открываем для редактирования эту обработку, устанавливаем точку останова на первую строку процедуры ОтлаживаемыйОбработчикОзнакомлениеПослеУтверждения:

2. Запускаем из Конфигуратора 1С:Предприятие в режиме отладки.

3. Отключаем РегламентноеЗадание.ОбработкаПроизошедшихБизнесСобытий

4. Создаем интерактивно внутренний документ Тест (ВидДокумента=»Приказ финансового блока»)

5. Создаем интерактивно Бизнес-процесс Утверждение по приказу Тест, запускаем

6. Утверждаем под пользователем, указанным для утверждения.

7. Создаем интерактивно пустой пользовательский обработчик события «Запуск процесса Ознакомление после Утверждения«

8. Создаем для этого обработчика Подписку на событие Завершение процесса

9. Запускаем обработку ОтладчикПользовательскихОбработчиковБизнесСобытий

10. Наслаждаемся процессом отладки и написания кода

10.1 Для повторения отладки после изменения кода снимаем флажки Обработано и НеУдалосьОбработать (ЧислоПопытокОбработки=0) с нашего события в Регистре сведений ПроизошедшиеБизнесСобытия,

Перезапускаем обработку ОтладчикПользовательскихОбработчиковБизнесСобытий

11. После завершения отладки Копируем отлаженный код в ВыполняемыйКод обработчика «Запуск процесса Ознакомление после Утверждения«

12. Включаем РегламентноеЗадание.ОбработкаПроизошедшихБизнесСобытий

Источник: open-budget.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин