|
Получение Guid'a из соседней базы(ComОбъект) | ☑ | ||
---|---|---|---|---|
0
KrabCore
03.02.16
✎
10:41
|
Сильно не пинать, только учусь.
Самописка на бсп, УФ. Подключаюсь из своей самописки к базе УНФ через ком соединение и вытаскиваю запросом нужные мне документы. Создаю и записываю данные куда мне надо, и пытаюсь сделать запись в регистр соответветствий. НО при получении гуида ссылок мне возвращается Неопределено. Пробовал получить гуид разных ссылок(справочники, документы), пробовал так: СоединениеС1С.String(Документ1С.Ссылка.УникальныйИдентификатор()) Собственно вопрос: как правильно получить гуид ссылки ком объекта? |
|||
1
NcSteel
03.02.16
✎
10:43
|
Как получил "Документ1С"?
|
|||
2
Rlogin
03.02.16
✎
10:48
|
Com_Объект.string(Выборка.Ссылка.uuid())
|
|||
3
Cyberhawk
03.02.16
✎
10:50
|
Так у тебя документ еще не записан походу, вот и ссылка пустая
|
|||
4
KrabCore
03.02.16
✎
10:52
|
(1) получаю запросом из базы к которой я подключился через ком
Запрос = БазаИсточник.NewObject("Запрос"); Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладная.Ссылка КАК РасходнаяНакладная |ИЗ | Документ.РасходнаяНакладная КАК РасходнаяНакладная |ГДЕ | РасходнаяНакладная.Дата МЕЖДУ &ДатаНач И &ДатаКон | И РасходнаяНакладная.Проведен"; ... ... Выгрузка = Запрос.Выполнить().Выгрузить(); Для каждого Стр из Выгрузка Цикл ... Документ1С = Стр.РасходнаяНакладная; (3) да я же не создаю документ в базе, а считываю уже существующий |
|||
5
Serginio1
03.02.16
✎
10:52
|
СоединениеС1С.XmlСтрока(Документ1С.Ссылка)
|
|||
6
KrabCore
03.02.16
✎
10:55
|
(2) Неопределено
(5) Ошибка при вызове метода контекста (XmlСтрока) |
|||
7
lEvGl
гуру
03.02.16
✎
10:58
|
Соединение.String(Соединение.Документы.Ордер.НайтиПоНомеру("000000001").УникальныйИдентификатор()))
|
|||
8
Serginio1
03.02.16
✎
11:02
|
(6) Должен. Попробуй XMLString
|
|||
9
NcSteel
03.02.16
✎
11:02
|
(4) Почему в 4 БазаИсточник, а в (0) СоединениеС1С?
|
|||
10
KrabCore
03.02.16
✎
11:07
|
(9) потому что код разбит на несколько процедур
Локализировал проблему в серверной процедуре получаю таблицу документов - в них гуид еще есть, потом делаю: АдресХранилища = ПоместитьВоВременноеХранилище(ТзДокументов, Новый УникальныйИдентификатор()) и возвращаюсь на клиент со списоком строковых представлений для выбора какие документы грузить потом опять перехожу на сервер и достаю таблицу из хранилища: ТзДокументов = ПолучитьИзВременногоХранилища(АдресХранилища); и в этот момент у документов уже нет гуида. получается между серверными вызовами "теряется" гуид ком объекта может можно как-то по другому передать таблицу ком объектов между серверными вызовами?? |
|||
11
Cyberhawk
03.02.16
✎
11:10
|
Добавь в ТЗ документов строковую колонку, содержащую ГУИД...
|
|||
12
NcSteel
03.02.16
✎
11:11
|
(10) Понятно, зачем на клиент прыгаешь?
|
|||
13
Cyberhawk
03.02.16
✎
11:13
|
(12) Флажками отмечает...
|
|||
14
KrabCore
03.02.16
✎
11:24
|
(11) не вариант, т.к. мне не только гуид ссылки нужен, а еще и гуиды номенклатуры, и прочие
|
|||
15
Serginio1
03.02.16
✎
11:31
|
Используй внешние отчеты
Как через оле задать отбор? |
|||
16
Рэйв
03.02.16
✎
11:31
|
Предлагаю хитрый финт ушами:
УИДТам=СсылкаСОМ.УникальныйИдентификатор(); НовыйТам=Соединение.Справочники.Номенклатура.СоздатьЭлемент(); НовыйТам.Наименование=УИДТам; Сообщить(НовыйТам.Наименование); :-) |
|||
17
Рэйв
03.02.16
✎
11:32
|
проверил.Вроде работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |