Имя: Пароль:
1C
1С v8
Как перенести реквизит табличной части УникальныйИдентификатор КД2? 8.2
,
0 1c_nub
 
03.06.14
18:44
В ТЧ документа есть реквизит типа УникальныйИдентификатор.
Как в правилах написать чтобы КД переносила его в другую базу?
1 Поpyчик-4
 
03.06.14
20:50
(0) А что, есть проблемы?
2 1c_nub
 
03.06.14
22:07
(1) Та небыло б не писал бы
3 1c_nub
 
03.06.14
22:10
проблема в том, что в одной базе создается документ, в ТЧ которого есть реквизит с типом уникального идентификатора.

потом происходит обмен.

В распред.базе появляется этот док и идентификатор у него вида  0000-0000-0000-0000...

Я так понимаю, что нужно ПКС делать чтобы ИД передавался и как-то присваивался в РБ. Но что-то пока не выходит цветочек.
4 Naumov
 
03.06.14
22:16
Выгружай в параметр.
после загрузки объект, если это новый, то применяешь УстановитьСсылкуНового, используя данные из параметра.
5 1c_nub
 
03.06.14
22:59
(4) ставлю передавать данные в параметр.
потом в ПКС Перед выгрузкой:
Значение = Новый УникальныйИдентификатор(ОбъектКоллекции.ИД_строки);

так?

у в каком месте присваивать из параметра?
6 1c_nub
 
03.06.14
23:02
или :
Значение = ОбъектКоллекции.ИД_строки;
?
7 1c_nub
 
03.06.14
23:53
ЗначениеУИД = ОбъектКоллекции.ИД_строки;

так передается, все норм.
Осталось после загрузки присвоить. Как это сделать? Пример кода киньте, плиз.
8 1c_nub
 
04.06.14
10:52
А как в параметр передать? Вот это вызывает ошибку:

ЗначениеУИД = ОбъектКоллекции.ИД_строки;
9 acsent
 
04.06.14
10:53
в обоих базах одинаковый тип поля?
10 1c_nub
 
04.06.14
11:00
(9) да.
11 acsent
 
04.06.14
11:02
(10) тогда все само должно работать. Какая версия КД? Возьми последнюю
12 1c_nub
 
04.06.14
11:03
(9) последняя 2.1 (2.1.8.1)
Видимо я неправильно в параметр передаю.
13 1c_nub
 
04.06.14
11:07
с идентификатором такая Ж**А из-за того, что он при попадании в другую базу должен присваиваться через УстановитьСсылкуНового(<Ссылка>)  но само значение <Ссылка> нужно передать как параметр. А я не пойму как параметру присвоить значение..

ЗначениеУИД = ОбъектКоллекции.ИД_строки;

вызывает ошибку и остановку обмена
14 acsent
 
04.06.14
11:11
(12) Какой параметр? Не нужно никакого параметра.
В любом случае параметры из тч передавать нельзя
15 acsent
 
04.06.14
11:12
Что-то мне кажется что задача то совсем другая, не то что было заявлено в (0)
16 1c_nub
 
04.06.14
11:12
(14) а в посте (4) посоветовали через параметр...
17 acsent
 
04.06.14
11:14
Тебе просто нужно перенести ТЧ одного документа в ТЧ другого, то вообще ничего писать не нужно. Данный реквизит переносится как и остальные
18 1c_nub
 
04.06.14
11:17
(17) Реквизит имеет тип "Уникальный идентификатор" в обоих базах. (базы идентичные). Но во вторую базу он попадает как 0000-0000-0000-0000-0000... Видимо из-за того, что уникальный идентификатор нужно присваивать через УстановитьСсылкуНового...
19 1c_nub
 
04.06.14
12:43
Помогите, дайте пример кода как при выгрузке ПКС засунуть значение уникального идентификатора в параметр???
20 1c_nub
 
05.06.14
12:08
Вопрос так и не решен. В выгруженном файле нет идентификаторов, т.е. они просто даже в выгрузку не попадают.
21 Поpyчик-4
 
05.06.14
12:40
ПКС при передаче в параметр
Значение = Строка(Источник.Ссылка.УникальныйИдентификатор());

ПослеЗагрузкиОбъекта

// Формирует ПКО по уникальному идентификаторому, переданному из РТ
ОтчетОРозничныхПродажахУИД = Новый УникальныйИдентификатор(ПараметрыОбъекта["УникальныйИдентификаторДокумента"]);
СсылкаНаДокументПКО        = Документы.ПриходныйКассовыйОрдер.ПолучитьСсылку(ОтчетОРозничныхПродажахУИД);
22 1c_nub
 
05.06.14
13:14
(21) Тут немного другое. Ссылка не документа, а уникальный идентификатор есть в каждой строке табличной части, т.е. это реквизит табличной части.
23 Поpyчик-4
 
05.06.14
14:22
(22) Намёк не понял? Преобразуй уникальный идентификатор в строку, передавай в параметр ТЧ, на стороне приёмника преобразуй обратно.