|
Обмен | ☑ | ||
---|---|---|---|---|
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-файлу, открытому в блокноте/браузере) - есть ли в нем твоя процедура
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |