|
Конвертация данных: ошибка при передачи параметра в алгоритм | ☑ | ||
---|---|---|---|---|
0
fantomrik
27.02.17
✎
15:27
|
Коллеги, привет!
Есть правила обмена. В которых 3 ПВД. Есть глобальный параметр - ИмяФайлаРегистрацииИзменений = "D:\Exchange_1C\Logs\Uploads_" + ТекущаяДатаСтрокой + ".txt" В конце каждого ПВД получатся имя глобального параметра (файла) и алгоритме с этим параметром записывается В ПВД: ИмяФайла = Параметры.ИмяФайлаРегистрацииИзменений; Дописывать = Истина; ТекстСтроки = "Бла бла бла"; Выполнить(Алгоритмы.ЗаписьТекста); В Алгоритме: Текст = Новый ЗаписьТекста; Текст.Открыть(ИмяФайла, КодировкаТекста.ANSI, , Дописывать); Текст.ЗаписатьСтроку(ТекстСтроки); Текст.Закрыть(); Если выполнять обмен по правилам вречную, через УниверсальныйОбмен - все хорошо, логирование работает. Но если попытаться программно создать обработку, подставить правила и параметры - ругается на на имя параметра "ИмяФайла". ПВД = МойПВД Обработчик = ПередОбработкойВыгрузкиДанных ОписаниеОшибки = Ошибка при вызове метода контекста (Открыть): Недопустимое значение параметра (параметр номер '1') ПозицияМодуля = (6) КодСообщения = 31 Тут точнее на пвд ругается, но методом научного тыка выяснил что имя ему не нравится... Сталкивался может кто? |
|||
1
fantomrik
27.02.17
✎
15:46
|
ап
|
|||
2
vicof
27.02.17
✎
15:49
|
Ну на сервере создается, а путь клиентский указываешь, например.
|
|||
3
fantomrik
27.02.17
✎
16:07
|
(2) Инициализция обработки и ОбменXML.ВыполнитьВыгрузку() идут в одной процедуре.
При иницализации в ОбменXML.Параметры - вижу свой параметр он заполнился, но в ПВД первом пред вызовом алгоритма пишу Сообщить("Имя файла выгрузки:" + Параметры.ИмяФайлаРегистрацииИзменений) выводит пустое... Почему теряется имя и как исправить ума не приложу( |
|||
4
fantomrik
27.02.17
✎
16:07
|
База серверная, но отлаживаю ее на терминале на этом же серевере
|
|||
5
h-sp
27.02.17
✎
16:22
|
(4) это ничего не меняет.
|
|||
6
fantomrik
27.02.17
✎
16:22
|
(5) И какое решение?)
|
|||
7
fantomrik
27.02.17
✎
16:23
|
Кстати база 8.1 и на платформе 8.1 работает, так уж повилось и пока не изменить этого.
|
|||
8
vicof
27.02.17
✎
16:26
|
(3) Надо посмтреть стек вызовов
|
|||
9
fantomrik
27.02.17
✎
16:35
|
(8) Ну выгрузка идет в одной процедуре. тоесть инициализация обработки, загрузка правил (ПослеЗАгрузкиПравилОбмена создается мой файл лога как раз) и далее выгрузка по ПВД из правил обмена. Но уже в первом ПВД параметр глобальный почему то равен нулю
Попытка ОбменXML = Обработки.УниверсальныйОбменДаннымиXML81.Создать(); ОбменXML.ИмяФайлаПравилОбмена = ИмяФайлаПравил; ОбменXML.ИмяФайлаОбмена = ИмяФайлаОбмена; ОбменXML.ЗагрузитьПравилаОбмена(ОбменXML.ИмяФайлаПравилОбмена); ОбменXML.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 2; ОбменXML.РежимОбмена = "Выгрузка"; ОбменXML.ПараметрыИнициализированы = Истина; Исключение Возврат; КонецПопытки; Попытка ОбменXML.ВыполнитьВыгрузку(); Исключение Ошибки = ОписаниеОшибки(); Возврат; КонецПопытки; В какой момент мне стек вызовов смотреть? |
|||
10
fantomrik
27.02.17
✎
16:44
|
Инициализацию начальную параметров перенес из ПослеЗагрузкиПравилОбмена в ПередВыгрузкойДанных и Все взлетело.
Спасибо всем! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |