|
Конвертация данных 3.0 | ☑ | ||
---|---|---|---|---|
0
Nyarlathotep
11.10.17
✎
12:12
|
Всем привет!
Делаю обмен между двумя бухгалтериями 3.0 через конвертацию данных 3.0. Нужно передать из одной базы в другую справочник "Расходы будущих периодов". Создаю в конвертации новое правило конвертации объектов, на выгрузку, объектом конфигурации указываю нужный справочник из бухгалтерии, но в объектах формата такого справочника нет (загружал разные версии формата, все равно нет). Создал этот объект формата вручную, указа в ПКО, настроил правила конвертации свойств, при выгрузке пишет мне ошибку - "Объект не найден". Что я делаю не правильно? Как правильно сделать обмен с помощью конвертации в таком случае? |
|||
1
Nyarlathotep
11.10.17
✎
12:19
|
Вот такой текст модуля МенеджерОбменаЧерезУниверсальныйФормат у меня в итоге получается:
// Конвертация БП от 10.10.2017 20:54:09 #Область ПроцедурыКонвертации Процедура ПередКонвертацией(КомпонентыОбмена) Экспорт КонецПроцедуры Процедура ПослеКонвертации(КомпонентыОбмена) Экспорт КонецПроцедуры Процедура ПередОтложеннымЗаполнением(КомпонентыОбмена) Экспорт КонецПроцедуры #КонецОбласти #Область ПОД // Заполняет таблицу правил обработки данных. // // Параметры: // НаправлениеОбмена - строка ("Отправка" либо "Получение"). // ПравилаОбработкиДанных - таблица значений, в которую добавляются правила. Процедура ЗаполнитьПравилаОбработкиДанных(НаправлениеОбмена, ПравилаОбработкиДанных) Экспорт Если НаправлениеОбмена = "Отправка" Тогда Если ПравилаОбработкиДанных.Колонки.Найти("ОчисткаДанных") = Неопределено Тогда ПравилаОбработкиДанных.Колонки.Добавить("ОчисткаДанных"); КонецЕсли; ДобавитьПОД_СправочникСсылка_РасходыБудущихПериодов(ПравилаОбработкиДанных); КонецЕсли; КонецПроцедуры #Область Отправка #Область СправочникСсылка_РасходыБудущихПериодов Процедура ДобавитьПОД_СправочникСсылка_РасходыБудущихПериодов(ПравилаОбработкиДанных) ПравилоОбработки = ПравилаОбработкиДанных.Добавить(); ПравилоОбработки.Имя = "СправочникСсылка_РасходыБудущихПериодов"; ПравилоОбработки.ОбъектВыборкиМетаданные = Метаданные.Справочники.РасходыБудущихПериодов; ПравилоОбработки.ОчисткаДанных = Ложь; ПравилоОбработки.ИспользуемыеПКО.Добавить("СправочникСсылка_РасходыБудущихПериодов_Справочник"); КонецПроцедуры #КонецОбласти #КонецОбласти #КонецОбласти #Область ПКО // Заполняет таблицу правил конвертации объектов. // // Параметры: // НаправлениеОбмена - строка ("Отправка" либо "Получение"). // ПравилаКонвертации - таблица значений, в которую добавляются правила. Процедура ЗаполнитьПравилаКонвертацииОбъектов(НаправлениеОбмена, ПравилаКонвертации) Экспорт Если НаправлениеОбмена = "Отправка" Тогда ДобавитьПКО_СправочникСсылка_РасходыБудущихПериодов_Справочник(ПравилаКонвертации); КонецЕсли; КонецПроцедуры #Область Отправка #Область СправочникСсылка_РасходыБудущихПериодов_Справочник Процедура ДобавитьПКО_СправочникСсылка_РасходыБудущихПериодов_Справочник(ПравилаКонвертации) ПравилоКонвертации = ОбменДаннымиXDTOСервер.ИнициализироватьПравилоКонвертацииОбъекта(ПравилаКонвертации); ПравилоКонвертации.ИмяПКО = "СправочникСсылка_РасходыБудущихПериодов_Справочник"; ПравилоКонвертации.ОбъектДанных = Метаданные.Справочники.РасходыБудущихПериодов; ПравилоКонвертации.ОбъектФормата = "Справочник.РасходыБудущихПериодов"; ПравилоКонвертации.ПравилоДляГруппыСправочника = Ложь; ПравилоКонвертации.ВариантИдентификации = "ПоУникальномуИдентификатору"; НоваяСтрока = ПравилоКонвертации.Свойства.Добавить(); НоваяСтрока.СвойствоКонфигурации = "Код"; НоваяСтрока.СвойствоФормата = "Код"; НоваяСтрока = ПравилоКонвертации.Свойства.Добавить(); НоваяСтрока.СвойствоКонфигурации = "Наименование"; НоваяСтрока.СвойствоФормата = "Наименование"; КонецПроцедуры #КонецОбласти #КонецОбласти #КонецОбласти #Область ПКПД // Заполняет таблицу правил конвертации предопределенных данных. // // Параметры: // НаправлениеОбмена - строка ("Отправка" либо "Получение"). // ПравилаКонвертации - таблица значений, в которую будут добавлены правила. Процедура ЗаполнитьПравилаКонвертацииПредопределенныхДанных(НаправлениеОбмена, ПравилаКонвертации) Экспорт КонецПроцедуры #КонецОбласти #Область Алгоритмы #КонецОбласти #Область Параметры // Заполняет параметры конвертации. // // Параметры: // ПараметрыКонвертации - структура, в которую добавляются параметры конвертации. Процедура ЗаполнитьПараметрыКонвертации(ПараметрыКонвертации) Экспорт КонецПроцедуры #КонецОбласти #Область ОбщегоНазначения // Процедура-обертка, выполняет запуск указанной в параметрах процедуры модуля менеджера обмена через формат. // // Параметры: // ИмяПроцедуры - строка. // СтруктураПараметров - структура, содержащая передаваемые параметры. Процедура ВыполнитьПроцедуруМодуляМенеджера(ИмяПроцедуры, Параметры) Экспорт КонецПроцедуры #КонецОбласти |
|||
2
Nyarlathotep
11.10.17
✎
12:22
|
Вот такую ошибку пишет при обмене:
https://drive.google.com/file/d/0B6F_pZSHKOpsbDdDcjZXdmFkOWM/view?usp=sharing |
|||
3
Шаман
11.10.17
✎
12:24
|
не пользуюсь кд . не устраивает ее замудреность .
сколько раз не пытался нетиповой перенести всегда криво с ошибками . не скажу.что я ее не знаю . просто отказался от нее. пользуюсь своими методами . |
|||
4
Nyarlathotep
11.10.17
✎
12:27
|
(3) Пробоавли когда-нибудь добавлять свои объекты в формат данных? Так вообще правильно делать? Чем это грозит?
|
|||
5
Nyarlathotep
11.10.17
✎
12:28
|
(2) Обмен делаю через Синхронизацию данных, через универсальный формат.
|
|||
6
h-sp
11.10.17
✎
12:52
|
в план обмена включил этот справочник?
|
|||
7
azt-yur
11.10.17
✎
12:59
|
(2) Объект не найден - это у тебя не ошибка, а незаписанный объект. Поищи еще событие должно быть с описанием ошибки.
В XDTO-пакеты обоих конфигураций включил новый объект? Я для себя пока решил сложные обмены делать по старому с КД 2.0, уж много чего не хватает в типовых форматах, а добавлять это все, как потом обновлять их |
|||
8
MaxS
11.10.17
✎
13:28
|
(0) Зачем добавлять в формат новый объект? Можно же обойтись теми, что есть. Например, взять объект формата Справочник.СтатьиДоходов и перенести им справочник "Расходы будущих периодов". В этом случае достаточно доработать правила и не коверкать конфигурацию. Тем более, что у Вас переносится только код и наименование.
|
|||
9
Nyarlathotep
11.10.17
✎
13:43
|
(6) (7) Сейчас буду общаться с заказчиком, спрошу, нужны ему такие изменения конфигураций или нет.
Я сам предпочитаю писать все обмены самому, через ком или xml, в обменах по моему важны скорость и надежность, а эти вещи, как я убедился, в типовых технологиях обмена 1С не в чести :) (8) Не думаю что это хорошая идея :) |
|||
10
MaxS
11.10.17
✎
14:03
|
(9) Не думаю, что изменение конфигурации для простой задачи это хорошая идея. )) Так часто меняется справочник расходы будущих периодов, что критична скорость обмена? ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |