![]() |
|
Конвертация данных. Загрузка единиц измерения | ☑ | ||
---|---|---|---|---|
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 ПКО - один ПКО для справочника Единицы измерения и один, для номенклатуры. И о чудо - всё работает и без танцев с бубном и без кода в обработчиках событий.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |