![]() |
|
Бизнес-процессы в 1С 🠗Ø (Волшебник 15.04.2025 14:12) |
☑ | ||
---|---|---|---|---|
0
Калаген
15.04.25
✎
13:38
|
Здравствуйте.
Помогите, пожалуйста, не стартует бизнес-процесс для перенаправления задачи в нетиповой конфигурации 1С. Сделано всё по аналогии с первым документом. В первом стартует, во втором нет. Код аналогичный. Помогите разобраться, пожалуйста, в чём проблема. Код модуля объекта задачи привожу ниже. Если необходимо, предоставлю коды моделей бизнес-процессов. #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ОбработчикиСобытий Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) ЗадачаБылаВыполнена = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Выполнена"); Если Выполнена И ЗадачаБылаВыполнена <> Истина И НЕ РеквизитыАдресацииЗаполнены() Тогда ОбщегоНазначения.СообщитьПользователю( НСтр("ru = 'Укажите исполнителя задачи.'"),,, "Объект.Исполнитель", Отказ); Возврат; КонецЕсли; Если СрокИсполнения <> '00010101' И ДатаНачала > СрокИсполнения Тогда ОбщегоНазначения.СообщитьПользователю( НСтр("ru = 'Дата начала исполнения не должна превышать крайний срок.'"),,, "Объект.ДатаНачала", Отказ); Возврат; КонецЕсли; КонецПроцедуры Процедура ПриКопировании(ОбъектКопирования) Дата = ТекущаяДатаСеанса(); КонецПроцедуры Процедура ПередЗаписью(Отказ) Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; Если НЕ Ссылка.Пустая() Тогда ИсходныеРеквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "Выполнена, ПометкаУдаления, СостояниеБизнесПроцесса"); Иначе ИсходныеРеквизиты = Новый Структура( "Выполнена, ПометкаУдаления, СостояниеБизнесПроцесса", Ложь, Ложь, Перечисления.СостоянияБизнесПроцессов.ПустаяСсылка()); КонецЕсли; Если ИсходныеРеквизиты.ПометкаУдаления <> ПометкаУдаления Тогда БизнесПроцессыИЗадачиСервер.ПриПометкеУдаленияЗадачи(Ссылка, ПометкаУдаления); КонецЕсли; Если НЕ ИсходныеРеквизиты.Выполнена И Выполнена Тогда Если СостояниеБизнесПроцесса = Перечисления.СостоянияБизнесПроцессов.Остановлен Тогда ВызватьИсключение НСтр("ru = 'Нельзя выполнять задачи остановленных бизнес-процессов.'"); КонецЕсли; // Если задача выполнена, то запишем в реквизит Исполнитель того // пользователя, который фактически выполнил задачу. Это нам потом // потребуется для отчетов. Такую запись делаем только в том // случае, если в базе было не выполнено, а в объекте стало выполнено. Если НЕ ЗначениеЗаполнено(Исполнитель) Тогда Исполнитель = Пользователи.АвторизованныйПользователь(); КонецЕсли; Если ДатаИсполнения = Дата(1, 1, 1) Тогда ДатаИсполнения = ТекущаяДатаСеанса(); КонецЕсли; ИначеЕсли НЕ ПометкаУдаления И ИсходныеРеквизиты.Выполнена И Выполнена Тогда ОбщегоНазначения.СообщитьПользователю( НСтр("ru = 'Эта задача уже была выполнена ранее.'"),,,, Отказ); Возврат; КонецЕсли; Если Важность.Пустая() Тогда Важность = Перечисления.ВариантыВажностиЗадачи.Обычная; КонецЕсли; Если НЕ ЗначениеЗаполнено(СостояниеБизнесПроцесса) Тогда СостояниеБизнесПроцесса = Перечисления.СостоянияБизнесПроцессов.Активен; КонецЕсли; ПредметСтрокой = ОбщегоНазначения.ПредметСтрокой(Предмет); Если НЕ Ссылка.Пустая() И ИсходныеРеквизиты.СостояниеБизнесПроцесса <> СостояниеБизнесПроцесса Тогда УстановитьСостояниеПодчиненныхБизнесПроцессов(СостояниеБизнесПроцесса); КонецЕсли; Если Выполнена И Не ПринятаКИсполнению Тогда ПринятаКИсполнению = Истина; ДатаПринятияКИсполнению = ТекущаяДатаСеанса(); КонецЕсли; // СтандартныеПодсистемы.УправлениеДоступом УстановитьПривилегированныйРежим(Истина); ГруппаИсполнителейЗадач = БизнесПроцессыИЗадачиСервер.ГруппаИсполнителейЗадач(РольИсполнителя, ОсновнойОбъектАдресации, ДополнительныйОбъектАдресации); УстановитьПривилегированныйРежим(Ложь); // Конец СтандартныеПодсистемы.УправлениеДоступом // Заполнение реквизита ДатаПринятияКИсполнению. Если ПринятаКИсполнению И ДатаПринятияКИсполнению = Дата('00010101') Тогда ДатаПринятияКИсполнению = ТекущаяДатаСеанса(); КонецЕсли; Если ДополнительныеСвойства.Свойство("ТолькоПроверка") И ДополнительныеСвойства.ТолькоПроверка Тогда Выполнена = Ложь; КонецЕсли; КонецПроцедуры Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип("ЗадачаОбъект.ЗадачаИсполнителя") Тогда ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения, "БизнесПроцесс,ТочкаМаршрута,Наименование,Исполнитель,РольИсполнителя,ОсновнойОбъектАдресации," + "ДополнительныйОбъектАдресации,Важность,ДатаИсполнения,Автор,Описание,СрокИсполнения," + "ДатаНачала,РезультатВыполнения,Предмет"); Дата = ТекущаяДатаСеанса(); КонецЕсли; Если НЕ ЗначениеЗаполнено(Важность) Тогда Важность = Перечисления.ВариантыВажностиЗадачи.Обычная; КонецЕсли; Если НЕ ЗначениеЗаполнено(СостояниеБизнесПроцесса) Тогда СостояниеБизнесПроцесса = Перечисления.СостоянияБизнесПроцессов.Активен; КонецЕсли; КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции Процедура УстановитьСостояниеПодчиненныхБизнесПроцессов(НовоеСостояние) НачатьТранзакцию(); Попытка ПодчиненныеБизнесПроцессы = БизнесПроцессыИЗадачиСервер.БизнесПроцессыГлавнойЗадачи(Ссылка, Истина); Для Каждого ПодчиненныйБизнесПроцесс Из ПодчиненныеБизнесПроцессы Цикл БизнесПроцессОбъект = ПодчиненныйБизнесПроцесс.ПолучитьОбъект(); БизнесПроцессОбъект.Заблокировать(); БизнесПроцессОбъект.Состояние = НовоеСостояние; БизнесПроцессОбъект.Записать(); // АПК:1327 Блокировка установлена в БизнесПроцессыИЗадачиСервер.БизнесПроцессыГлавнойЗадачи. КонецЦикла; ЗафиксироватьТранзакцию(); Исключение ОтменитьТранзакцию(); ВызватьИсключение; КонецПопытки; КонецПроцедуры // Определяет, заполнены ли реквизиты адресации: исполнитель или роль исполнителя // // Возвращаемое значение: // Булево - возвращает Истина, если в задаче указан исполнитель или роль исполнителя. // Функция РеквизитыАдресацииЗаполнены() Возврат ЗначениеЗаполнено(Исполнитель) ИЛИ НЕ РольИсполнителя.Пустая(); КонецФункции Процедура ПриЗаписи(Отказ) Если ТочкаМаршрута = БизнесПроцессы.ОбработкаДокументаКЭДО.ТочкиМаршрута.ДействиеВыполнитьЭтапПроцесса Тогда//это задача процесса обработки документа КЭДО БизнесПроцессы.ОбработкаДокументаКЭДО.ОбработкаЗаписиЗадачи(ЭтотОбъект, Отказ); ИначеЕсли ТочкаМаршрута = БизнесПроцессы.Согласование.ТочкиМаршрута.ДействиеСогласовать Тогда//это задача процесса согласования БизнесПроцессы.Согласование.ОбработкаЗаписиЗадачи(ЭтотОбъект, Отказ); КонецЕсли; КонецПроцедуры #КонецОбласти #Иначе ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'"); #КонецЕсли |
|||
1
Bigbro
15.04.25
✎
13:36
|
ошибки то посмотрите в ЖР например
есть что-то? |
|||
2
Волшебник
15.04.25
✎
13:39
|
(0) Это потому, что у Вас клиент не толстый, а нужен толстый
|
|||
3
Ёпрст
гуру
15.04.25
✎
13:39
|
(0) все не читал, нет прав
|
|||
4
Калаген
15.04.25
✎
13:40
|
Это смописка. Запускаю в толстом.
|
|||
5
Калаген
15.04.25
✎
13:41
|
(2) (3) (4) Это смописка. Запускаю в толстом.
|
|||
6
Волшебник
15.04.25
✎
13:41
|
(5) К самописке ещё должен прилагаться программист с отладчиком. Есть у Вас такой?
|
|||
7
Калаген
15.04.25
✎
13:43
|
(6) да это я
|
|||
8
Волшебник
15.04.25
✎
13:45
|
(7) Нет, это не Вы.
|
|||
9
Калаген
15.04.25
✎
13:45
|
(8) модет лучше совет дадите
|
|||
10
Волшебник
15.04.25
✎
13:46
|
(9) может лучше отладчик запустите и выясните причину?
|
|||
11
Калаген
15.04.25
✎
13:47
|
(10) самое первое что и делал.отладчиком бродил. хороший совет вот тольок придраться мне к нечему. если бы тлдак апомогла вряд ли бы писал бы сюда.
|
|||
12
Волшебник
15.04.25
✎
13:48
|
(11) Жалкий безграмотный неудачник
|
|||
13
Bigbro
15.04.25
✎
13:49
|
и докуда отладчик довел? где пропало понимание того что происходит?
|
|||
14
Калаген
15.04.25
✎
13:49
|
(12) (12) О! Гуру крутой пришел отладчиком он советует пройтись, гогда тот бессилен
|
|||
15
Волшебник
15.04.25
✎
13:49
|
(13) Он даже не нашёл точку входа, откуда стартует бизнес-процесс
|
|||
16
Волшебник
15.04.25
✎
13:50
|
(14) Иди работай!
|
|||
17
Калаген
15.04.25
✎
13:50
|
(13) довел то дотого что ошитбок нету. Док попадет в бизнесс процесс но задача не записиывается в регистр сведений и не прилетает.
|
|||
18
Калаген
15.04.25
✎
13:51
|
(16) извини пожалуйста матер
|
|||
19
Калаген
15.04.25
✎
13:51
|
(16) мастер
|
|||
20
Волшебник
15.04.25
✎
13:51
|
(17) Чушь собачья
|
|||
21
Калаген
15.04.25
✎
13:52
|
(15) а как в нее войти процедура при записи
|
|||
22
Калаген
15.04.25
✎
13:52
|
(15) или еть другая. я первый рзс бизнесс процессами работаю.
|
|||
23
Bigbro
15.04.25
✎
13:53
|
(17) боюсь что вам нужна помощь того программиста который разрабатывал конфигурацию. вашего уровня явно недостаточно не только для исправления проблемы но и для ее внятного объяснения.
|
|||
24
Волшебник
15.04.25
✎
13:53
|
(22) ищите вызов метода Старт()
|
|||
25
Калаген
15.04.25
✎
14:08
|
(24) Спасибо вам огромное. Реузультат запроса возырвщал пустой запрос. Нужно быо заполнить справочник процессы кэдо. И этапы.Прошу прощения за глупый вопрос. Обещаюбыть внимательным и не позорить профессию програмитса
|
|||
26
Волшебник
15.04.25
✎
14:09
|
(25) А ещё научитесь нажимать Alt-R в Яндекс.Браузере, чтобы не писать так безграмотно:
![]() |
|||
27
Калаген
15.04.25
✎
14:11
|
(26) у меня брузер эдгэ а нии йандикс броузир
|
|||
28
Волшебник
15.04.25
✎
14:12
|
(27) Да-да. И вообще Вы тупой бот. Мы понимаем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |