Имя: Пароль:
1C
 
Внешняя обработка и регламентные задания
,
0 LisaAlisa
 
17.05.16
15:10
Конфигурация "Розница". Создаю простую внешнюю обработку, которая должна записать нового контрагента.
Настраиваю расписание. В списке регламентных заданий вижу обработку. Нажимаю "Выполнить сейчас", состояние устанавливается в "Задание выполнено", но контрагент не создается. В чем ошибка?

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    МассивОбъектов = Новый Массив;    
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
    ПараметрыРегистрации.Вставить("Назначение", МассивОбъектов);
    ПараметрыРегистрации.Вставить("Наименование", ИмяОбработки);
    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", Версия);    
    ПараметрыРегистрации.Вставить("Информация", ИмяОбработки);
    
    ТаблицаКоманд = Получить Таблицу Команд();
    ДобавитьКоманду(ТаблицаКоманд, ИмяОбработки, СтрЗаменить(ИмяОбработки," ",""), "ВызовСерверногоМетода");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции
1 LisaAlisa
 
17.05.16
15:12
ТаблицаКоманд = Получить Таблицу Команд();

пришлось написать раздельно, тк. дурацкий фильтр не пропускал такое написание
Сработал фильтр на язык падонков (удафком) на слово получить таблицу команд. Пишите по-русски!
2 lodger
 
17.05.16
15:16
"цу Ко" - вот и ругается.
3 Cyberhawk
 
17.05.16
15:19
Раз "ВызовСерверногоМетода", то покажи развернутое дерево метаданных своей внешней обработки
4 LisaAlisa
 
17.05.16
15:26
5 LisaAlisa
 
17.05.16
15:26
6 Cyberhawk
 
17.05.16
15:27
Серверный метод покажи теперь
7 LisaAlisa
 
17.05.16
15:46
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
    
    Контрагент = СоздатьКонтрагента("Тест реглам задания", "", "", "", "123");
КонецПроцедуры

Функция СоздатьКонтрагента(Наименование, ИНН, КПП, АдресКонтрагента, КодКонтрагента)

    НовКонтрагент                 = Справочники.Контрагенты.СоздатьЭлемент();
    НовКонтрагент.Наименование     = Наименование;
    
    Попытка
        НовКонтрагент.Записать();
        Возврат  НовКонтрагент.Ссылка;
    Исключение
        Сообщить("Неудачная попытка создания контрагента " + Наименование + " по причине " + ОписаниеОшибки());
        Возврат  Справочники.Контрагенты.ПустаяСсылка();
    КонецПопытки;
    
КонецФункции // СоздатьКонтрагента()
8 Cyberhawk
 
17.05.16
17:10
Теперь добавь диагностическую запись в ЖР в самое начало команды и проверь, вызывается ли она у тебя вообще
9 Cyberhawk
 
17.05.16
17:10
В самое начало эскпортной процедуры твоей
10 LisaAlisa
 
17.05.16
17:25
(9) добавлиа. Свою запись в ЖР не нашла, зато нашла такую ошибку:
Команда ТЕСТ1.0: Ошибка выполнения:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2667)}: Недостаточно фактических параметров
            ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды);
11 LisaAlisa
 
17.05.16
21:18
Разобралась...
В СведенияоВнешнейОбработке() нужно было добавить ПараметрыРегистрации.Вставить("ВерсияБСП", "2.0.1.3");
Закон Брукера: Даже маленькая практика стоит большой теории.