Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Com соединение с 7.7

Com соединение с 7.7
Я
   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-ой.
 
 
   Dmitry_333
 
1 - 30.01.19 - 16:47
Сорян, разобрался
   abfm
 
2 - 30.01.19 - 16:49
С этим придется мириться. В 7 есть только OLE. Но доступ к к данным по реквизитам доступен, правда ответ будет в примитивном виде строка число.
   Dmitry_333
 
3 - 30.01.19 - 16:52
(2) Ага,спасибо.
   Dmitry_333
 
4 - 30.01.19 - 16:54
Не понятно пока, правда, как до инн с кпп добраться
   abfm
 
5 - 30.01.19 - 16:56
Создать объект найти по коду, наименованию. Считать ИНН.
   Ёпрст
 
6 - 30.01.19 - 16:58
(4)
 Пока КонтрагентСОМ.ПолучитьЭлемент() = 1 Цикл
          
         Сообщить(КонтрагентСОМ.ЮрФизЛицо.ИНН);
                    
      КонецЦикла;
   Dmitry_333
 
7 - 30.01.19 - 17:00
(5) (6) Спасибо.
   Garykom
 
8 - 30.01.19 - 17:01
(0) Может все же освоишь КД2 ?

"Лучше день потерять зато потом за 5 минут долететь"©
Учитывая что день терешь один (или сколько потребуется на освоение КД) а быстро летать в будущем пригодится.

В отличие от этих костылей с OLE/COM.
   Garykom
 
9 - 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.ИНН);
        ИНН = "";
        КПП = "";
        ПрочитатьИНН(ИННКПП, ИНН, КПП);
            
        КонецЦикла;
    КонецПроцедуры
 
 Рекламное место пустует
   VladZ
 
11 - 30.01.19 - 17:03
Не теряй время на бодание с COM.  Убогая вещь...

Лучше это время используй для изучения КД.
   VladZ
 
12 - 30.01.19 - 17:03
Что в итоге тебе нужно?
   Dmitry_333
 
13 - 30.01.19 - 17:08
(12) в данный момент перегрузить контрагентов. (10) Благодарю
   VladZ
 
14 - 30.01.19 - 17:10
(13) Что является источником и что приемником?
   Dmitry_333
 
15 - 30.01.19 - 17:13
источник - 77, приемник 8.3
   VladZ
 
16 - 30.01.19 - 17:14
(15) Ты назвал платформу. Платформа не содержит никаких данных. Конфигурации какие?
   Dmitry_333
 
17 - 30.01.19 - 17:17
7.7 - "Комплексная конфигурация", 8.3 - БП
   Dmitry_333
 
18 - 30.01.19 - 17:18
штатной обработкой не вышло, как я писал выше
   VladZ
 
19 - 30.01.19 - 17:19
(18) Что не вышло в штатной?
   Dmitry_333
 
20 - 30.01.19 - 17:23
Для конфы конвертация не поддерживается
   VladZ
 
21 - 30.01.19 - 17:25
Возьми http://softproc.ru/public/354468/
за основу, до актуальной БП допили напильником.
   Dmitry_333
 
22 - 30.01.19 - 17:32
Спасибо. Но почти допилил уже эту. Мне один раз перенести и забыть о 7.7. Надеюсь-)
   VladZ
 
23 - 30.01.19 - 17:36
Если не хочешь ковыряться в 7.7 возьми refprint.ert.
Закинь нужную тебе инфу в Эксель и на стороне восьмерки загружай.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует