Имя: Пароль:
1C
1С v8
Правила обмена данными, как правильно сделать?
0 Noxvil
 
20.10.11
17:55
Добрый день, создаю правила для обмена, вопрос касается справочника "номенклатура".

Задача, чтобы при выгрузке создавалась отдельная папка в корне справочника и вся структура грузилась в нее.

Мои действия: в реквизите "Родитель" ставлю условие

Если Источник.Родитель = Справочники.номенклатура.ПустаяСсылка() Тогда
   Значение = "Т0000000323";
КонецЕсли;

Но у меня выходит ошибка:

Ошибка получения значения свойства объекта (по имени свойства источника)
   ПКО                    =  Номенклатура  (Справочник: Номенклатура)
   ПКС                    =  14  (Код --> Код)
   Объект                 =  Т0000000323  (Строка)
   СвойствоПриемника      =  Код  (Строка)
   ОписаниеОшибки         =  Получение элемента по индексу для значения не определено
   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(8196)
   КодСообщения           =  13

Я так понимаю, он пытается по наименованию искать, хотя у меня поиск по коду установлен...

Вообщем, в чем я ошибся?
1 acsent
 
20.10.11
18:00
(20) Лучше ПослеЗагрузки
2 Noxvil
 
20.10.11
18:02
После загрузки, а потом перезаписывать?
3 Noxvil
 
21.10.11
11:07
не понимаю, при загрузке пишу:

Если Объект.Родитель = Справочники.номенклатура.ПустаяСсылка() Тогда
   Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("Т0000000323");
   объект.записать();
иначе
КонецЕсли;

Всё равно не устанавливает родителя [мне нужного].

Что не так?
4 Noxvil
 
21.10.11
11:12
Народ помогите, будьте добры... слишком много времени на х..ю трачу...
5 Noxvil
 
21.10.11
11:30
Номенклатура даже не создается, может надо для родителя добавить правило конвертации где только по коду будет синхронизация?
6 BuHu
 
21.10.11
11:33
(3) так а вобще какого нибудь родителя ставит?
7 Noxvil
 
21.10.11
11:35
да ставит, сейчас попробовал поставить в новом пко для родителя поиск по коду и передвыгрузкой кода написал
Значение = "Т0000000323";
8 Noxvil
 
21.10.11
11:36
В после загрузке ставит, но не записывает как будто...
9 BuHu
 
21.10.11
11:38
(8) как определил что ставит?
10 Noxvil
 
21.10.11
11:39
Сообщить(Объект.Родитель) после
11 BuHu
 
21.10.11
11:39
(8)покажи что в "после загрузке" справочника номенклатура написано?
12 Noxvil
 
21.10.11
11:40
Я так понял, что он не записывает какие то элементы...
13 BuHu
 
21.10.11
11:40
(12) т.е. что то записал что то нет?
14 Noxvil
 
21.10.11
11:40
да
15 BuHu
 
21.10.11
11:43
(14) а если точку останова в модуле объекта (номенклатура) в "ПередЗаписью" поставить?
16 Noxvil
 
21.10.11
11:44
(11)

Если Объект.Родитель = Справочники.номенклатура.ПустаяСсылка() Тогда
   Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("Т0000000323");
   объект.записать();
КонецЕсли;
17 BuHu
 
21.10.11
11:45
(16) чет я там сообщить не вижу
18 Noxvil
 
21.10.11
11:46
а это я не весь кусок выделил... прошу прощения...

потом

Сообщить(объект.родитель);
19 Noxvil
 
21.10.11
11:47
К сожалению, тормозит всё...

Сейчас зайду в отладчик и посмотрю, что перед записью.
20 BuHu
 
21.10.11
11:49
(18) т.е. после записи объекта Сообщить(объект.родитель); сообщает правильного родителя?
21 Noxvil
 
21.10.11
11:54
Блин, почему то добавилась номенклатура... ммм... непонятно....

А если это сделать при загрузке, то перезаписывать - не надо, правильно?
22 Noxvil
 
21.10.11
11:55
Ах да, спасибо. За поддержку =)