Имя: Пароль:
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) Вываливается ошибка: Значение не является значением объектного типа (Номер)

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

Может быть это связано с приоритетом? Что Контрагент выгружается первым а потом документ? Приоритеты менял тоже ничего не получилось. Вроде все что мог проверил, сделал как написано
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn