|
Импорт данных через СОМ-соединение | ☑ | ||
---|---|---|---|---|
0
dlogius
06.08.24
✎
10:14
|
Задача. Выкачать данные справочника из ТОЙ базы в ЭТУ.
Справочник простой, маленький, но в нем есть поле-ссылка на другой справочник. Выполняю СОМ соединение, выполняю СОМ-Запрос и получаю результат, в котором ссылка на другой справочник = это СОМобъект. СОМобъект это не ссылка. Вот запрос: ВЫБРАТЬ ШтрихКоды.Ссылка, ШтрихКоды.Код, ШтрихКоды.Материал.Ссылка КАК Материал ИЗ Справочник.ШтрихКоды КАК ШтрихКоды При заполнении из запроса справочника в ЭТОЙ базе получается то, что совсем никуда не годится, поле "Материал" - пустое, потому что оно СОМ-объект. При этом первое поле "Ссылка" вполне себе имеет удобоваримое значение. Вот кусок результата: Ссылка Код Материал 000000000001 000000000001 000000000002 000000000002 000000000003 000000000003 Поле Материал - пустое Отюда вопрос: есть ли какой-то способ вытащить ссылку из СОМобъекта, чтобы вставить ее в соответствующее поле справочника? |
|||
1
Волшебник
06.08.24
✎
10:13
|
А точно справочник маленький? Это ж вся номенклатура
|
|||
2
Ненавижу 1С
гуру
06.08.24
✎
10:16
|
(0) ссылки это абстракции уровня конкретной базы. Поэтому нет смысла их тащить в другую. Все что можно импортировать это элементарные типы: строки, числа, даты, булево...
Возьмите эти необходимые кирпичики и сформируйте на другой стороне объект, который однозначно будет идентифицироваться с образом. |
|||
3
Мультук
гуру
06.08.24
✎
10:20
|
(0)
1) Нужно взять и выполнить запрос непосредственно в "Той базе" ВЫБРАТЬ ШтрихКоды.Ссылка, ШтрихКоды.Код, ШтрихКоды.Материал КАК Материал ИЗ Справочник.ШтрихКоды КАК ШтрихКоды и посмотреть глазами на то что поле "Материал" заполнено 2) А кто сказал, что материал не число, не дата, не строка, не перечисление, а ссылка ? 3) Непонятно зачем здесь com. Берем типовую обработку выгружаем/загружаем 4) Думаешь вот как кошернее ШтрихКоды.Материал.Ссылка КАК Материал чем ШтрихКоды.Материал КАК Материал |
|||
4
dlogius
06.08.24
✎
11:12
|
"и посмотреть глазами на то что поле "Материал" заполнено"
Выполнял на ТОЙ базе. Прекрасно заполняется. Это реально поле типа СправочникСсылка.Номенклатура. " Думаешь вот как кошернее" Так меньше уровень вложенности внутри СОМобъекта (2) Я, в принципе, так и думаю, но хочется чуда. |
|||
5
dlogius
06.08.24
✎
11:16
|
(1) Этот справочник касается малой части номенклатуры. И в нем очень мало реквизитов.
|
|||
6
lEvGl
гуру
06.08.24
✎
11:24
|
Так меньше уровень вложенности внутри СОМобъекта )) да пох на него) собственно, что делать, когда ссылка на справочник штрихкоды будет не найдена/найдена в этой базе? вам же не надо каждый раз загружать весь результат запроса заново? |
|||
7
Волшебник
06.08.24
✎
11:19
|
(5) Ну что Вы ерунду пишете? Справочник штрих-кодов просто гигантский. Это ж АШАН, там есть всё: от босоножек до колбасы.
|
|||
8
Волшебник
06.08.24
✎
11:25
|
(4) >> Я, в принципе, так и думаю, но хочется чуда.
В программировании чудес не бывает. Программирование — это не магия https://suno.com/song/47af1bb9-52e2-4da5-856b-519cf4c821d2 |
|||
9
Garykom
гуру
06.08.24
✎
11:32
|
2124 год напомнило...
|
|||
10
Garykom
гуру
06.08.24
✎
11:33
|
(0) Забудьте уже про COM.
Используйте другие методы. |
|||
11
dlogius
06.08.24
✎
11:41
|
(10) Какие?
|
|||
12
Garykom
гуру
06.08.24
✎
11:42
|
(11) Как минимум кроссплатформенные
Которые будут работать под linux например Банальнейший обмен через файлы, если http-сервисы сложна |
|||
13
Alex33
06.08.24
✎
12:14
|
(11) Если не нужна кроссплатформенность, то COM это удобно и быстро, почти всё одноразовое делаю через COM.
По поводу проблемы: поле Материал у вас не пустое, это COM объект, у которого есть поля Код, Наименование и т. д., которые прекрасно получаются через точку. |
|||
14
Garykom
гуру
06.08.24
✎
12:34
|
(13) Удобно и быстро?
Это когда все под админскими правами на одном компе? В кровавом энтерпрайзе все совсем не так |
|||
15
Alex33
06.08.24
✎
13:01
|
(14) Согласен, именно под админскими правами на одном компе, у меня просто это 99% случаев по моей работе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |