Имя: Пароль:
1C
1С v8
КД 3 - не конвертируется объект
0 zippygrill
 
05.04.19
12:53
Всем привет!
Выгружаю товар из ЕРП в БП через КД3 (универ.формат). В файле обмена структура  справочника Вид номенклатуры - есть http://prntscr.com/n7u6s5
Но, на стороне БП поле вид номенклатуры получается битой http://prntscr.com/n7u4yd
В отладке, на стороне загрузки (БП) смотрю ПолученныеПолученные (справочникОбъект.ВидыНоменклатуры) - Ссылка не заполнена, но с заполненным Наименованием http://prntscr.com/n7u5go

никак не пойму в чем прикол.
1 bolero
 
05.04.19
13:01
(0) > никак не пойму в чем прикол

Прикол в том, что в ERP и в БП виды номенклатуры используются совершенно для разных целей и сопоставлять их один к одному совершенно не корректно. В БП достаточно держать два вида номенклатуры: товар и услуга.
2 zippygrill
 
05.04.19
13:04
(1) Я с тобой полностью согласен что по большом счету, в БП достаточно 2. Но, народ планирует вести некий странный учет в ней и нужна более детальная разбивка видов.
3 bolero
 
05.04.19
13:06
(2) ТЗ на "некий странный учет" в студию. Вангую, что там номенклатурные группы больше пригодятся, а не виды номенклатуры.
4 zippygrill
 
05.04.19
13:09
(3) Мы от техники уходим))
5 zippygrill
 
05.04.19
13:15
(3) но вкратце гб хочет вести производство (дочерней фирмы) в БП и она хочет разнообразить виды.
6 zippygrill
 
05.04.19
14:35
апну
7 bolero
 
05.04.19
14:36
(5) > она хочет разнообразить виды
она там ГБ или Мичурин?

Прежде чем какие-то хотелки реализовывать - необходимо их формализовать в письменном виде.

Когда просишь бухгалтеров свои мысли в письменную форму перевести - иногда такие чудеса случаются, что диву даешься.

Копировать наименование видов номенклатуры из ERP в БП - в корне неправильно. Тем более, что кроме наименования и товар/услуга там синхронизировать больше нечего, остальные элементы ERP-шного вида номенклатуры в БП отсутствуют.
8 zippygrill
 
05.04.19
14:46
(7) утомил своей бюрократией))
9 zippygrill
 
05.04.19
15:40
похоже только ссылка выгружается
10 Skylark
 
05.04.19
16:01
Сложно так "по фотографии" что-то посоветовать, надо в КД смотреть где чего какие галки.
В КД3 то удалось этот обмен загрузить?
11 Cyberhawk
 
05.04.19
16:29
"на стороне БП поле вид номенклатуры получается битой" // Почему ожидается другое?
12 zippygrill
 
05.04.19
16:34
(10) Конечно загружен
13 rphosts
 
05.04.19
17:13
(0) ПКО-то для ВидовНоменклатуры настроено? Если если этот справочник зарегить к выгрузке(ПОД тоже потребуется) и провести обмен он в БП переносится?
14 MaxS
 
05.04.19
17:57
(0) Ошибки нет. Так работает любой обмен не только через универсальный формат.
В файле есть ссылка на вид номенклатуры. Самого элемента вида номенклатуры очевидно нет. Нужно зарегистрировать виды номенклатуры в ERP и обменяться с БП.
15 zippygrill
 
05.04.19
18:20
(13) а в плане обмена спр.ВидыНоменклатуры не включен в Состав))
16 MaxS
 
05.04.19
18:32
(15) На скриншот формат 1.6, значит типовая ERP 2.4.7, там вид номенклатуры уже включен в состав.
17 zippygrill
 
05.04.19
18:39
(16) 2.4.6 у меня :(
18 zippygrill
 
05.04.19
18:40
что ж, включу на тестовой..
19 MaxS
 
05.04.19
18:49
(18) А откуда формат 1.6 взялся тогда?
И не только в состав, а ещё и в подписки на событие нужно внести.
А можно и не менять конфигурацию. Обработкой "Выгрузка загрузка EnterpriseData" вручную выгрузить/загрузить виды номенклатуры. При условии, что они есть в правилах.
20 zippygrill
 
05.04.19
18:52
(19) в расширении функцию которая формирует СЗ с форматам изменил
21 zippygrill
 
05.04.19
18:53
(18) С видом решено. Я уже включил в Состав, в ПР - событие ПОслеОбработки номенклатуры включил регистрацию вида и норм ушел в файл как отдельная структура
22 zippygrill
 
05.04.19
18:54
собственно и загрузился вид номенклатуры как положено
23 zippygrill
 
05.04.19
18:54
сейчас БП почему то использует менеджер обмена из внешней обработки.
24 zippygrill
 
05.04.19
18:54
Не использует
25 zippygrill
 
05.04.19
18:57
+(24) всмысле что на форме узла вернул возможность - но обмен использует модуль из конфы http://prntscr.com/n7zxha
26 zippygrill
 
08.04.19
10:45
апну тему
В БП 3 файл внешней обработки с менеджером обмена игнорируется. Где-то заглушка стоит наверное?
27 Cyberhawk
 
08.04.19
15:36
"В БП 3 файл внешней обработки с менеджером обмена игнорируется" // Узлов (кроме собственного) плана обмена через универсальный формат больше одного? Если да, то в них смотри - обработка указывается в каждом узле, а используется первая попавшаяся - по крайней мере одно время так было :)
28 MaxS
 
08.04.19
18:15
// ОбменДаннымиXDTOСервер в расширении
Процедура ED_ПолучитьВерсиюФорматаОбмена(ВерсииФормата, Знач УзелИнформационнойБазы)
    
    Запрос = Новый Запрос(
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    СинхронизацияДанныхЧерезУниверсальныйФормат.ПутьКМенеджеруОбмена КАК ПутьКМенеджеруОбмена,
    |    СинхронизацияДанныхЧерезУниверсальныйФормат.ВерсияФорматаОбмена КАК ВерсияФорматаОбмена
    |ИЗ
    |    ПланОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат КАК СинхронизацияДанныхЧерезУниверсальныйФормат
    |ГДЕ
    |    СинхронизацияДанныхЧерезУниверсальныйФормат.ПутьКМенеджеруОбмена <> """"
    |    И СинхронизацияДанныхЧерезУниверсальныйФормат.Ссылка = &Ссылка");
    
    Запрос.УстановитьПараметр("Ссылка", УзелИнформационнойБазы);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        
        ИмяОбработки = Выборка.ПутьКМенеджеруОбмена;
        ФайлОбработки = Новый Файл(ИмяОбработки);
        Если НЕ ФайлОбработки.Существует() Тогда
            Продолжить;
        КонецЕсли;
        
        Если НЕ ОбщегоНазначенияКлиентСервер.РежимОтладки() Тогда
            ДанныеОбработки = Новый ДвоичныеДанные(ИмяОбработки);
            АдресОбработки  = ПоместитьВоВременноеХранилище(ДанныеОбработки);
            
            Если ОбщегоНазначения.ЕстьЗащитаОтОпасныхДействий() Тогда
                ИмяОбработки = ВнешниеОбработки.Подключить(АдресОбработки, , ,
                ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
            Иначе
                ИмяОбработки = ВнешниеОбработки.Подключить(АдресОбработки);
            КонецЕсли;
        КонецЕсли;
        
        МенеджерОбмена = ВнешниеОбработки.Создать(ИмяОбработки);
        
        ВерсииФормата.Вставить(Выборка.ВерсияФорматаОбмена, МенеджерОбмена);
        
    КонецЦикла;
    
КонецПроцедуры


&Вместо("ВерсииФорматаОбмена")
Функция ED_ВерсииФорматаОбмена(Знач УзелИнформационнойБазы)
    
    ВерсииФорматаОбмена = Новый Соответствие;
    ИмяПланаОбмена = "";
    
    Если ЗначениеЗаполнено(УзелИнформационнойБазы) Тогда
        ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы);
        ВерсииФорматаОбмена = ОбменДаннымиСервер.ЗначениеНастройкиПланаОбмена(ИмяПланаОбмена, "ВерсииФорматаОбмена");
        ED_ПолучитьВерсиюФорматаОбмена(ВерсииФорматаОбмена, УзелИнформационнойБазы);
    Иначе
        ED_ОбменДаннымиСервер.ПриПолученииДоступныхВерсийФормата(ВерсииФорматаОбмена);
    КонецЕсли;
    
    Если ВерсииФорматаОбмена.Количество() = 0 Тогда
        Если ЗначениеЗаполнено(УзелИнформационнойБазы) Тогда
            ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'Не заданы версии формата обмена.
                |Имя плана обмена: %1
                |Процедура: ПолучитьВерсииФорматаОбмена(<ВерсииФорматаОбмена>)'"),
                ИмяПланаОбмена);
        Иначе
            ВызватьИсключение НСтр("ru = 'Не заданы версии формата обмена.
                |Процедура: ОбменДаннымиПереопределяемый.ПриПолученииДоступныхВерсийФормата(<ВерсииФорматаОбмена>)'");
        КонецЕсли;
    КонецЕсли;
    
    Результат = Новый Соответствие;
    
    Для Каждого Версия Из ВерсииФорматаОбмена Цикл
        
        Результат.Вставить(СокрЛП(Версия.Ключ), Версия.Значение);
        
    КонецЦикла;
    
    Возврат Результат;
    
    
КонецФункции
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.