Имя: Пароль:
1C
1С v8
1с 7.7 OLE соединение.
0 geminisf
 
23.07.22
16:05
Доброго всем дня.
Пытаюсь из 1с 8.3 получить данные из 1с 7.7 следующим кодом:

    СпрНом = База.CreateObject("Справочник.Номенклатура");
    СпрЦен = База.CreateObject("Справочник.Цены");    
    
    СпрНом.ВыбратьЭлементы();
    Пока СпрНом.ПолучитьЭлемент() = 1 Цикл             
        
        Если СпрНом.ЭтоГруппа() = 1 Тогда
            Продолжить;
        КонецЕсли;
        
        Если СпрНом.ПометкаУдаления() = 1 Тогда
            Продолжить;
        КонецЕсли;        

        СпрЦен.ИспользоватьВладельца(СпрНом);
        СпрЦен.ВыбратьЭлементы();
        Пока СпрЦен.ПолучитьЭлемент() = 1 Цикл
            Если СпрЦен.ЭтоГруппа() = 1 Тогда
                Продолжить;
            КонецЕсли;
            
            Если СпрЦен.ПометкаУдаления() = 1 Тогда
                Продолжить;
            КонецЕсли;                

            Сообщить(СпрЦен.Цена);
    
        КонецЦикла;    
        
    КонецЦикла;


СпрЦен.Цена выдает мне COMОбъект вместо числа. А вот СпрЦен.Процент выдает число. Хотя оба эти реквизита в семёрке имеют тип число. Как же получить цену?
1 asady
 
23.07.22
16:19
(0) это не число а периодический тип
2 asady
 
23.07.22
16:36
(0)
ИсторияЦен = База.CreateObject("Периодический");    

ИсторияЦен.ИспользоватьОбъект("Цена",СпрЦен.ТекущщийЭлемент());
Сообщить(ИсторияЦен.Значение);
3 geminisf
 
23.07.22
16:40
(1) Точно. Спасибо.
4 trad
 
23.07.22
20:41
СпрНом.ИспользоватьДату
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.