| 
    
            
         
         | 
    
    
  | 
Com соединение с 7.7 | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Dmitry_333    
     30.01.19 
            ✎
    16:43 
 | 
         
        Господа, в продолжении темы Штатный перенос из 77 в 8.3.
 
        Т.к. штатными средствами не вышло, решил самостоятельно внешней обработкой вытащить нужное, тем более что перенести нужно только контрагентов. Поскреб по форумам и накидал пока вот так: v7 = Новый COMObject("v77.Application"); Открыта = v7.Initialize(v7.RMTrade, "/D""" + "D:\база с старого ноутбука\база\ATC\" + """ /M ", "NO_SPLASH_SHOW"); КонтрагентСОМ = v7.CreateObject("Справочник.Контрагенты"); КонтрагентСОМ.ВыбратьЭлементы(); Пока КонтрагентСОМ.ПолучитьЭлемент() = 1 Цикл ВыбКонтр = КонтрагентСОМ.ТекущийЭлемент(); КонецЦикла; Застопорился на том, что через отладчик не вижу в переменных ничего, кроме значения "COMОбъект", т.е. дерева не вижу. Не понимаю, то ли где ошибка, то ли особенность соединения с 7-ой.  | 
|||
| 
    1
    
        Dmitry_333    
     30.01.19 
            ✎
    16:47 
 | 
         
        Сорян, разобрался     
         | 
|||
| 
    2
    
        abfm    
     30.01.19 
            ✎
    16:49 
 | 
         
        С этим придется мириться. В 7 есть только OLE. Но доступ к к данным по реквизитам доступен, правда ответ будет в примитивном виде строка число.     
         | 
|||
| 
    3
    
        Dmitry_333    
     30.01.19 
            ✎
    16:52 
 | 
         
        (2) Ага,спасибо.     
         | 
|||
| 
    4
    
        Dmitry_333    
     30.01.19 
            ✎
    16:54 
 | 
         
        Не понятно пока, правда, как до инн с кпп добраться     
         | 
|||
| 
    5
    
        abfm    
     30.01.19 
            ✎
    16:56 
 | 
         
        Создать объект найти по коду, наименованию. Считать ИНН.     
         | 
|||
| 
    6
    
        Ёпрст    
     гуру 
    30.01.19 
            ✎
    16:58 
 | 
         
        (4) 
 
        Пока КонтрагентСОМ.ПолучитьЭлемент() = 1 Цикл Сообщить(КонтрагентСОМ.ЮрФизЛицо.ИНН); КонецЦикла;  | 
|||
| 
    7
    
        Dmitry_333    
     30.01.19 
            ✎
    17:00 
 | 
         
        (5) (6) Спасибо.     
         | 
|||
| 
    8
    
        Garykom    
     гуру 
    30.01.19 
            ✎
    17:01 
 | 
         
        (0) Может все же освоишь КД2 ?
 
        "Лучше день потерять зато потом за 5 минут долететь"© Учитывая что день терешь один (или сколько потребуется на освоение КД) а быстро летать в будущем пригодится. В отличие от этих костылей с OLE/COM.  | 
|||
| 
    9
    
        Garykom    
     гуру 
    30.01.19 
            ✎
    17:01 
 | 
         
        (8) *теряешь     
         | 
|||
| 
    10
    
        Калиостро    
     30.01.19 
            ✎
    17:03 
 | 
         
        (4) я делал так:
 
        Процедура ПрочитатьИНН(ИННКПП, ИНН, КПП) Экспорт СтрДл = СтрДлина(ИННКПП); ИНН = ""; КПП = ""; НомРазд = 0; Для к=1 по СтрДл Цикл ТекСимв = Сред(ИННКПП, к, 1); Если Найти("1234567890", ТекСимв) = 0 Тогда НомРазд = к; Прервать; КонецЕсли; ИНН = ИНН + ТекСимв; КонецЦикла; Если НомРазд = 0 Тогда Возврат; КонецЕсли; Для к = (НомРазд + 1) по СтрДл Цикл ТекСимв = Сред(ИННКПП, к, 1); Если Найти("1234567890", ТекСимв) = 0 Тогда НомРазд = к; Прервать; КонецЕсли; КПП = КПП + ТекСимв; КонецЦикла; КонецПроцедуры //ПрочитатьИНН Процедура КомандаЗагрузить(Команда) СпрКонтрагенты77 = База77.CreateObject("Справочник.Контрагенты"); СпрКонтрагенты77.ВыбратьЭлементы(); Пока СпрКонтрагенты77.ПолучитьЭлемент() = 1 Цикл Если СпрКонтрагенты77.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли; Если СпрКонтрагенты77.ЭтоГруппа() = 1 Тогда Продолжить; КонецЕсли; Наименование= СокрЛП(СпрКонтрагенты77.Наименование); ИННКПП = СокрЛП(СпрКонтрагенты77.ИНН); ИНН = ""; КПП = ""; ПрочитатьИНН(ИННКПП, ИНН, КПП); КонецЦикла; КонецПроцедуры  | 
|||
| 
    11
    
        VladZ    
     30.01.19 
            ✎
    17:03 
 | 
         
        Не теряй время на бодание с COM.  Убогая вещь...
 
        Лучше это время используй для изучения КД.  | 
|||
| 
    12
    
        VladZ    
     30.01.19 
            ✎
    17:03 
 | 
         
        Что в итоге тебе нужно?     
         | 
|||
| 
    13
    
        Dmitry_333    
     30.01.19 
            ✎
    17:08 
 | 
         
        (12) в данный момент перегрузить контрагентов. (10) Благодарю     
         | 
|||
| 
    14
    
        VladZ    
     30.01.19 
            ✎
    17:10 
 | 
         
        (13) Что является источником и что приемником?     
         | 
|||
| 
    15
    
        Dmitry_333    
     30.01.19 
            ✎
    17:13 
 | 
         
        источник - 77, приемник 8.3     
         | 
|||
| 
    16
    
        VladZ    
     30.01.19 
            ✎
    17:14 
 | 
         
        (15) Ты назвал платформу. Платформа не содержит никаких данных. Конфигурации какие?     
         | 
|||
| 
    17
    
        Dmitry_333    
     30.01.19 
            ✎
    17:17 
 | 
         
        7.7 - "Комплексная конфигурация", 8.3 - БП     
         | 
|||
| 
    18
    
        Dmitry_333    
     30.01.19 
            ✎
    17:18 
 | 
         
        штатной обработкой не вышло, как я писал выше     
         | 
|||
| 
    19
    
        VladZ    
     30.01.19 
            ✎
    17:19 
 | 
         
        (18) Что не вышло в штатной?     
         | 
|||
| 
    20
    
        Dmitry_333    
     30.01.19 
            ✎
    17:23 
 | 
         
        Для конфы конвертация не поддерживается     
         | 
|||
| 
    21
    
        VladZ    
     30.01.19 
            ✎
    17:25 
 | 
         
        Возьми http://softproc.ru/public/354468/
 
        за основу, до актуальной БП допили напильником.  | 
|||
| 
    22
    
        Dmitry_333    
     30.01.19 
            ✎
    17:32 
 | 
         
        Спасибо. Но почти допилил уже эту. Мне один раз перенести и забыть о 7.7. Надеюсь-)     
         | 
|||
| 
    23
    
        VladZ    
     30.01.19 
            ✎
    17:36 
 | 
         
        Если не хочешь ковыряться в 7.7 возьми refprint.ert.
 
        Закинь нужную тебе инфу в Эксель и на стороне восьмерки загружай.  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |