Имя: Пароль:
1C
1С v8
Конвертация данных, обработчики событий
0 kuzyara
 
26.05.15
09:10
Привет всем!
Я нуп, и у меня нупский вопрос: почему обработчик "После загрузки параметров" запрещают отлаживать?
1 Naumov
 
26.05.15
09:12
никто ничего не запрещает.
2 kuzyara
 
26.05.15
09:19
(1), вот что мне эта желтая гадюка пишет:

Начало загрузки:   26.05.2015 14:18:50

Ошибка при выполнении алгоритма после загрузки значений параметров
    Обработчик             =  ПослеЗагрузкиПараметров
    ОписаниеОшибки         =  Отладка обработчика "После загрузки параметров" не поддерживается.
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(12141)
    КодСообщения           =  75

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(12166)}: Ошибка при выполнении алгоритма после загрузки значений параметров
    Обработчик             =  ПослеЗагрузкиПараметров
    ОписаниеОшибки         =  Отладка обработчика "После загрузки параметров" не поддерживается.
    ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(12141)
    КодСообщения           =  75

Окончание загрузки: 26.05.2015 14:18:51

Загружено объектов: 0
3 kuzyara
 
26.05.15
09:22
Похоже на тайные знания адептов обмена...
4 vicof
 
26.05.15
09:23
(3) А в отладчик залезть не?
5 Andy13
 
26.05.15
09:23
А что там в обработчике? Каков текст?
6 kuzyara
 
26.05.15
09:31
Попытаюсь расписать. Делаю загрузку сотрудников из ЗУП2.5 в Далион. Но обработчик "ПослеЗагрузкиПараметров" почемуто помещается в "режим отладки обработчиков выгрузки", а не в "режим отладки обрабочиков загрузки". Это первое. И второе - когда пытаюсь отладить выгрузку - пише что отладка этого обработчика не поддерживается. Обработка обмена версии 2.1.7.
Вот код, отрабатывает как положено:

Процедура Конвертация_ПослеЗагрузкиПараметров(ФайлОбмена, Отказ, ПричинаОтказа) Экспорт

    
    //Отказ = Истина;
    //Сообщить(Параметры.тзПодразделения__);
    //Перейти ~Конец;
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    тзПодразделения = ЗначениеИзСтрокиВнутр(Параметры.тзПодразделения__);
    УстановитьТипыКолонок(тзПодразделения);
    СоздатьВременнуюТаблицу(Запрос.МенеджерВременныхТаблиц, тзПодразделения, "Подразделения");
    
    // т.к. у нас 2 зупа(фирмы) на подшивалову и рсдт
    // будем искать Торговыйобъект по паре КодПодразделения-ФирмаИНН
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ТорговыеОбъекты.Ссылка КАК ТорговыйОбъект,
        |    Подразделения.КодПодразделения,
        |    Подразделения.ФирмаИНН,
        |    Подразделения.УИДПодразделения,
        |    Подразделения.КодПодразделения + Подразделения.ФирмаИНН КАК КодПодразделения_ФирмаИНН,
        |    Значение(Справочник.Сотрудники.ПустаяСсылка) как ГруппаСотрудников
        |ИЗ
        |    Подразделения КАК Подразделения
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТорговыеОбъекты КАК ТорговыеОбъекты
        |        ПО Подразделения.КодПодразделения = ТорговыеОбъекты.рсдт_КодПодразделенияЗУП
        |            И Подразделения.ФирмаИНН = ТорговыеОбъекты.рсдт_Фирма.ИНН
        |ГДЕ ТорговыеОбъекты.рсдт_Работает";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    ГруппыСотрудников = Новый Структура;
    ГруппыУволенных = Новый Структура;
    
    Пока Выборка.Следующий() Цикл
        Если НЕ ЗначениеЗаполнено(Выборка.ТорговыйОбъект) Тогда
            Продолжить;    // не найден ТорговыйОбъект
        КонецЕсли;
        
        // создадим группы для пользователей
        УИД = Новый УникальныйИдентификатор(Выборка.УИДПодразделения);
        ГруппаСотрудниковСсылка = Справочники.Сотрудники.ПолучитьСсылку(УИД);
        НаименованиеГруппы = "Сотрудники т.т. "+Выборка.ТорговыйОбъект.Наименование;
        Если НЕ ОбщегоНазначения.СсылкаСуществует(ГруппаСотрудниковСсылка) Тогда
            ГруппаСотрудников = Справочники.Сотрудники.СоздатьГруппу();
            ГруппаСотрудников.УстановитьСсылкуНового(ГруппаСотрудниковСсылка);
            ГруппаСотрудников.Наименование = НаименованиеГруппы;
            ГруппаСотрудников.рсдт_КодПодразделения = Выборка.КодПодразделения;
            ГруппаСотрудников.рсдт_Магазин = Выборка.ТорговыйОбъект;
            ГруппаСотрудников.ПометкаУдаления = Ложь;
            ГруппаСотрудников.Родитель = Справочники.Сотрудники.ПустаяСсылка();    
            ГруппаСотрудников.Записать();
        КонецЕсли;
        
        // поправим наименование при необходимости
        Если ГруппаСотрудниковСсылка.Наименование <> НаименованиеГруппы Тогда
            ГруппаСотрудников = ГруппаСотрудниковСсылка.ПолучитьОбъект();
            ГруппаСотрудников.Наименование = НаименованиеГруппы;
            ГруппаСотрудников.Записать();
        КонецЕсли;
        
        КодПодразделения_ФирмаИНН = "_"+Выборка.КодПодразделения+"_"+Выборка.ФирмаИНН+"_";
        //Сообщить(КодПодразделения_ФирмаИНН);
        
        ГруппыСотрудников.Вставить(КодПодразделения_ФирмаИНН, ГруппаСотрудниковСсылка);
    
        // проверим на месте ли подгруппа Уволенные
        ГруппаУволенныеСсылка = Справочники.Сотрудники.НайтиПоНаименованию("Уволенные", Истина, ГруппаСотрудниковСсылка);
        Если НЕ ЗначениеЗаполнено(ГруппаУволенныеСсылка) Тогда
            ГруппаУволенные = Справочники.Сотрудники.СоздатьГруппу();
            ГруппаУволенные.Наименование = "Уволенные";
            ГруппаУволенные.Родитель = ГруппаСотрудниковСсылка;
            ГруппаУволенные.Записать();
            ГруппаУволенныеСсылка = ГруппаУволенные.Ссылка;
        КонецЕсли;
        
        ГруппыУволенных.Вставить(КодПодразделения_ФирмаИНН, ГруппаУволенныеСсылка);
        
    КонецЦикла;
    
    Параметры.Вставить("ГруппыСотрудников", ГруппыСотрудников);
    Параметры.Вставить("ГруппыУволенных", ГруппыУволенных);
    
    //Сообщить(ГруппыСотрудников);
    //Сообщить(ГруппыУволенных);
    //Отказ = Истина;
    
    ~Конец:

КонецПроцедуры
7 kuzyara
 
26.05.15
09:37
приглашаю побаловаться в эмми ;) 45824717
8 Andy13
 
26.05.15
09:39
(6) Это что? Это прям в обработке загрузки - выгрузки сделано? Это не в "Конвертации", там где закладочки обработчиков?

Обычно обработка загрузки - выгрузки исполняет строку текста обработчика и потому не отлаживается.

В виде (6) вполне в отладчике всё видно должно быть.

Или я что-то не догнал.
9 kuzyara
 
26.05.15
09:45
(6), да, скопировал из обработки, которая по кнопке "Сформировать модуль отладки выгрузки". Выгрузки(!) мать её, выгрузки! ЧЯДНТ?
10 cons74
 
26.05.15
10:48
Погуляй на свежем воздухе.
Все уже написано - а ты в упор не видишь.
Сказано же
"Отладка обработчика "После загрузки параметров" не поддерживается. "
Т.е. не сделала фирма 1с такого чтоб ты мог в отладчике в неё зайти.
Тем более что как сказано в (8)"обработка загрузки - выгрузки исполняет строку текста обработчика и потому не отлаживается. ".
2 + 2 = 3.9999999999999999999999999999999...