Имя: Пароль:
1C
1С v8
Ошибка "Не найдено созданное регламентное задание" в обработке обмена между CRM и БП
0 Nzzzz
 
02.09.19
10:46
Ошибка "Не найдено созданное регламентное задание" в обработке обмена между CRM и БП. В коде есть процедура:
&НаСервере
Процедура ЗапуститьРегламентноеЗадание(Отказ)
    
    Если Не ЗначениеЗаполнено(РегламентноеЗаданиеУИН) Тогда
        
        Отказ = Истина;
        
        Возврат;
        
    КонецЕсли;
    
    ЗаданиеОбработки = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(РегламентноеЗаданиеУИН);
    ЗаданиеОбработки.Использование = Истина;
    ЗаданиеОбработки.Записать();    
    
КонецПроцедуры

В ней проверяется заполнено ли "РегламентноеЗаданиеУИН". Это реквизит формы обработки,в отладчике равно: "00000000-0000-0000-0000-000000000000", тип: УникальныйИдетификатор.
Вот из-за того, что здесь всё по нулям, у меня отказ = истина; и выходит из этой процедуры вот сюда:
Если Отказ Тогда
        
        ПоказатьПредупреждение(, НСтр("ru='Не найдено созданное регламентное задание.'"));
        
        Возврат;
        
    КонецЕсли;
Так вот как мне понять где заполняется этот идентификатор?
1 aleks_default
 
02.09.19
10:53
Отладкой пройтись не пробовал? Посмотреть как заполняется этот реквизит формы обработки?
2 Nzzzz
 
02.09.19
10:53
Никак он не заполняется, не доходит до туда
3 Nzzzz
 
02.09.19
10:55
Жму кнопку выполнить и попадает в эту процедуру:
&НаКлиенте
Процедура ЗапуститьОбработкуАвтоматически(Команда)

    Отказ = Ложь;

    СохранитьНастройкиФормы();
    
    ЗапуститьРегламентноеЗадание(Отказ);
    
    Если Отказ Тогда
        
        ПоказатьПредупреждение(, НСтр("ru='Не найдено созданное регламентное задание.'"));
        
        Возврат;
        
    КонецЕсли;    
    
    Закрыть();
    
    ЗапуститьОбработкуВРучномРежимеНаСервере();
    
КонецПроцедуры
Из нее идет в ту, которая выше и потом возвращается и ошибку эту выдает
4 Nzzzz
 
02.09.19
10:57
Ищу поиском вот этот реквизит: "РегламентноеЗаданиеУИН"
Вот все что нашлось:
1. Если ЗначениеЗаполнено(РегламентноеЗаданиеУИН) Тогда    
        НастройкаРасписания = Новый ДиалогРасписанияРегламентногоЗадания(ПолучитьРасписание(РегламентноеЗаданиеУИН));
    Иначе
        НастройкаРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Новый РасписаниеРегламентногоЗадания);
    КонецЕсли;
2. Если ЗначениеЗаполнено(РегламентноеЗаданиеУИН) Тогда
        
        ЗаданиеОбработки = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(РегламентноеЗаданиеУИН);
                
    КонецЕсли;
3. РегламентноеЗаданиеУИН = ЗаданиеОбработки.УникальныйИдентификатор;
4. Если Не ЗначениеЗаполнено(РегламентноеЗаданиеУИН) Тогда
        
        Отказ = Истина;
        
        Возврат;
        
    КонецЕсли;
5. ЗаданиеОбработки = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(РегламентноеЗаданиеУИН);
    ЗаданиеОбработки.Использование = Истина;
    ЗаданиеОбработки.Записать();
6. Если ЗначениеЗаполнено(РегламентноеЗаданиеУИН) Тогда
        ОбменПоРасписаниюПредставление = Строка(ПолучитьРасписание(РегламентноеЗаданиеУИН));
    КонецЕсли;    
7. СтруктураПараметров.Вставить("РегламентноеЗаданиеУИН", РегламентноеЗаданиеУИН);
5 aleks_default
 
02.09.19
11:01
Ну вот и смотри п.3. Почему оно не заполняется
6 Nzzzz
 
02.09.19
11:03
(5) Как я посмотрю? оно уже по нулям когда отладкой на него попадаю
7 Nzzzz
 
02.09.19
11:10
вообще не понятно где он заполняется
8 Nzzzz
 
02.09.19
11:21
Никто не знает(
9 aleks_default
 
02.09.19
11:23
Да что знает? Отладчик в руки и смотри все процедуры начиная с ПриСозданииНаСеревере что откуда берется. Ты программист или рядом валялся?
10 yzimin
 
02.09.19
11:33
У меня была подобная проблема с битриком, когда копировал план обмена с уже настроенным регламентным заданием. Исправлял просто

    ОбменССайтомОбъект = Объект.ОбменССайтом.ПолучитьОбъект();
    ОбменССайтомОбъект.ИдентификаторРегламентногоЗадания = Новый УникальныйИдентификатор;
    ОбменССайтомОбъект.Записать();