Имя: Пароль:
1C
1С v8
Конвертация данных, хочу разобраться с сопоставлением
0 lg2marvel
 
05.06.15
10:49
Добрый день, настраиваю конвертациюданных из УТ11 ("ДАЛИОН: Управление магазином.ПРО", ред. 1.2) в БП КОРП 3.0 8.3.5, в принципе довольно таки успешно, обмен бегает туда и обратно (односторонний), но не все данные сопоставляются (а хотелось бы). Хочу разобраться что ж все таки не так. Вот пример:
Документ Приходная накладная, документ переносится в БП, но не заполняются реквизиты Фирма, Склад, Валюта.
В конвертации  
http://i.piccy.info/i9/04f52e440bdfa903d0fe7e2061c6f120/1433490142/278139/908740/1.jpg
Смотрю сопоставления в справочнике:
http://i.piccy.info/i9/8ce2e647deea41a604bd285a264d7062/1433490400/245185/908740/2.jpg

В базе ИНН совпадает

Что еще может быть не так?
1 lg2marvel
 
05.06.15
10:53
та же ситуация с реквизитами Склад и Валюта
2 azt-yur
 
05.06.15
10:58
Проверь галку для ПКО документа "Не выгружать объекты свойств источника по ссылка"
3 lg2marvel
 
05.06.15
11:14
Галка не стоит
Накладная загружается следующим образом
http://i.piccy.info/i9/955490acffe1769452121ac696804fd8/1433492018/72332/908740/1.jpg

В обработчике после загрузки следующее:
Если ПараметрыОбъекта["УслугиТабличнаяЧасть"] <> Неопределено Тогда
    
    ПараметрыОбъекта["УслугиТабличнаяЧасть"].Сортировать("НомерСтроки Убыв");
    
    МассивСтрок = ПараметрыОбъекта["УслугиТабличнаяЧасть"].НайтиСтроки(Новый Структура("РазноситьНаСебестоимостьТоваров", Истина));
    

    Для Каждого ТекСтрока Из МассивСтрок Цикл
        
        НовСтрокаДопРасхода = Параметры.ДопРасходы.Добавить();
        
        СтрокаУслуги = Объект.Услуги[ТекСтрока.НомерСтроки];
        
        НовСтрокаДопРасхода.ПоступлениеОбъект  = Объект;
        НовСтрокаДопРасхода.Дата               = Объект.Дата;
        НовСтрокаДопРасхода.Организация        = Объект.Организация;
        НовСтрокаДопРасхода.ВалютаДокумента    = Объект.ВалютаДокумента;
        НовСтрокаДопРасхода.СуммаВключаетНДС   = Объект.СуммаВключаетНДС;
        НовСтрокаДопРасхода.Контрагент         = ?(ЗначениеЗаполнено(ТекСтрока.Контрагент), ТекСтрока.Контрагент, Объект.Контрагент);
        НовСтрокаДопРасхода.ДоговорКонтрагента = ?(ЗначениеЗаполнено(ТекСтрока.ДоговорКонтрагента), ТекСтрока.ДоговорКонтрагента, Объект.ДоговорКонтрагента);
        НовСтрокаДопРасхода.СтавкаНДС          = СтрокаУслуги.СтавкаНДС;
        НовСтрокаДопРасхода.Сумма              = СтрокаУслуги.Сумма;
        НовСтрокаДопРасхода.СуммаНДС           = СтрокаУслуги.СуммаНДС;
        
        Объект.Услуги.Удалить(СтрокаУслуги);
        
    КонецЦикла;
    
КонецЕсли;

Для Каждого ТекСтрока Из Объект.Товары Цикл
    Документы.ПоступлениеТоваровУслуг.ЗаполнитьОтражениеВУСНВСтрокеТабличнойЧасти(Объект, ТекСтрока);
КонецЦикла;

Для Каждого ТекСтрока Из Объект.Услуги Цикл
    Документы.ПоступлениеТоваровУслуг.ЗаполнитьОтражениеВУСНВСтрокеТабличнойЧасти(Объект, ТекСтрока);
КонецЦикла;

ПлательщикНДС    = УчетнаяПолитика.ПлательщикНДС(Объект.Организация, Объект.Дата);
Если НЕ ПлательщикНДС Тогда
    Объект.НДСВключенВСтоимость    = Истина;
КонецЕсли;

НомерСФ = ПараметрыОбъекта.Получить("НомерСчетаФактуры");
ДатаСФ  = ПараметрыОбъекта.Получить("ДатаСчетаФактуры");

Если ЗначениеЗаполнено(Объект.ДоговорКонтрагента)
        И Не Объект.ДоговорКонтрагента.УчетАгентскогоНДС
        И ЗначениеЗаполнено(НомерСФ)
        И ЗначениеЗаполнено(ДатаСФ) Тогда
        
    Если НЕ Параметры.Свойство("ПоступленияСоСчетамиФактурами") ИЛИ ТипЗнч(Параметры.ПоступленияСоСчетамиФактурами) <> Тип("Массив") Тогда
        Параметры.Вставить("ПоступленияСоСчетамиФактурами", Новый Массив);
    КонецЕсли;
    
    Структура = Новый Структура("Объект, НомерСчетаФактуры, ДатаСчетаФактуры", Объект, НомерСФ, ДатаСФ);
    Параметры.ПоступленияСоСчетамиФактурами.Добавить(Структура);
    
КонецЕсли;

СчетаУчетаВДокументах.ЗаполнитьПередОтображениемПользователю(Объект);
4 lg2marvel
 
05.06.15
11:16
Галка только "Искать объект приемника по внутреннему идентификатору объекта источника"
5 azt-yur
 
05.06.15
11:19
обмен по планам обмена? если да, то проверьте регистр "Соответствия объектов информационных баз"
6 azt-yur
 
05.06.15
11:20
какие галки стоят у ПКО справочников?
7 lg2marvel
 
05.06.15
11:22
У всех "Искать объект приемника по внутреннему идентификатору объекта источника"
http://i.piccy.info/i9/8759b45cfb8719e8f0ce4cd84e4bd780/1433492522/245302/908740/1.jpg
8 lg2marvel
 
05.06.15
11:23
Попробую с "Продолжить поиск..."
9 lg2marvel
 
05.06.15
11:38
И, похоже, что это оно! Благодарю добрый человек!

Еще вопрос, есть ли смысл для всех справочников проставить галку "Продолжить поиск..."?
10 lg2marvel
 
05.06.15
11:41
хм, и теперь ошибка при выгрузке данные в источник:

{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(14838)}: Error calling context method (НачатьЗапись)
        ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелДляОбмена);
because:
Exchange plan item data is locked by another operation
because:
Operation cannot be performed due to version mismatch or lack of database record (entry may have been modified or deleted)!
11 azt-yur
 
05.06.15
11:54
(10) что то мне кажется это не связанная с этим ошибка.
"потому что: обменный пункт плана данных заблокирован другой операцией, потому что: операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
никто узел не мог изменить во время обмена?
12 azt-yur
 
05.06.15
11:56
(9) если до начала обмена между базами в обоих велся учет и собственные справочники, либо справочники могут заводиться в обоих базах, то есть смысл проставить данную галочку
13 lg2marvel
 
05.06.15
11:57
(11) Да, мне тоже так кажется, сейчас выгружу чистую базу проверю на ней.
(12) Еще раз спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший