Имя: Пароль:
1C
1С v8
Обмен
0 StupidDuck
 
05.07.15
15:09
Приветствую! Помогите пожалуйста разобраться с проблемой между УНФ и БП3, я что-то туплю совсем. Баз бухгалтерии несколько, правила загрузки для каждой базы свои, но отличаются совсем незначительно. Так вот проблема в том, что в одну базу все загружается нормально, а при загрузке в другую ругается, что не видит обработчик, хотя в модуле он есть. Полез в отладку в модуль ОбработчикиЗагрузкиИзУправлениеНебольшойФирмой, поставил сначала одну потом миллион точек останова, но выполнение не останавливается - то есть в этот модуль обмен вообще не смотрит! Как так вообще? Я ничего не понимаю, помогите.
1 Повелитель
 
05.07.15
15:14
1. Обработка записана?
2. Иногда помогает закрыть, открыть конфигуратор.
3. Почти кэш.
2 Повелитель
 
05.07.15
15:14
3. Сори со смартфона. Почисти кэш.
3 Cyberhawk
 
05.07.15
15:20
"выполнение не останавливается" // держу пари, и на той базе, где все работает, выполнение кода тоже не останавливается
4 Cyberhawk
 
05.07.15
15:20
А значит, скорее всего, вывод "то есть в этот модуль обмен вообще не смотрит" ошибочный
6 StupidDuck
 
05.07.15
15:31
(1) Стандартная обработка заменена новой(добавлена в конфу). Конфигуратор закрывал раз 5, не помогло. Кэш сейчас попробую почистить.
(4) Да, проверил, и в той не останавливается, хотя когда настраивал - постоянно в отладке сидел. Дело в кэше?
7 Cyberhawk
 
05.07.15
15:42
(6) база сейяас - серверная, полагаю, а отлаживал ты на файловой
8 StupidDuck
 
05.07.15
15:43
(7) Обе базы тестовый файловые
9 StupidDuck
 
05.07.15
15:44
Очистка кэша не помогла
10 Cyberhawk
 
05.07.15
15:44
(7) а вопрос у тебя по какой базе - рабочей или тестовой?
11 StupidDuck
 
05.07.15
15:46
Все вопросы по тестовым базам. В рабочую я еще не переносил ничего - какой смысл если не работает?
12 Cyberhawk
 
05.07.15
15:46
Показывай ошибку на картинке
13 Повелитель
 
05.07.15
15:47
(9) Так эти обработки в базе хранятся, а не в конфигурации?
Тогда все просто, ты в конфигураторе в сохраненной веррсии смотришь. А ту обработку которую запускаешь, она создается в Temp папке.
14 Повелитель
 
05.07.15
15:47
Обычно с торговым оборудованием так в типовых.
15 StupidDuck
 
05.07.15
15:51
16 Cyberhawk
 
05.07.15
15:55
Теперь содержимое указанного в ошибке обработчика из указанного в ошибке ПКО
17 StupidDuck
 
05.07.15
16:00
ПКО ПоступлениеТоваровИУслуг ПослеЗагрузки:
Если РежимЗагрузкиДанныхВИнформационнуюБазу() Тогда
    
    Если Объект.ЗачетАвансов.Количество() > 0 Тогда
        Объект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.ПоДокументу;
    ИначеЕсли Не Объект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.НеЗачитывать Тогда
        Объект.СпособЗачетаАвансов = Перечисления.СпособыЗачетаАвансов.Автоматически;
    КонецЕсли;
    
    Выполнить(Алгоритмы.ОбработатьЗаполнениеДокументаПослеЗагрузки);
    
    Выполнить(Алгоритмы.ОбработатьДоговорКонтрагента);
    
КонецЕсли;


Алгоритм ОбработатьЗаполнениеДокументаПослеЗагрузки:
//Попытка
    Если ТипЗнч(Объект) = Тип("ДокументОбъект.АвансовыйОтчет") Тогда

        ОбработатьАвансовыйОтчет (Объект, ПараметрыОбъекта);
                    
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеТоваровУслуг") Тогда

        ОбработатьПоступлениеТоваров (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеДопРасходов") Тогда

        ОбработатьПоступлениеДопРасходов (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровПоставщику") Тогда
        
        ОбработатьВозвратТоваровПоставщику (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
        
        ОбработатьРеализацияТоваров (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.АктОбОказанииПроизводственныхУслуг") Тогда
        
        ОбработатьАктОбОказанииПроизводственныхУслуг (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ТребованиеНакладная") Тогда
        
        ОбработатьТребованиеНакладная (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетПроизводстваЗаСмену") Тогда
        
        ОбработатьОтчетПроизводстваЗаСмену (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетКомиссионераОПродажах") Тогда
        
        ОбработатьОтчетКомиссионераОПродажах (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетКомитентуОПродажах") Тогда
        
        ОбработатьОтчетКомитентуОПродажах (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ВозвратТоваровОтПокупателя") Тогда
        
        ОбработатьВозвратТоваровОтПокупателя (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПоступлениеИзПереработки") Тогда
        
        ОбработатьПоступлениеИзПереработки (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.РеализацияУслугПоПереработке") Тогда
        
        ОбработатьРеализацияУслугПоПереработке (Объект, ПараметрыОбъекта);
                                                                              
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ПередачаТоваров") Тогда
        
        ОбработатьПередачаТоваров (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОприходованиеТоваров") Тогда
        
        ОбработатьОприходованиеТоваров (Объект, ПараметрыОбъекта);
                                                                                                
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.СписаниеТоваров") Тогда
        
        ОбработатьСписаниеТоваров (Объект, ПараметрыОбъекта);
        
    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ОтчетОРозничныхПродажах") Тогда
        
        ОбработатьОтчетОРозничныхПродажах (Объект, ПараметрыОбъекта);

    ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.КорректировкаДолга") Тогда
        
        ОбработатьКорректировкаДолга (Объект, ПараметрыОбъекта);
        
    КонецЕсли;
    
//Исключение
//    ЗарегистрироватьПредупреждение(НСтр("ru = 'Ошибка при выполнении отложенного заполнения. Правила конвертации: '")+Объект);
//КонецПопытки
18 Cyberhawk
 
05.07.15
16:01
А пробелы перед открывающими скобками - это баг или фича?
19 StupidDuck
 
05.07.15
16:04
(18) Это из типовых правил, я сам пробелы не расставлял :) В другой базе все отрабатывает без проблем.
з.ы. Самое интересное, процедура обработатьАвансовыйОтчет вообще не должна вызываться, поскольку условие " Если ТипЗнч(Объект) = Тип("ДокументОбъект.АвансовыйОтчет") Тогда" всегда ложь - авансовых отчетов просто нет в унф.
20 hhhh
 
06.07.15
00:02
(19) это условие никогда не даст ложь. Оно должно вылететь с ошибкой.
21 StupidDuck
 
06.07.15
10:56
(20) Почему это? Сам вид документа Авансовый отчет в УНФ есть, но нет ни одного созданного дока.
22 hhhh
 
06.07.15
11:44
(21) синтаксическая ошибка ведь. Причем тут выполнение условия. Синтаксический контроль идет всего модуля. Абсолютно все процедуры проверяются. Где-то в самом дальнем углу модуля запятую не поставите, всё, вылет. Хотя может там у вас одна строчка выполняется всего.
23 StupidDuck
 
06.07.15
12:02
(22) Не понимаю о какой синтаксической ошибке идет речь.
24 Cyberhawk
 
06.07.15
12:38
У теб ошибка в алгоритме конвертации  ОбработатьЗаполнениеДокументаПослеЗагрузки, с каких щей (в контексте чего) ты там используешь процедуру "ОбработатьАвансовыйОтчет"?
25 Cyberhawk
 
06.07.15
12:40
"Если выгрузка или загрузка происходят на платформе "1С: Предприятие 8", то код обработчиков, не интегрируется в код обработки обмена данными, а выгружается в файл правил обмена. В процессе обмена данными код обработчиков или алгоритмов берется из файла правил и выполняется непосредственно в контексте оператора "Выполнить"."
http://its.1c.ru/db/metod8dev#content:2942:hdoc
26 Cyberhawk
 
06.07.15
12:41
Проверяй файл загрузки (можешь текстовым поиском по xml-файлу, открытому в блокноте/браузере) - есть ли в нем твоя процедура