|
Правила обмена данными (табличная часть в подчиненный справочник) | ☑ | ||
---|---|---|---|---|
0
PeterGr
28.11.12
✎
20:06
|
Помогите пожалуйста разобраться с правилами обмена, использую стандартный обмен между «Бухгалтерия для Украины» и «Управление торговлей для Украины». Необходимо настроить перенос единиц измерения. В направлении ут -> бухгалтерия ед. измерения переносятся. А из бухгалтерии в ут нет. В бухгалтерии это табличная часть номенклатуры в ут – подчиненный справочник. Подскажите, как настроить правила конвертации объектов для табличной части единицы измерения в подчиненный справочник. Третий день разбираюсь с конвертацией данных...
|
|||
1
PeterGr
29.11.12
✎
14:55
|
Пробую выгружать, в ПКО Номенклатура в обработчике событий "После выгрузки"
Если Не Источник.ЭтоГруппа Тогда УзелЕдиницИзмерения = СоздатьУзел("ЕдиницыИзмерения"); КвоЕдиниц = Источник.ЕдиницыИзмерения.Количество(); УстановитьАтрибут(УзелЕдиницИзмерения, "КвоЕдиниц", КвоЕдиниц); Для каждого стр из Источник.ЕдиницыИзмерения Цикл УстановитьАтрибут(УзелЕдиницИзмерения, "Единица_"+стр.НомерСтроки, стр.ЕдиницаИзмерения.Наименование); УстановитьАтрибут(УзелЕдиницИзмерения, "Вес_"+стр.НомерСтроки, стр.Вес); УстановитьАтрибут(УзелЕдиницИзмерения, "Коэффициент_"+стр.НомерСтроки, стр.Коэффициент); КонецЦикла; ДобавитьПодчиненный(Приемник, УзелЕдиницИзмерения); КонецЕсли; Не знаю как обработать загрузку, в каком обработчике событий и как получить узел "ЕдиницыИзмерения". При загрузке в УТ "Ошибка получения значения свойства объекта (по имени свойства источника)". |
|||
2
Судачатник
29.11.12
✎
15:19
|
Попробуй так:
1. Создаешь ПКО "ЕдИзмвУТ": Источник пустой, Приемник - справочник Ед изм в УТ (не знаю как называется). В ПКС проставляешь галочки получить из входящих данных (Код,Наименование, Владелец), поиск по владельцу и наименованию. Галочку на не запоминать выгруженные объекты в ПКО. 2. В ПВД "Номенклатура" формируешь исходящие данные и передаешь через Формируешь ИсходящиеДанные и потом ВыгрузитьПоПравилу(,,,ИсходящиеДанные,ЕдИзмвУТ); |
|||
3
PeterGr
29.11.12
✎
16:29
|
Большое, огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!
Все работает. Только ВыгрузитьПоПравилу(Объект.Ссылка,, ВходящиеДанные,, "ЕдиницыИзмеренияУТ"); |
|||
4
PeterGr
30.11.12
✎
01:59
|
Неправильно загружались единицы измерения в УТ (удваивались и перетирались), из за неверного поиска.
Добавил в ПКО "ЕдиницыИзмеренияУТ" в обработчик событий "После загрузки" код Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЕдиницыИзмерения.ЕдиницаПоКлассификатору, | ЕдиницыИзмерения.Коэффициент, | ЕдиницыИзмерения.Вес, | ЕдиницыИзмерения.Ссылка |ИЗ | Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения |ГДЕ | ЕдиницыИзмерения.Владелец = &Владелец"; Запрос.УстановитьПараметр("Владелец", Объект.Владелец.Ссылка); Выборка = Запрос.Выполнить().Выбрать(); флНайден = 0; НайденнаяЕдиницаИзмерения = Неопределено; Пока Выборка.Следующий() Цикл Если Выборка.ЕдиницаПоКлассификатору.Наименование = Объект.ЕдиницаПоКлассификатору.Наименование Тогда НайденнаяЕдиницаИзмерения = Выборка.Ссылка.ПолучитьОбъект(); флНайден = 1; Прервать; КонецЕсли КонецЦикла; Если флНайден = 0 Тогда НоваяЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); НоваяЕдиницаИзмерения.Владелец = Объект.Владелец.Ссылка; НоваяЕдиницаИзмерения.Вес = Объект.Вес; НоваяЕдиницаИзмерения.Коэффициент = Объект.Коэффициент; НоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору = Объект.ЕдиницаПоКлассификатору.Ссылка; НоваяЕдиницаИзмерения.Наименование = Объект.ЕдиницаПоКлассификатору.Наименование; НоваяЕдиницаИзмерения.Записать(); Сообщить("Записан новый элемент единица измерения "+НоваяЕдиницаИзмерения.Код); Иначе НайденнаяЕдиницаИзмерения.Вес = Объект.Вес; НайденнаяЕдиницаИзмерения.Коэффициент = Объект.Коэффициент; НайденнаяЕдиницаИзмерения.Записать(); КонецЕсли; Отказ = Истина; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |