Имя: Пароль:
1C
1С v8
вопрос по кд
0 Renat11111
 
27.08.12
21:01
Токо начал кд изучать. Подскажите как правильно сделать следующее:

переношу С 7-ой базы на 8-ку элементы спр номенклатура. В случае если у элемента нет родителя, нужно элемент перенести в папку с наименованием товары, такую папку создал вручную.

В обработчики ПВД После выгрузки набыдлокодил следующее:

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

ни фига не получается
1 Aleksey
 
27.08.12
21:06
Отладчиком смотрел? Может он ТекРодительТовары не находит

И я бы через параметры бы сделал, незачем базу дергать каждый раз
2 vicof
 
27.08.12
21:06
ПередВыгрузкой в ПКС Родитель
ТекРодительТовары = Справочники.Номенклатура.НайтиПоНаименованию("Товары");
Если Источник.Родитель = Справочники.Номенклатура.ПустаяСсылка() тогда
    Значение = ТекРодительТовары;
конецесли;
3 _KaA
 
27.08.12
21:08
к (1) +1
4 Aleksey
 
27.08.12
21:08
(2) зачем группу искать?

Если Источник.Родитель = Справочники.Номенклатура.ПустаяСсылка() тогда
    Значение = Справочники.Номенклатура.НайтиПоНаименованию("Товары");
конецесли;
5 Renat11111
 
27.08.12
21:12
(1) туплю наверно сильно... А как смотреть загрузку отладкой?
6 Aleksey
 
27.08.12
21:15
(5) в крайнем случае в коде пропиши "Сообщить" и смотри что пишет
7 Renat11111
 
27.08.12
21:16
(6) так можно отладчиком или нет смотреть?
8 andrewks
 
27.08.12
21:17

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


это явно не 7-шный код
9 Renat11111
 
27.08.12
21:19
(8) а Объект разьве не справочник объект созданный в базе приемника?
10 andrewks
 
27.08.12
21:20
(9) "переношу С 7-ой базы" ... "В обработчики ПВД После выгрузки "

одна из черепашек врёт
11 Renat11111
 
27.08.12
21:22
(10) так переношу же на 8-ку... есть непонимание в вопросе, какой тип есть в Объект справочник объект?
12 Aleksey
 
27.08.12
21:22
(7) можно. на закладке загрузки внизу есть кнопка и галочка
13 Aleksey
 
27.08.12
21:23
(11) Акстись " После выгрузки" выполняется на стороне источника, т.е. 7-ка

Или там должна быть после загрузки?
14 andrewks
 
27.08.12
21:25
(13) у ПВД нет обработчиков, выполняющихся при загрузке
15 Renat11111
 
27.08.12
21:26
БЛ...ДЬ так дело не пойдет ни фига не понимаю вопросы задаю надо немного почитать книжек... кому не лень просто напишите небольшую инструкцию как реализовать задачу, описанную в (0)
16 Renat11111
 
27.08.12
21:32
обработчик после выгрузки пкс выполняется на стороне приемника? в каком обработчике я могу получить справочникОбъект?
17 andrewks
 
27.08.12
21:34
(15)

1. на стороне источника (т.е. при выгрузке):
подробно разжевал тут: http://forum.infostart.ru/forum26/topic68258/
лень повторять

2. на стороне приёмника (т.е. при загрузке):
в ПКО ПослеЗагрузки  пишешь примерно код из (0)
18 Йохохо
 
27.08.12
21:34
элемент всегда немамонтенок и у него есть родитель
послевыгрузки можно делать все, что угодно. выгруженный элемент ты уже не испортишь
19 andrewks
 
27.08.12
21:37
+(17) важный момент:
в способе 1 папки может и не быть - система сама её создаст.
в способе 2 это ложится на наши плечи - ищем, не находим - создаём
20 Aleksey
 
27.08.12
22:06
(14) У ПВД да, только код из (0) физически не может быть в ПВД, так как не имеет смысла, ибо мусор

А он может быть в ПКО


Собственно я склонен списать это на то что автор просто путается в терминах
21 andrewks
 
27.08.12
22:23
(20) он может быть физически в ПВД, если предположить, что автор, в довесок, забыл выгрузить/подменить модуль обработки выгрузки
22 Renat11111
 
27.08.12
22:31
(19) сделал как в 2.
ТекРодительТовары = Справочники.Номенклатура.НайтиПоНаименованию("Товары");
Если Объект.Родитель = Справочники.Номенклатура.ПустаяСсылка() тогда
    Объект.Родитель = ТекРодительТовары;
    СООБЩИТЬ(ТекРодительТовары);
   
конецесли;

ничего по этому пко не переносится.
23 Renat11111
 
27.08.12
22:32
в чем может быть причина? ПВД ДЛЯ справочника номенклатура есть, в нем указано пко номенклатура
24 Renat11111
 
27.08.12
22:35
правила обмена сохранил...
25 Сияющий Асинхраль
 
27.08.12
22:39
Объект - это уже после загрузки, есно ничего уже не переносится, все в базе назначения. В базе источнике надо обращаться - Источник
26 Renat11111
 
27.08.12
22:42
в базе назначения нет ни одного элемента из источника по ПКО Номенклатура.
27 andrewks
 
27.08.12
22:43
(26) файл выгрузки содержит данные? открой его в файрфоксе, например, и просмотри
28 Renat11111
 
27.08.12
22:47
(27) есть идея одна мин 10 проверить надо... до этого материалы выгружал... там коды одинаковые поэтому наверно второе ПКО ни х...ра не находит. Поставил поиск по коду и наименованию посмотрю че будет
29 Renat11111
 
27.08.12
22:50
сложная конфа никогда не платил за обучение, придется все таки руководство раскошелить на насиповские курсу по кд... с этими курсами он в точку попал
30 Renat11111
 
27.08.12
22:59
(27) в файле выгрузки по этому пко данных нет... Почему они не выгружаются понять не могу
31 Renat11111
 
27.08.12
23:06
в файл правил обмена прописывает

<Правило>
<Код>
Номенклатура
</Код>
<Наименование>
Справочник: Nomenklatura
</Наименование>
<Порядок>
150
</Порядок>
<ПослеЗагрузки>
ТекРодительТовары = Справочники.Номенклатура.НайтиПоНаименованию("Товары"); Если Объект.Родитель = Справочники.Номенклатура.ПустаяСсылка() тогда Объект.Родитель = ТекРодительТовары; СООБЩИТЬ(ТекРодительТовары); конецесли;
</ПослеЗагрузки>
<Источник>
СправочникСсылка.Номенклатура
</Источник>
<Приемник>
СправочникСсылка.Номенклатура
</Приемник>
<Свойства>
<Свойство Поиск="true">
<Код>
1
</Код>
<Наименование>
Код --> Код
</Наименование>
<Порядок>
50
</Порядок>
<Источник Имя="Код" Вид="Свойство" Тип="Строка"/>
<Приемник Имя="Код" Вид="Свойство" Тип="Строка"/>
</Свойство>
<Свойство>
<Код>
2
</Код>
<Наименование>
Наименование --> Наименование
</Наименование>
<Порядок>
100
</Порядок>
<Источник Имя="Наименование" Вид="Свойство" Тип="Строка"/>
<Приемник Имя="Наименование" Вид="Свойство" Тип="Строка"/>
</Свойство>
<Свойство>
32 Renat11111
 
27.08.12
23:07
а в выгрузке номенклатуры нет... не попадает туда
33 Renat11111
 
27.08.12
23:08
(27) не хватило терпения? ))) все равно спасибо кое что уяснил для себя хоть, завтра буду воевать вновь с кд
34 Йохохо
 
27.08.12
23:30
в твоих ПКО плещется жизнь. Не сочти за сарказм, но когда ты всё поправишь, в мире умрет котёнок
35 Renat11111
 
27.08.12
23:38
боюсь котенок будет жить долго... под...вать легко, помочь сложнее
36 Йохохо
 
27.08.12
23:47
Родитель галка Получить из входящих данных ПередВыгрузкой ВходящиеДанные = СписокЗначений("Родитель", Новый Структура("Код, Наименование", ", Вася");
ПКС Родитель ПКС СпрНоменклатураРодитель
Die, Maggot ;(
37 Renat11111
 
27.08.12
23:50
у меня верхний пко загружается нижний нет. Меняю их местами вначале материалы пото номенклатура, выгружаются материалы... меняю местами номенклатура выгружается, а материалы нет.
38 Aleksey
 
27.08.12
23:56
(21) Не может, потому что в ПВД, в отличии ПКО, нет параметров Объект и Значение
39 Renat11111
 
27.08.12
23:58
+ (37) звучит абсурдно и врядли кто то поверит к сожалению это так... и хз что я делаю нет так
40 Йохохо
 
27.08.12
23:59
я ж и говорю, котёнок умер. В твоем варианте интереснее, чтоб заработало
(37) воткни галку не запоминать выгруженные объекты, только поиск проверь
41 Renat11111
 
28.08.12
00:06
с поиском то что делать?
42 Йохохо
 
28.08.12
00:11
попытки исправить, то, что ты делаешь, это костыли по-живому
перепиши правила с нуля, родителя склеивай на этапе выгрузки
фишка в том, что Объект в xml это просто ВнутреннийУИДВыгрузки, который никому не нужен, плюс поля поиска
43 Йохохо
 
28.08.12
00:15
для родителя отдельный ПКО "не создавать ..." "продолжить поиск ..." Поиск по наименованию
интересно было, чтоб твой вариант взлетел )
44 Renat11111
 
28.08.12
00:17
такой вопрос в источнике код тип число в приемнике строка если стоит галка поиск преобразует число к строке?
45 Renat11111
 
28.08.12
00:22
снял галочки у пко автоматически генерировать код при его отстутствии Токо после этого проблема ушла... странно везде код был заполнен, у одного справочника он правда числовой был. Вообщем не могу я объяснить для себя... так решилось вроде Всем спасибо.
Ошибка? Это не ошибка, это системная функция.