Имя: Пароль:
1C
1С v8
Выгрузка доп.реквизитов документа с помощью Конвертации данных
0 PCcomCat
 
06.03.12
13:49
Доброго времени суток, уважаемые!

В Конвертации данных созданы правила выгрузки документов. После выгрузки объекта типа Документ нужно выгрузить его дополнительные реквизиты.

Как это можно осуществить? Подскажите, пожалуйста!
1 acsent
 
06.03.12
13:50
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    Рег.Объект,
|    Рег.Свойство,
|    Рег.Значение
|ИЗ
|    РегистрСведений.хлЗначенияСвойствОбъектов КАК Рег
|ГДЕ
|    Рег.Объект = &Объект";

Запрос.Параметры.Вставить("Объект", ОбъектИсточник);

Таблица = Запрос.Выполнить().Выгрузить();
Для каждого СтрокаТЗ Из Таблица Цикл
   
   Если ЗначениеЗаполнено(СтрокаТЗ.Значение) Тогда
       ВыгрузитьПоПравилу(СтрокаТЗ,,,,"РегЗначенияСвойствОбъектов");
   КонецЕсли;
   
КонецЦикла;
2 PCcomCat
 
06.03.12
13:57
Спасибо!
Я делала так:    
       ЗаписиДопРеквизитов = РегистрыСведений.ЗначенияСвойствОбъектов;
   ОтборДок = Новый Структура("Объект");
   ОтборДок.Объект = Объект.Ссылка;
   ВыборкаЗаписиДопРеквизитов = ЗаписиДопРеквизитов.Выбрать(ОтборДок);
   Пока ВыборкаЗаписиДопРеквизитов.Следующий() Цикл
       ВыгрузитьПоПравилу(ВыборкаЗаписиДопРеквизитов, , , , "ЗначенияСвойствОбъектов_ЗаписиРегистра");
       Сообщить("Выгрузили доп.реквизит для - " + Объект.Ссылка);
   КонецЦикла;

Но результата не было видно - как оказалось просто поставила кривое условие при выгрузке записи регистра.
3 PCcomCat
 
06.03.12
14:00
Вопрос ещё есть по ходу:

Как выгрузить параметры - я разобралась:

ПередатьОдинПараметрВПриемник("Префикс", Параметры.Организация.Префикс);

А вот как этот параметр по-нормальному получить при загрузке данных? А я xml читаю.

А может вообще не так надо параметры передавать в файл? Подскажите!
4 GenV
 
06.03.12
14:07
(3) Вообще, если ты поставила галочку "при загрузке" и назначила правило конвертации параметр сам выгрузится. А в "После загрузки параметров" их уже можно анализировать.
5 GenV
 
06.03.12
14:07
4+ через Параметры.<...>
6 PCcomCat
 
06.03.12
14:15
(4)Это если я при выгрузке зайду на закладку параметры и руками укажу значения, то да - выгрузятся. (По крайней мере, я так видела в своих экспериментах).

А мне нужно записать значения параметров без участия пользователя. Пользователь тупо указывает файл выгрузки и нажимает выгрузить.

Может у меня кривые руки? Тогда подскажите, в каком месте? (Я не обижусь - очень хочется разобраться).
7 GenV
 
06.03.12
14:17
(6) Сначала выполнится обработчик "Перед выгрузкой данных", потом КД выгрузит параметры. Смекаешь? )
8 PCcomCat
 
06.03.12
14:19
(7) Нет.=(

У меня не получалось.
9 GenV
 
06.03.12
14:22
(8) В "Перед выгрузкой данных" заполняешь нужными значениями свойства "Параметры" (параметры вручную добавлены без значений в КД с галкой "при загрузке" и правилом). В "После загрузки параметров" в свойствах "Параметры" будут доступны их сконвертированные значения.
10 PCcomCat
 
06.03.12
14:25
(9) Похоже я сильно туплю, но ...

"Перед выгрузкой данных" у меня написано:

Параметры.Организация = Организация;
Параметры.Префикс = Организация.Префикс;
Параметры.ДокументУзла = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(Параметры.Префикс);

Затем я делаю выгрузку данных в ИБ и у меня в xml-файле нет ни одного значения.
11 GenV
 
06.03.12
14:27
(10) забыл про галку у параметра "передавать при выгрузке" написать. Назначена?
12 PCcomCat
 
06.03.12
14:33
(11) Если у параметра поставить галку "передавать при выгрузке", то после загрузки правила на закладке "Параметры выгрузки" появляется этот параметр, но значение пустое.
13 GenV
 
06.03.12
14:34
(12) Галку "Устанавливать в диалоге .." убери
14 PCcomCat
 
06.03.12
14:38
Конвертация данных, редакция 2.1 (2.1.3.1) - Не дает убрать галку "Диалог" - я её убираю, а она назад сама выставляется.
15 GenV
 
06.03.12
14:43
(14) Извини, сейчас посмотрел - это у меня обработка измененная была. Сейчас посмотрю, как в типовой лучше сделать.
16 PCcomCat
 
06.03.12
14:46
(15) Буду безгранично благодарна! С этими параметрами в общей сложности два дня убила, а в итоге только зытычки изобрела!
17 PCcomCat
 
06.03.12
14:46
зытычки = затычки
18 GenV
 
06.03.12
15:05
(16) Добавляешь параметром только с галочкой "при загрузке". В "Перед выгрузкой данных" выгружаешь его:
ПередатьОдинПараметрВПриемник("ИмяПараметра", ЗначениеПараметра, ИмяПравила);

ИмяПравила указывать обязательно. Если не уверена в имени или нужно искать правило по значению, можешь использовать НайтиПравило(ЗначениеПараметра).Имя
19 PCcomCat
 
06.03.12
15:12
(18) Да, уже дошло до меня. Получилось!!!!!!!!!!!!!!!

СПАСИБО ОГРОМНОЕ!!!!! Целую в пятки!;)))

В принципе я так и выгружала, только без правила (это нашла в модулях!). А вот как прочитать - не додумалась.