Имя: Пароль:
1C
1С v8
Конвертация данных.
,
0 Zixxx
 
05.12.13
17:37
Не могу сообразить как сделать...

Есть Поступление товаров, с реквизитами:
1. Контрагент (будем считать его как производитель, Например: ООО "Атол")
2. Номер поставки (заносится в ручную, Например: 155)

Все это нужно перенести в другую базу по следующему алгоритму:
1. В базе приемник также создается Поступление товаров (с этим все понятно)
2. Контрагент должен искаться по наименованию как Контрагент+Номер поставки (Пример: ООО "Атол"155)

Думаю что как-то надо передать дополнительный параметр в правило контрагента и там сложить наименование по которому в дальнейшем и будет происходить поиск. Базу приемник менять нельзя. Правила типовые УТ <--> БП
1 mikecool
 
05.12.13
17:41
смотреть в поля поиска
2 Zixxx
 
05.12.13
17:45
(1) Поля поиска это же в разрезе одного объекта, можно добавить еще одно значение и тогда в поля поиск написать "Наименование, НомерПоставки", но как из документа "Поступление товаров" передать номер в правило конвертации Контрагентов?
3 unregistered
 
05.12.13
17:45
(1) поля поиска тут не при чем
4 mikecool
 
05.12.13
17:46
(3) и?
5 Йохохо
 
05.12.13
18:01
(2) контрагента выгружаешь с наименованием Контрагент+Номер поставки (Пример: ООО "Атол"155) и ставишь это в поля поиска
6 unregistered
 
05.12.13
18:01
В перечне ПКС добавляешь два свойства без указания Источника и Приемника - только Имя параметра. Например:
НаименованиеКонтрагента и НомерПоставки.

В обработчике ПослеЗагрзки ПКО твоего документа пишешь что-то вроде:

НаименованиеКонтрагента = ПараметрыОбъекта.Получить("НаименованиеКонтрагента");
НомерПоставки = ПараметрыОбъекта.Получить("НомерПоставки");
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(НаименованиеКонтрагента+НомерПоставки);
Объект.Контрагент = Контрагент;
7 unregistered
 
05.12.13
18:02
(5) +
Так даже проще, чем заморочка в (6)
8 takefive
 
05.12.13
18:09
Если включить флаг "Получить из входящих", КД предложит готовый код, по кнопке в ПКО
9 acsent
 
05.12.13
18:11
ИсходящиеДанные > ВходящиеДанные
10 acsent
 
05.12.13
18:12
В ПКС Контрагенты
ИсходящиеДанные = Новый Структура("Номер", 111);

В ПКС Наименование, контрагенты
Значение = Источник.Наименование + ВходящиеДанные.Номер
11 acsent
 
05.12.13
18:14
нужно будет еще ключданных поправить, чтоб один в несколько мог перейти
12 acsent
 
05.12.13
18:16
В ПКО, перед выгрузкой

КлючВыгружаемыхДанных = Строка(Источник.УникальныйИдентификатор()) + ВходящиеДанные.Номер;

Нужно конечно еще проверочку поставить везде на заполненность входящих данных
13 Zixxx
 
05.12.13
20:17
(12) Вываливается ошибка: Значение не является значением объектного типа (Номер)

ВходящиеДанные = Неопределено

Может быть это связано с приоритетом? Что Контрагент выгружается первым а потом документ? Приоритеты менял тоже ничего не получилось. Вроде все что мог проверил, сделал как написано
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший