Вход | Регистрация


Конвертация данных 3.0

Конвертация данных 3.0
Я
   Nyarlathotep
 
11.10.17 - 12:12
Всем привет!

Делаю обмен между двумя бухгалтериями 3.0 через конвертацию данных 3.0. Нужно передать из одной базы в другую справочник "Расходы будущих периодов". Создаю в конвертации новое правило конвертации объектов, на выгрузку, объектом конфигурации указываю нужный справочник из бухгалтерии, но в объектах формата такого справочника нет (загружал разные версии формата, все равно нет). Создал этот объект формата вручную, указа в ПКО, настроил правила конвертации свойств, при выгрузке пишет мне ошибку - "Объект не найден". Что я делаю не правильно? Как правильно сделать обмен с помощью конвертации в таком случае?
 
 
   Nyarlathotep
 
1 - 11.10.17 - 12:19
Вот такой текст модуля МенеджерОбменаЧерезУниверсальныйФормат у меня в итоге получается:


// Конвертация БП от 10.10.2017 20:54:09

#Область ПроцедурыКонвертации

Процедура ПередКонвертацией(КомпонентыОбмена) Экспорт
    
КонецПроцедуры

Процедура ПослеКонвертации(КомпонентыОбмена) Экспорт
    
КонецПроцедуры

Процедура ПередОтложеннымЗаполнением(КомпонентыОбмена) Экспорт
    
КонецПроцедуры

#КонецОбласти

#Область ПОД
// Заполняет таблицу правил обработки данных.

//
// Параметры:

//  НаправлениеОбмена - строка ("Отправка" либо "Получение").
//  ПравилаОбработкиДанных - таблица значений, в которую добавляются правила. 

Процедура ЗаполнитьПравилаОбработкиДанных(НаправлениеОбмена, ПравилаОбработкиДанных) Экспорт
    Если НаправлениеОбмена = "Отправка" Тогда
    Если ПравилаОбработкиДанных.Колонки.Найти("ОчисткаДанных") = Неопределено Тогда
        ПравилаОбработкиДанных.Колонки.Добавить("ОчисткаДанных");
    КонецЕсли;
        ДобавитьПОД_СправочникСсылка_РасходыБудущихПериодов(ПравилаОбработкиДанных);
    КонецЕсли;
КонецПроцедуры

#Область Отправка

#Область СправочникСсылка_РасходыБудущихПериодов

Процедура ДобавитьПОД_СправочникСсылка_РасходыБудущихПериодов(ПравилаОбработкиДанных)
    ПравилоОбработки = ПравилаОбработкиДанных.Добавить();
    ПравилоОбработки.Имя = "СправочникСсылка_РасходыБудущихПериодов";
    ПравилоОбработки.ОбъектВыборкиМетаданные = Метаданные.Справочники.РасходыБудущихПериодов;
    ПравилоОбработки.ОчисткаДанных = Ложь;
    ПравилоОбработки.ИспользуемыеПКО.Добавить("СправочникСсылка_РасходыБудущихПериодов_Справочник");
КонецПроцедуры
#КонецОбласти
#КонецОбласти

#КонецОбласти
#Область ПКО
// Заполняет таблицу правил конвертации объектов.

//
// Параметры:

//  НаправлениеОбмена - строка ("Отправка" либо "Получение").
//  ПравилаКонвертации - таблица значений, в которую добавляются правила. 

Процедура ЗаполнитьПравилаКонвертацииОбъектов(НаправлениеОбмена, ПравилаКонвертации) Экспорт
    Если НаправлениеОбмена = "Отправка" Тогда
        ДобавитьПКО_СправочникСсылка_РасходыБудущихПериодов_Справочник(ПравилаКонвертации);
    КонецЕсли;
КонецПроцедуры

#Область Отправка

#Область СправочникСсылка_РасходыБудущихПериодов_Справочник

Процедура ДобавитьПКО_СправочникСсылка_РасходыБудущихПериодов_Справочник(ПравилаКонвертации)

    ПравилоКонвертации = ОбменДаннымиXDTOСервер.ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации);
    ПравилоКонвертации.ИмяПКО = "СправочникСсылка_РасходыБудущихПериодов_Справочник";
    ПравилоКонвертации.ОбъектДанных = Метаданные.Справочники.РасходыБудущихПериодов;
    ПравилоКонвертации.ОбъектФормата = "Справочник.РасходыБудущихПериодов";
    ПравилоКонвертации.ПравилоДляГруппыСправочника = Ложь;
    ПравилоКонвертации.ВариантИдентификации = "ПоУникальномуИдентификатору";
    
    НоваяСтрока = ПравилоКонвертации.Свойства.Добавить();
    НоваяСтрока.СвойствоКонфигурации = "Код";
    НоваяСтрока.СвойствоФормата = "Код";
    
    НоваяСтрока = ПравилоКонвертации.Свойства.Добавить();
    НоваяСтрока.СвойствоКонфигурации = "Наименование";
    НоваяСтрока.СвойствоФормата = "Наименование";

КонецПроцедуры
#КонецОбласти
#КонецОбласти

#КонецОбласти
#Область ПКПД
// Заполняет таблицу правил конвертации предопределенных данных.

//
// Параметры:

//  НаправлениеОбмена - строка ("Отправка" либо "Получение").
//  ПравилаКонвертации - таблица значений, в которую будут добавлены правила. 

Процедура ЗаполнитьПравилаКонвертацииПредопределенныхДанных(НаправлениеОбмена, ПравилаКонвертации) Экспорт
КонецПроцедуры

#КонецОбласти

#Область Алгоритмы




#КонецОбласти

#Область Параметры
// Заполняет параметры конвертации.

//
// Параметры:

//  ПараметрыКонвертации - структура, в которую добавляются параметры конвертации.
Процедура ЗаполнитьПараметрыКонвертации(ПараметрыКонвертации) Экспорт
КонецПроцедуры

#КонецОбласти

#Область ОбщегоНазначения
// Процедура-обертка, выполняет запуск указанной в параметрах процедуры модуля менеджера обмена через формат.

//
// Параметры:

//  ИмяПроцедуры - строка.
//  СтруктураПараметров - структура, содержащая передаваемые параметры.

Процедура ВыполнитьПроцедуруМодуляМенеджера(ИмяПроцедуры, Параметры) Экспорт
КонецПроцедуры

#КонецОбласти
   Nyarlathotep
 
2 - 11.10.17 - 12:22
Вот такую ошибку пишет при обмене:

https://drive.google.com/file/d/0B6F_pZSHKOpsbDdDcjZXdmFkOWM/view?usp=sharing
   Шаман
 
3 - 11.10.17 - 12:24
не пользуюсь кд  . не устраивает ее замудреность .
сколько раз  не пытался нетиповой перенести всегда криво с ошибками . не скажу.что я ее  не знаю .
просто отказался от нее. пользуюсь своими методами .
   Nyarlathotep
 
4 - 11.10.17 - 12:27
(3) Пробоавли когда-нибудь добавлять свои объекты в формат данных? Так вообще правильно делать? Чем это грозит?
   Nyarlathotep
 
5 - 11.10.17 - 12:28
(2) Обмен делаю через Синхронизацию данных, через универсальный формат.
   h-sp
 
6 - 11.10.17 - 12:52
в план обмена включил этот справочник?
   azt-yur
 
7 - 11.10.17 - 12:59
(2) Объект не найден - это у тебя не ошибка, а незаписанный объект. Поищи еще событие должно быть с описанием ошибки.
В XDTO-пакеты обоих конфигураций включил новый объект?
Я для себя пока решил сложные обмены делать по старому с КД 2.0, уж много чего не хватает в типовых форматах, а добавлять это все, как потом обновлять их
   MaxS
 
8 - 11.10.17 - 13:28
(0) Зачем добавлять в формат новый объект? Можно же обойтись теми, что есть. Например, взять объект формата Справочник.СтатьиДоходов и перенести им справочник "Расходы будущих периодов". В этом случае достаточно доработать правила и не коверкать конфигурацию. Тем более, что у Вас переносится только код и наименование.
   Nyarlathotep
 
9 - 11.10.17 - 13:43
(6) (7) Сейчас буду общаться с заказчиком, спрошу, нужны ему такие изменения конфигураций или нет.

Я сам предпочитаю писать все обмены самому, через ком или xml, в обменах по моему важны скорость и надежность, а эти вещи, как я убедился, в типовых технологиях обмена 1С не в чести :)

(8) Не думаю что это хорошая идея :)
   MaxS
 
10 - 11.10.17 - 14:03
(9) Не думаю, что изменение конфигурации для простой задачи это хорошая идея. )) Так часто меняется справочник расходы будущих периодов, что критична скорость обмена? ;)
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует