Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Создать задачу в 1С:Документооборот при событии в 1С:УПП

Создать задачу в 1С:Документооборот при событии в 1С:УПП
Я
   vdeemer
 
26.09.16 - 16:58
Доброго времени суток!
Задача: при наступлении события в УПП создать в 1С:Документооборот задачу исполнителя. Через COM вроде несложно (предварительно добавил реквизит ИмяПользователяЭДО в УПП):
<code>
Соединение = Неопределено;
СтрокаПодключения = "...";
V8 = Новый COMОбъект("V83.COMConnector");
Попытка
    СоединениеЭДО = V8.Connect(СтрокаПодключения);
    Возврат "";
Исключение
    Возврат("Ошибка открытия информационной базы ЭДО: " + ОписаниеОшибки());
КонецПопытки;    

ЗадачаОбъект = СоединениеЭДО.Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
ЗадачаОбъект.Дата = ТекущаяДатаСеанса();
ЗадачаОбъект.Важность = СоединениеЭДО.Перечисления.ВариантыВажностиЗадачи.Обычная;
ЗадачаОбъект.Исполнитель = СоединениеЭДО.Справочники.Пользователи.НайтиПоНаименованию(Пользователь.ИмяПользователяЭДО, Истина, , );
ЗадачаОбъект.Автор = СоединениеЭДО.Справочники.Пользователи.НайтиПоНаименованию(Пользователь.ИмяПользователяЭДО, Истина, , );
ЗадачаОбъект.Наименование = НаименованиеЗадачи;
ЗадачаОбъект.Описание = ОписаниеЗадачи;
ЗадачаОбъект.Записать();
</code>
При записи ловится ошибка {ОбщийМодуль.ОбщегоНазначения.Модуль(88)}: Значение не является значением объектного типа (Метаданные), причем отладчиком поймать ее в документообороте не могу (файл comcntr....xml согласно ИТС). При подключении к ИБ, вставив Предупреждение(""), я подключаюсь к этому соединению, но поймать ПриЗаписи() для ЗадачиИсполнителя не могу. Что можете посоветовать, уважаемые? Спасибо.
 
 
   vdeemer
 
1 - 26.09.16 - 17:01
"При подключении к ИБ, вставив Предупреждение(""), я подключаюсь к этому соединению" - это про отладчик)))
   sh8ce
 
2 - 26.09.16 - 17:03
что за процедура в общем модуле?
   vdeemer
 
3 - 26.09.16 - 17:08
Если я правильно понял, то это ошибка документооборота:
<code>
// Возвращает структуру, содержащую значения реквизитов прочитанные из информационной базы

// по ссылке на объект.
Функция ЗначенияРеквизитовОбъекта(Ссылка, Знач Реквизиты) 
....
    Запрос.Текст =
    "ВЫБРАТЬ
    |" + ТекстПолей + "
    |ИЗ
    |    " + Ссылка.Метаданные().ПолноеИмя() + " КАК ПсевдонимЗаданнойТаблицы
    |ГДЕ
    |    ПсевдонимЗаданнойТаблицы.Ссылка = &Ссылка
    |";
</code>
   anatoly
 
4 - 26.09.16 - 17:10
какая версия ДО ?

и по моему правильнее было бы веб-сервисы использовать...
я на них делал согласование документов из УПП.
   vdeemer
 
5 - 26.09.16 - 17:12
(2) Вызываться она может из огромного количества мест, так что стек вызовов - наше все. Но где поставить точку останова?
(4) Это да, оно и быстрее будет и ERP также решает эту задачу... Но сделать надо быстро, веб-сервис еще поднимать надо(( Хотя если оно так пойдет, то еще большой вопрос, что быстрее выйдет.
   vdeemer
 
6 - 26.09.16 - 17:15
(4) (1.4.12.1)
   vdeemer
 
7 - 27.09.16 - 14:40
Если вдруг кому понадобится - проблема была в том, что надо было создавать не задачу исполнителя, а бизнес-процесс. Мне достаточно было ознакомления:
<code>
Менеджер = Справочники.Пользователи.НайтиПоНаименованию(Пользователь, Истина, , );
    НайденныйМенеджер = Менеджер;
    
    СтруктураПроцесса = Новый Структура;
    СтруктураПроцесса.Вставить("Дата", ТекущаяДатаСеанса());
    СтруктураПроцесса.Вставить("Автор", Менеджер);
    СтруктураПроцесса.Вставить("Наименование", Наименование);
    СтруктураПроцесса.Вставить("Описание", Описание);
    
    Исполнители = Новый ТаблицаЗначений;
    Исполнители.Колонки.Добавить("Исполнитель");
    НовыйИсполнитель = Исполнители.Добавить();
    НовыйИсполнитель.Исполнитель = Менеджер;
    СтруктураПроцесса.Вставить("Исполнители", Исполнители);
    
    Предметы = Новый ТаблицаЗначений;
    Предметы.Колонки.Добавить("Предмет");
    СтруктураПроцесса.Вставить("Предметы", Предметы);
    
    БизнесПроцессы.Ознакомление.СоздатьПроцесс(СтруктураПроцесса, Истина);
</code>

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует