|   |   | 
| 
 | Импорт данных через СОМ-соединение | ☑ | ||
|---|---|---|---|---|
| 0
    
        dlogius naïve 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 naïve 06.08.24✎ 11:12 | 
        "и посмотреть глазами на то что поле "Материал" заполнено"
 Выполнял на ТОЙ базе. Прекрасно заполняется. Это реально поле типа СправочникСсылка.Номенклатура. " Думаешь вот как кошернее" Так меньше уровень вложенности внутри СОМобъекта (2) Я, в принципе, так и думаю, но хочется чуда. | |||
| 5
    
        dlogius naïve 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 naïve 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% случаев по моей работе.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |