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

Функция обЗначениеНеЗаполнено(Значение) для COMОбъект

Функция обЗначениеНеЗаполнено(Значение) для COMОбъект
Я
   Mikhail Volkov
 
25.11.20 - 13:24
В Альфа-Авто есть:
Функция обЗначениеНеЗаполнено(Значение) Экспорт

    Результат = Ложь;
    
    Попытка
        Результат = Не ЗначениеЗаполнено(Значение)    
    Исключение // Мутабельные типы (Объекты)
        Результат = Ложь
    КонецПопытки;
    
    Возврат Результат;
    
КонецФункции // обЗначениеНеЗаполнено()
которая дает не верный результат для COMОбъект. Пришлось в конкретном случае вместо ее написать ПустаяСтрока(COMОбъект.Наименование). Как ее поправить?
   azt-yur
 
1 - 25.11.20 - 13:29
проверять надо на стороне источника com-объекта, т.е. как то так:
Соединение.ЗначениеЗаполнено(COMОбъект)
   бомболюк
 
2 - 25.11.20 - 13:33
может достаточно будет сравнить с Неопределено?
   Garykom
 
3 - 25.11.20 - 13:36
интересно когда уже COMОбъект окончательно умрет
   Garykom
 
4 - 25.11.20 - 13:37
(3) лично я для обменов не использую COM уже хз сколько лет
только для специфических штук которые и так привязаны к винде, типа дрова к ТО и тому подобное
   ГдеСобакаЗарыта
 
5 - 25.11.20 - 13:41
(4) А что вместь COM?
   Garykom
 
6 - 25.11.20 - 13:50
(5) http сервисы например или обмен сообщениями через брокер
   бомболюк
 
7 - 25.11.20 - 13:54
(6) COM - это же не только V83.COMConnector, но и еще, например, ADODB.Connection, и так далее ;-)
   H A D G E H O G s
 
8 - 25.11.20 - 14:13
Функция обЗначениеНеЗаполнено(Значение) Экспорт 

Если ТипЗнч(Значение)=Тип("ComОбъект") Тогда
Попытка
Заполнено=Соединение.ЗначениеЗаполнено(Значение);
Исключение
Возврат Истина;// Это не 1С

КонецПопытки;
Возврат Заполнено;
КонецЕсли;
   mikecool
 
9 - 25.11.20 - 14:16
(6) ком хорош тем, что зачастую не требует лишних телодвижений
   Конструктор1С
 
10 - 25.11.20 - 14:21
Вот это костылище... Даже страшно представить себе всю кривость кода, который использует подобное
   Garykom
 
11 - 25.11.20 - 14:34
(7) В один прекрасный момент захочется базу во фреш засунуть и упс ADODB.Connection там не работает.
В отличие от HTTPСоединение.
   Garykom
 
12 - 25.11.20 - 14:35
(9) Когда у тебя несколько разных версий платформы 1С то "не требует лишних телодвижений" превращается в фарс и попоболь.

Посмотри старые ветки ТС
   Mikhail Volkov
 
13 - 25.11.20 - 14:39
(8) Пожалуй заменю Заполнено=Соединение.ЗначениеЗаполнено(Значение); на Заполнено=ЗначениеЗаполнено(ComОбъект.DataVersion)
   Mikhail Volkov
 
14 - 25.11.20 - 16:08
(12) С Com нет проблем с различными версиями платформ 1С, с OLE - есть, но думаю исправят.

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