|   |   | 
| 
 | Контур.Диадок Регламентные задания ч. 2 | ☑ | ||
|---|---|---|---|---|
| 0
    
        anikev 26.02.25✎ 04:52 | 
        Всем привет!
 Это вторая часть погружения в регламентные задания Контур.Диадока. Первая часть: Контур.Диадок Регламентные задания Я думал, что победил контур, установив расширение через обработку. Но нет. Я так же получаю ошибку {КонтурДиадок Обработка.КонтурДиадокВызовыПМ.МодульОбъекта(4973)}: Метод работает только на объектах подсистемы Диадок (ЭДО_Модуль_ОбработатьНовыеСобытияДокументов) Я смирился с этой ошибкой, признал что УПП 1.3 - это старье, на котором даже контур нормально работать не может и решил попробовать Контур в ERP (1С:ERP Управление предприятием 2.5.17.95) Но я был удивлен, что там при запуске регламентного задания выскакивает такая же ошибка. {КонтурДиадок Обработка.КонтурДиадокВызовыПМ.МодульОбъекта(4973)}: Метод работает только на объектах подсистемы Диадок (ЭДО_Модуль_ОбработатьНовыеСобытияДокументов) Получается я имею: - Конфигурация: 1С:ERP Управление предприятием 2 (2.5.17.95) - КонтурДиадок 4.49.1 (расширение) - Подключаемый модуль (далее ПМ) с обработкой события "ВыполнитьРегламентныеДействия". Мне кажется, я нашел в чем причина... Я использовал Генератор ПМ версии 1.3.1 от 21.04.2022 .Неужели Контур не обновляют этот генератор, чтобы можно было внедрить ПМ без оплаты услуг их программистов... | |||
| 1
    
        anikev 26.02.25✎ 06:47 | 
        Может у кого-нибудь есть реализация Диадока 1С с регламентными заданиями и возможность скинуть код ПМ?     | |||
| 2
    
        Bigbro 26.02.25✎ 07:37 | 
        попробуй без расширений
 метаданные зашей в конфигурацию у меня все вхлам переписано, не смогу поделиться. | |||
| 3
    
        anikev 26.02.25✎ 08:01 | 
        (2) Я разберусь, если что     | |||
| 4
    
        Bigbro 26.02.25✎ 08:55 | 
        не думаю что это возможно с учетом требований безопасников и всяческих НДА, извините.
 у меня метаданные в конфигурации, в таком режиме работает, предлагаю начать с этого попробовать. | |||
| 5
    
        anikev 26.02.25✎ 10:29 | 
        Я сдался, будем оплачивать услуги Контура     | |||
| 6
    
        rozer76 26.02.25✎ 10:31 | 
        (0)  так в ПМ у меня// Выполняет регламентные действия, требующие инициализацию основного модуля Функция ВыполнитьРегламентныеДействия(Параметры) Экспорт //+++//roz//2024-05-08 [170912,161300,170752,159492] ////http://1c-pro-docs.diadoc.ru/ru/latest/func/pm/Vypolnit'_Reglamentnyye_Deystviya.html Если ТипЗнч(Параметры) <> Тип("Строка") Тогда ЗаписатьВЖурналРегистрацииИнформацию("Диадок.РегламентныеДействия.Запуск",УровеньЖурналаРегистрации.Ошибка,, "Не указан параметр запуска задания"); Возврат Истина; КонецЕсли; Если НЕ ЗначениеЗаполнено(УчетнаяЗапись().Логин) Тогда ОсновнойМодуль.ЭДО_АвторизоватьсяПодСертификатомНаСервере1С(); ЗаписатьВЖурналРегистрацииИнформацию("Диадок.РегламентныеДействия.Запуск",УровеньЖурналаРегистрации.Информация, , "Авторизация по сертификату"); Иначе Результат = ОсновнойМодуль.ЭДО_ЗаполнитьКонтекстСеансаДляСлужебнойУчетнойЗаписи(); Если Результат <> Неопределено Тогда ЗаписатьВЖурналРегистрацииИнформацию("Диадок.РегламентныеДействия.Запуск",УровеньЖурналаРегистрации.Информация, УчетнаяЗапись().Логин, "Авторизация по логину выполнена"); Иначе ЗаписатьВЖурналРегистрацииИнформацию("Диадок.РегламентныеДействия.Запуск",УровеньЖурналаРегистрации.Ошибка, УчетнаяЗапись().Логин, "Авторизация по логину не выполнена"); Возврат Истина; КонецЕсли; КонецЕсли; Если Параметры = "Лента" Тогда вртПрочитатьЛентуСобытий(); ИначеЕсли Параметры = "Сопоставление" Тогда вртВыполнитьСопоставлениеВходящихДокументов(); ИначеЕсли Параметры = "Подписание" Тогда вртОтправитьИсходящиеДокументыИнтеркампани(); ПодписатьВходящиеДокументы(); ИначеЕсли Параметры = "Маршруты" Тогда вртВыполнитьМаршрутизациюДокументов(); ИначеЕсли Параметры = "ПодписаниеРТУ" Тогда Если Константы.вртДиадокАвтоподписьСертификатомОтвественногоЗаДокумент.Получить() Тогда вртОтправитьИсходящиеДокументыПоКлиентамОтпечатокПользователя(); Иначе вртОтправитьИсходящиеДокументыПоКлиентамОтпечатокОрганизации(); КонецЕсли; КонецЕсли; Возврат Истина; КонецФункции | |||
| 7
    
        rozer76 26.02.25✎ 10:32 | ||||
| 8
    
        rozer76 26.02.25✎ 10:34 | 
        я сам потратил немало времени чтобы запустить сбор ленты, подписание, сопоставление на 1ссервере при учете что рег.задание это должно выполняться только на 1срабочем сервере и только там стоит криптопро...тот еще квест )     | |||
| 9
    
        anikev 26.02.25✎ 10:36 | 
        (7) Проблема в том, что у меня не запускается процедура 
 ПрочитатьЛентуСобытий() В этом модуле ОсновнойМодуль.ЭДО_Модуль_ОбработатьНовыеСобытияДокументов(ОписаниеОрганизации, КоличествоПорцийСобытий); Возвращает Исключение: {ВнешняяОбработка.КонтурДиадокВызовыПМ.МодульОбъекта(4973)}: Метод работает только на объектах подсистемы Диадок (ЭДО_Модуль_ОбработатьНовыеСобытияДокументов) Я уже пробовал и в конфигурации запускать, и в расширени, и как внешнюю | |||
| 10
    
        rozer76 26.02.25✎ 10:37 | 
        (9) да, конечно надо внедрить cf ник  - он лежит в основной обработке диадока в макете     | |||
| 11
    
        rozer76 26.02.25✎ 10:38 | 
        пользуем версию 4.47 в КА 2.5     | |||
| 12
    
        Bigbro 26.02.25✎ 10:50 | 
        да не обработку надо в конфигурацию
 а вот эти все объекты типа Диадок_Документы и прочая. | |||
| 13
    
        anikev 26.02.25✎ 11:11 | 
        (12) У меня сейчас в конфигурации все:
 Таблицы Диадока Обработка Диадока Подключаемый модуль Диадока | |||
| 14
    
        Bigbro 26.02.25✎ 11:18 | 
        ну так в отладке то посмотрите
 что конкретно не так включите в настройках отладку и логирование чтобы точки останова расставить в обработках ВызовыПМ, Ядро и так далее. в ПМ тоже точку останова воткните прямо в обработатьсобытие в самом начале. | |||
| 15
    
        Kolls 26.02.25✎ 11:23 | 
        (0) может имеет смысл просто заюзать их API через их SDK? Сама обработка внутри себя вроде его же использует, на сайте контура достаточно толковое описание.     | |||
| 16
    
        anikev 26.02.25✎ 11:32 | 
        Я уже нашел, где ошибка
 Функция ЭДО_Модуль_ОбработатьНовыеСобытияДокументов() Результат = Неопределено; Если НЕ ИспользоватьПодсистемуДиадока() Тогда Вызвать Исключение " Метод работает только на объектах подсистемы Диадок (ЭДО_Модуль_ОбработатьНовыеСобытияДокументов" КонецЕсли ...... КонецФункции ........ Функция ИспользоватьПодсистемуДиадока() Экспорт Результат = Истина; ИспользоватьТиповуюПодсистему1С = ИспользоватьТиповуюПодсистему1С(); Если ИспользоватьТиповуюПодсистему1С = Истина Тогда Результат = Ложь; КонецЕсли; Возврат Результат; КонецФункции Вот тут она нам возвращает ложь, поэтому возвращается исключение Осталось только разобрать ИспользоватьТиповуюПодсистему1С(). Получается, она нам должна вернуть ложь, чтобы прошло дальше | |||
| 17
    
        anikev 26.02.25✎ 11:51 | 
        Нашел, что у меня в Регистре сведений "Значения свойств объектов" свойство "DDPro_ИспользоватьТиповуюПодсистему1С" стоит в значении "Да", только я не знаю, можно ли его менять непосредственно здесь     | |||
| 18
    
        anikev 26.02.25✎ 11:52 | 
        (15) Этот вариант не подходит, лучше уже механизмами Обработки     | |||
| 19
    
        anikev 26.02.25✎ 12:24 | 
        Успех! 
 Поменял в Регистре сведений "Значения свойств объектов" свойство "DDPro_ИспользоватьТиповуюПодсистему1С" на "Ложь" Перезапустил обработку КонтурДиадок и запустил регламентное задание. Выполнилось без ошибок | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |