Имя: Пароль:
1C
 
Конвертация данных. Источник - пустой, приемник - справочник
0 rt2000
 
19.08.15
10:46
Решил для себя начать заниматься конвертацией данных. Начинаю с малого.
В ПКО создал для справочника "Номенклатура"
В ПКС нужно заполнить свойство "ВидНоменклатуры", - источник пустой, приемник СправочникСсылка.ВидыНоменклатуры.
Вычитал, что если приемник будет совсем пустой, то значение не перенесется. Поэтому в источник поставил строку "Наименование".

Хочу найти наименованию и в ПКС перед выгрузкой написал код
Значение = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП");

Но не получается, не правильно.
1 Aleksey
 
19.08.15
10:51
"в источник поставил строку "Наименование". - это лишнее, ты же значения указываешь.

А что не получается? Что не правильно?

ИмяПКО прописал для этого ПКС?
Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП"); что возвращает? Т.е. ты уверен что именно такое наименование есть в БП, а не "Товар БП" или просто "Товар"
2 rt2000
 
19.08.15
10:59
(1) Товар такой есть
Имеешь ввиду для ПКС "Вид номенклатуры", нужно создать Правило конвертации?
http://www.image123.net/ztb8w7nr23i7pic.html
Только зачем, если источник пустой?
3 hhhh
 
19.08.15
11:12
(2) где есть товар этот? В источнике или в приемнике?
4 rt2000
 
19.08.15
11:17
(3) Предполагается, что источник пустой, а приемник справочник "Вид номенклатуры". В этом справочнике есть элемент "ТоварБП".
При написании кода в ПКС "перед выгрузкой"
Значение = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП");
Ошибка возникает при выгрузке.
5 hhhh
 
19.08.15
11:19
(4) тогда если источник пустой, что означает этот дичайший бред?

Значение = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП");

зачем в источнике писать такую фигню?
6 Naumov
 
19.08.15
11:22
(0) Установи в событии ПослеЗагрузки нужное значение.
7 Aleksey
 
19.08.15
11:26
(2) эээ как бы тебе сказать ... чтобы программа знала по какому правилу нужно конвертировать справочник видНоменклатуры. С уважением ваш КО
8 rt2000
 
19.08.15
11:48
(6) Из ПКС убрал код.
В ПКО справочника номенклатура в событии "После загрузки" написал следующий код:
Объект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП");
Что тоже не верно. Ошибка формата файла обмена
9 Aleksey
 
19.08.15
11:50
(8) значит не тот файл выбираешь в качестве правила.
10 Naumov
 
19.08.15
11:55
(8) Этот код не мог файл испортить.
11 rt2000
 
19.08.15
11:58
(9), (10) Выгрузка прошла, проблема при загрузке файла
12 rt2000
 
19.08.15
12:02
Вот все что есть. Иллюстрация наглядная
http://www.image123.net/xcrhrh3odjbrpic.html
13 GreatOne
 
19.08.15
12:20
ВЫРАЖЕНИЕ
14 GreatOne
 
19.08.15
12:22
Ошибка формата файла обмена - у меня такая ошибка иногда лезет. Помогает только закрыть/открыть конфу, выгрузить заново правила.
15 GreatOne
 
19.08.15
12:22
я закрываю все, и КД и конфы приемника+источника. Не знаю что за фигня
16 GreatOne
 
19.08.15
12:25
По поводу ПКС видноменклатуры:


Выражение - Неопределено. Может быть указано произвольное строковое выражение на встроенном языке, результат вычисления которого при загрузке будет присвоен значению свойства. Если Выражение определить в теле обработчика, то дальнейшая обработка ПКС будет прекращена. Данная возможность, используется только если конфигурация-приемник реализована на платформе V8


Либо как подсказывали - после загрузки объект править.
17 rt2000
 
19.08.15
12:31
Обе конфигурации на V8
(15) Закрыть и открыть, не помогает. Все равно ошибка формата файла обмена.
У меня так сделано:
1) ПКО "Номенклатура", у него есть ПКС "ВидНоменклатуры", - источник пустой, приемник справочник. У этого реквизита "правило конвертации" пустое.
2) В ПКО "Номенклатура", события "После загрузки" написал следующий код:
Объект.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("ТоварБП");

Что могло бы быть не так?
18 GenAcid
 
19.08.15
12:32
(17) Выруби ПКС, оно там ни к чему.
19 rt2000
 
19.08.15
12:34
(18) отключил ПКС для вида номенклатуры, все равно ошибка формата файла обмена
20 Naumov
 
19.08.15
12:36
(19) Его надо совсем удалить, иначе КД бывает поле в формат пихает.