Имя: Пароль:
1C
1С v8
Конвертация данных - передача информации, связанной с объектом
0 Stolz
 
31.10.13
19:28
Доброго времени суток всем! Хотелось бы предложить всеобщему вниманию следующую задачку.

Есть некий справочник, например, Контрагенты. В конфигурации-приёмнике у этого справочника есть некий реквизит, например, Менеджер. В конфигурации-источнике же такого реквизита у справочника нет. Зато в источнике значение Менеджера можно определить для Контрагента, следуя некоторому алгоритму. В приёмнике определить менеджера не получится. Поэтому требуется записать найденное таким образом значение в файл обмена, с тем чтобы при загрузке данных в приёмнике это значение записывалось в реквизит Менеджер элемента справочника Контрагенты.

К сожалению, в евангелии от Бояркина найти что-либо схожее так и не удалось. Хотя, похоже, задача как-то поддаётся решению: в описании обработчика ПослеВыгрузки упоминается, что вместе с объектом можно выгрузить связанную с ним информацию, а в описании обработчика ПослеЗагрузки говорится про параметр ПараметрыОбъекта, в котором хранятся дополнительные параметры, переданные для данного объекта из источника в приёмник. Есть даже пример записи информации, но примера её чтения при загрузке нет. Вот вопрос и состоит в том, как передать из источника информацию, связанную с объектом, а затем считать её в приёмнике?
1 GreyK
 
31.10.13
19:58
МойПереданныйПараметр = ПараметрыОбъекта.Получить("МойПереданныйПараметр");
2 Stolz
 
31.10.13
20:07
(1) Спасибо за оперативность с ответом, GreyK. А вот при выгрузке как быть? Нужно записать значение в структуру ПараметрыОбъекта? Или это делается как-то иначе?  Дело в том, что в описании обработчика ПослеВыгрузки переменная ПараметрыОбъекта не упоминается.
3 GenV
 
31.10.13
20:18
(2) у ПКС нужно поставить точку "передавать данные в параметр"
4 echo77
 
31.10.13
20:26
Для ПКС <Пусто> => РеквизитМенеджерВПриемнике прописать:

Значение = ...

Если объект ссылочного типа, то еще заполнить структуру Исходящие данные и создать для ПКС ПКО.

Мне кажется, это не сложно
5 Stolz
 
24.11.13
18:02
Сделал так. В правиле конвертации объекта для справочника (в данном примере, Контрагенты) добавил правило конвертации свойства. Поле Источник у ПКО оставил пустым, а в поле Приёмник указал свойство приёмника (т. е., в приведённом примере - Менеджер). Затем в том же диалоговом окне задал обработчик ПередВыгрузкой, в котором ввёл примерно следующее:
    // Код, позволяющий отыскать менеджера - начало
    МойМенеджер = ...
    // Код, позволяющий отыскать менеджера - конец
    Значение = МойМенеджер;    // собственно запись найденного значения в файл переноса.

Вот, в общем-то, и всё: перенос работает, как требовалось. Спасибо всем принявшим участие.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.