|   |   | 
| 
 | Конвертация данных. Загрузка единиц измерения | ☑ | ||
|---|---|---|---|---|
| 0
    
        Slon747 02.06.19✎ 09:52 | 
        Обмен между УТ10 и УТ10.
 Т.к. у единиц измерений владелец номенклатура, то сначала в базе-приемнике должен создаться элемент номенклатуры, а потом единица измерений. Как правильно реализовать обмен? Пока что в ПослеЗагрузки номенклатуры прописал это: Если НЕ Объект.ЭтоГруппа И НЕ Объект.Услуга И ЗначениеЗаполнено(Объект.БазоваяЕдиницаИзмерения) Тогда ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(, Объект.Ссылка); Если ВыборкаЕдиниц.Следующий() Тогда НайденнаяЕдиница = ВыборкаЕдиниц.Ссылка; НайденнаяЕдиницаОбъект = НайденнаяЕдиница.ПолучитьОбъект(); КонецЕсли; Объект.ЕдиницаХраненияОстатков = НайденнаяЕдиница; Если НЕ ЗначениеЗаполнено(Объект.ЕдиницаДляОтчетов) Тогда Объект.ЕдиницаДляОтчетов = НайденнаяЕдиница; КонецЕсли; КонецЕсли; В итоге при первой загрузке единица хранения остатков и отчетов пустые. Заполняются только при повторной загрузке. | |||
| 1
    
        OnNeOn 02.06.19✎ 10:11 | 
        Попробуй В ПКО правило выгрузки единиц измерения положить выше номенклатуры.     | |||
| 2
    
        Slon747 02.06.19✎ 10:37 | 
        (1) Не пойму. А как положить выше номенклатуры?     | |||
| 3
    
        ДенисЧ 02.06.19✎ 10:57 | 
        (2) У правила есть поле порядок     | |||
| 4
    
        Slon747 02.06.19✎ 11:00 | 
        (3) Нашел синие стрелки вверх-вниз.
 Но ЕдиницыИзмерения у меня выше номенклатуры стоит. P.S. В настройках ПКО единиц измерений установлена галочка "Искать объект приемника по внутреннему идентификатору" | |||
| 5
    
        hhhh 02.06.19✎ 11:18 | 
        (4) попробуй тогда ниже номенклатуры     | |||
| 6
    
        Slon747 02.06.19✎ 13:03 | 
        (5) К сожалению, не помогло(     | |||
| 7
    
        OnNeOn 02.06.19✎ 13:09 | 
        (6) Ты через что выгружаешь данные? Через план обмена или обработку Универсальный обмен в формате XML?     | |||
| 8
    
        OnNeOn 02.06.19✎ 13:12 | 
        И я надеюсь ты выгружаешь 1 документ, у тебя на обмене не пачка документов разных типов?     | |||
| 9
    
        OnNeOn 02.06.19✎ 13:14 | 
        И да, проверь что у тебя правильные правила подставляются, у меня бывало, что они кешировались. Напиши какую-нибудь дичь в правилах, и проконтролируй, что бы она выполнилась.     | |||
| 10
    
        Slon747 02.06.19✎ 13:14 | 
        (7) Обмен через УниверсальныйОбменДаннымиXML.epf
 (8) Пока что выгружаю только справочники | |||
| 11
    
        OnNeOn 02.06.19✎ 13:16 | 
        (10) Выгружай 1 запись справочника номенклатуры. Все выгружать тебе не нужно. Выгрузи 1 Запись справочника, загрузи ее и посмотри в ЖР что у тебя с номенклатурой, у меня подозрение, что она перезаписывается несколько раз в течении одной загрузки данных.     | |||
| 12
    
        hhhh 02.06.19✎ 13:58 | 
        (4) запиши объект хотя бы
 Объект.Записать(); ВыборкаЕдиниц = Справочники.ЕдиницыИзмерения.Выбрать(, Объект.Ссылка); а то, сам понимаешь, что у незаписанного объекта, Объект.Ссылка не существует | |||
| 13
    
        Slon747 02.06.19✎ 14:04 | 
        (12) Я ранее пробовал Объект.Записать(); в событии ПослеЗагрузки. Но почему-то в момент загрузки ругалась на "Записать".
 Потом проверил отладчиком. Заметил, что ЕдиницаДляОтчетов заполнена верно, а ЕдиницаХранения - пустая. Убрал весь текст из ПослеЗагрузки и единицы измерения загрузились. Вероятно, нужно было просто поднять номенклатуру выше единиц измерения и больше ничего не делать. Всме спасибо. | |||
| 14
    
        Ёпрст гуру 03.06.19✎ 09:23 | 
        (0) Какой-то х..ней занимаешься. Всё и так работает, штатно. Достаточно иметь 2 ПКО - один ПКО для справочника Единицы измерения и один, для номенклатуры. И о чудо - всё работает и без танцев с бубном и без кода в обработчиках событий.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |