Имя: Пароль:
1C
1С v8
Ошибка выполнения задача
,
0 FuriKuri
 
04.07.13
12:20
В УТ 10.3 настраиваю тонкий клиент.  При проведении одного документа должна выполнятся задача. Делаю так:
НаСервере

Если Объект.СтатусЗаявкиНаОтгрузку=Перечисления.СтатусыЗаявкиНаОтгрузку.ВРаботе Тогда    
                       
       Запрос = Новый Запрос;
       Запрос.Текст = "ВЫБРАТЬ
       |    ЗадачиПользователя.Ссылка
       |ИЗ
       |    Задача.ЗадачиПользователя КАК ЗадачиПользователя
       |ГДЕ
       |    ЗадачиПользователя.БизнесПроцесс.ОбъектСогласования = &ЗаявкаНаОтгрузку
       |    И НЕ ЗадачиПользователя.Выполнена
       |    И ЗадачиПользователя.ТочкаМаршрута = &ТочкаМаршрута";
       
       Запрос.УстановитьПараметр("ЗаявкаНаОтгрузку",Объект.Ссылка);
       Запрос.УстановитьПараметр("ТочкаМаршрута",БизнесПроцессы.ОтгрузкаТовара.ТочкиМаршрута.СборкаТовара);
       
       Выборка = Запрос.Выполнить().Выбрать();
       
       Если Выборка.Следующий() Тогда
           Выборка.Ссылка.ПолучитьОбъект().ВыполнитьЗадачу();

Но при выполнении вылазит такая ошибка

{Документ.ЗаявкаНаОтгрузку.Форма.ФормаДокументаУпр.Форма(715)}: Ошибка при вызове метода контекста (ВыполнитьЗадачу)
           Выборка.Ссылка.ПолучитьОбъект().ВыполнитьЗадачу();
по причине:
Ошибка при выполнении обработчика - 'СозданиеДокументовОтгрузкиПередСозданиемЗадач'
по причине:
{БизнесПроцесс.ОтгрузкаТовара.МодульОбъекта(331)}: Метод объекта не обнаружен (СформироватьПараметрыШапкиЗадач)
   ПараметрыЗадач = РаботаСБизнесПроцессами.СформироватьПараметрыШапкиЗадач(ВыборкаПараметры);

В чем косяк?
1 Maxus43
 
04.07.13
12:22
а что непонятного в ошибке?
РаботаСБизнесПроцессами.СформироватьПараметрыШапкиЗадач(ВыборкаПараметры);

нет этой процедуры
2 Beduin
 
04.07.13
12:22
И еще вдогонку зачем ты вот это все выложил сюда
Если Объект.СтатусЗаявкиНаОтгрузку=Перечисления.СтатусыЗаявкиНаОтгрузку.ВРаботе Тогда    

                       
       Запрос = Новый Запрос;
       Запрос.Текст = "ВЫБРАТЬ
       |    ЗадачиПользователя.Ссылка
       |ИЗ
       |    Задача.ЗадачиПользователя КАК ЗадачиПользователя
       |ГДЕ
       |    ЗадачиПользователя.БизнесПроцесс.ОбъектСогласования = &ЗаявкаНаОтгрузку
       |    И НЕ ЗадачиПользователя.Выполнена
       |    И ЗадачиПользователя.ТочкаМаршрута = &ТочкаМаршрута";
       
       Запрос.УстановитьПараметр("ЗаявкаНаОтгрузку",Объект.Ссылка);
       Запрос.УстановитьПараметр("ТочкаМаршрута",БизнесПроцессы.ОтгрузкаТовара.ТочкиМаршрута.СборкаТовара);
       
       Выборка = Запрос.Выполнить().Выбрать();
       
       Если Выборка.Следующий() Тогда
3 FuriKuri
 
04.07.13
12:24
(2)ну мало ли)
4 FuriKuri
 
04.07.13
12:25
(1) так в том то и дело что процедура есть
5 Beduin
 
04.07.13
12:25
(4) Процедура доступна на сервере?
6 FuriKuri
 
04.07.13
12:26
(5) да
7 Maxus43
 
04.07.13
12:27
(6) чудес не бывает. не видит её твой контекст вызова
8 Maxus43
 
04.07.13
12:27
скрин галок с общего модуля
9 FuriKuri
 
04.07.13
12:30
(8) Стоят галки: Север, Клиент(Обычное приложение) и Вызов сервреа
10 FuriKuri
 
04.07.13
12:34
(8) Это не может быть изза того что бизнес процесс написан на толстом клиенте, а выполняю я задачу через тонкий?
11 Maxus43
 
04.07.13
12:35
(10) дак галка Клиент (управляемое) не стоит же. не доступен метод с управляемого, и не будет с такими галками
12 Maxus43
 
04.07.13
12:36
без разницы на чем он "написан", уонфигуратор один, а контекст вызова важен
13 FuriKuri
 
04.07.13
12:37
(11) я проставлял галку для тонкого, всеравно такая же ошибка
14 hhhh
 
04.07.13
12:37
(11) да не, он же с сервера вызывает.
15 Maxus43
 
04.07.13
12:38
(13) потому что нельзя поставить галку тонкого и сохранить остальные из (9)
16 Maxus43
 
04.07.13
12:38
(14) щас понял уже, запрос жеж... его на клиенте небывает
17 Maxus43
 
04.07.13
12:39
проверку конфы сделай, это глюк видимо
18 hhhh
 
04.07.13
12:39
(13) там внутри общего модуля посмотри еще #если клиент, #если сервер
19 Maxus43
 
04.07.13
12:40
зло в клиент-серверных модулях кроется люк, выбери одну сторону силы
20 FuriKuri
 
04.07.13
12:41
(19) ну если я там начну галки менять туда сюда, то могут полететь другие доки которые по этому модюлю работают.
21 FuriKuri
 
04.07.13
12:43
(18) не вроде нужная процедура не включена в такие параметры
22 hhhh
 
04.07.13
12:44
(21) в типовой точно включено. В #если клиент. У вас типовая УТ?
23 FuriKuri
 
04.07.13
12:44
(22) ну да
24 hhhh
 
04.07.13
12:45
(23) ну тогда она на клиенте. На сервере нет ее. ВСё правильно работает
25 FuriKuri
 
04.07.13
12:45
(23) вравда этот бизнес процесс самописный
26 FuriKuri
 
04.07.13
12:53
каким посоветуете исправить ситуацию?
27 Maxus43
 
04.07.13
13:13
(26) ты сначала выясни что мешает, нашёл #если клиент?
28 FuriKuri
 
04.07.13
13:15
(27) нашел, но он на несколько процедур выше
29 Maxus43
 
04.07.13
13:19
(28) щас ищи #конецЕсли. и выноси процедуру после неё.
в этой процедуре надо будет проверить на интерактивные команды (типа сообщить, диалоги всякие) и убрать их либо обрамит только их в #если клиент. короче думать надо
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший