Имя: Пароль:
1C
1С v8
КД2: ПараметрыОбъекта, как передавать параметр?
0 floody
 
23.01.13
07:33
Дело в том, что соответствие ПараметрыОбъекта доступно в приемнике только когда выбираю ПКО (стрелка на картинке), но в случае, если я указываю там ПКО "Контрагенты", то правило пытается переварить эту строку как контрагента, а мне нужно просто строку передать.
Читал Бояркина, искал по форуму, нашел много, не помогло.

http://s2.ipicture.ru/uploads/20130123/W37RN5jC.jpg

Вопрос: как передать строку?
1 Godofsin
 
23.01.13
07:56
чессна говоря, не понял, чо требуется...
2 vicof
 
23.01.13
08:04
я тож
3 Alex S D
 
23.01.13
08:04
странно, у меня передается без всяких правил вроде
4 floody
 
23.01.13
08:05
Попробую объяснить по другому.
Мне нужно реквизит контрагента "ОсновнойМенеджерПокупателя" передать как строку в базу-приемник. Я пытаюсь поместить эту строку в ПараметрыОбъекта.
5 floody
 
23.01.13
08:06
Если в ПКО (на картинке) ничего не выбрано, то в приемнике получается ПараметрыОбъекта = Неопределено. Как сделать так, чтобы эта строка была доступна в приемнике через ПараметрыОбъекта.Получить("ОсновнойМенеджерПокупателя") ?
6 Alex S D
 
23.01.13
08:10
а если передавать строку а не ссылку? ты вроде ссылку пытаешься передать
7 floody
 
23.01.13
08:11
Значение = СокрЛП(Источник.ОсновнойМенеджерПокупателя.Наименование);

Строка же.
8 Alex S D
 
23.01.13
08:13
обычно это пердвыгрузкой пишется.. хотя может и нет разницы
9 Рэйв
 
23.01.13
08:20
10 Alex S D
 
23.01.13
08:22
я помню еще если строка пустая, то параметрыобъекта= неопределено
11 floody
 
23.01.13
08:22
(9) читал уже, там для 8->8 только одна строка: используйте галку "передавать данные в параметр".. ну я так и делаю
12 floody
 
23.01.13
08:23
(10) строку проверяю при выгрузке, вывожу в табло, не пустая.
13 Alex S D
 
23.01.13
08:33
может источник там мешает?
14 floody
 
23.01.13
08:39
(13) убирал источник, та же фигня, в общем пока единственное что заметил:  если в "Правило" ничего не указывать,то при загрузке ПараметрыОбъекта = Неопределено, т.е. ничего не передается, а если указать правило, например ПКО "Контрагенты", то это ПКО ругается:

Ошибка получения значения свойства объекта (по имени свойства источника)
   ПКО                    =  Контрагенты  (Справочник: Контрагенты)
   ПКС                    =  1  (Код --> Код)
   Объект                 =  Иванов А.О.  (Строка)
   СвойствоПриемника      =  Код  (Строка)
   ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8196)
   КодСообщения           =  13
15 acsent
 
23.01.13
08:49
попробуй тип приемника задать
16 floody
 
23.01.13
08:52
(15) Тип приемника никак не получается задать, туда просто нельзя ничего ни вписать, ни выбрать.
17 acsent
 
23.01.13
08:53
переменная такая есть
18 floody
 
23.01.13
08:57
В типовых правилах УТ-БП посмотрел, сделано проще некуда, ничего не заполнено, только галка "Передавать данные в параметр" и всё. А у меня почему-то не работает.
19 cw014
 
23.01.13
08:58
Убери ПКО вообще. Если значение составное, типа "СправочникСсылка.Контрагенты, Строка(50)" - то он сам подхватит правило если это ссылка и не подхватит если это строка.

Ну либо можешь так сделать:

Если Не Источник.ЭтоГруппа Тогда
   Значение = СокрЛП(Источник.ОсновнойМенеджерПокупателя.Наименование);
Иначе
   ИмяПКО = "Контрагенты";
КонецЕсли;
20 floody
 
23.01.13
09:01
Убрал ПКО, убрал вообще все, сделал как в типовых, и все равно в обработчике "ПослеЗагрузки" в ПКО "Контрагенты" ПараметрыОбъекта = Неопределено =(
21 floody
 
23.01.13
09:29
Что еще заметил: в файле выгрузки есть этот параметр, тип строка.
22 floody
 
23.01.13
09:40
Оказалось, что все работает.
На самом деле сработал самый первый вариант, с которого я и начал, просто Сообщить() не выводит сообщения обработчика "ПослеЗагрузки"... это ведь уже в другой базе обработка работает.. мдаа.

Всем спасибо.
23 Alex S D
 
23.01.13
09:40
ппц