| 
    
        
     
     | 
    
  | 
v7: Как узнать содержится ли строка ТЧ объекта 8.2 из 7.7? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        mega1c    
     19.11.13 
            ✎
    10:30 
 | 
         
        Как узнать содержится ли строка ТЧ объекта 8.2 из 7.7? Как представить в 7.7 значение "Неопределено"?     
         | 
|||
| 
    1
    
        ДенисЧ    
     19.11.13 
            ✎
    10:30 
 | 
         
        1. Чо?
 
        2. В 77 нет неопределено  | 
|||
| 
    2
    
        mega1c    
     19.11.13 
            ✎
    10:34 
 | 
         
        я знаю, что нет неопределено.. Я подключаюсь из 7.7 по OLE к 8.2. Пытаюсь найти по реквизиту строку табличной части объекта из 8.2. как мне узнать ,нашла я его или нет?     
         | 
|||
| 
    3
    
        ДенисЧ    
     19.11.13 
            ✎
    10:34 
 | 
         
        А что в реквизите?     
         | 
|||
| 
    4
    
        ДенисЧ    
     19.11.13 
            ✎
    10:34 
 | 
         
        И кстати... Личная карточка не заполнена...     
         | 
|||
| 
    5
    
        mega1c    
     19.11.13 
            ✎
    10:35 
 | 
         
        строка обычная email     
         | 
|||
| 
    6
    
        ДенисЧ    
     19.11.13 
            ✎
    10:37 
 | 
         
        ну если строка, тогда просто Найти()     
         | 
|||
| 
    7
    
        oslokot    
     19.11.13 
            ✎
    10:37 
 | 
         
        (0) ПустаяСтрока(СтрокаТЧ.РеквизитСтрока)     
         | 
|||
| 
    8
    
        ДенисЧ    
     19.11.13 
            ✎
    10:37 
 | 
         
        Или НайтиСтроки()     
         | 
|||
| 
    9
    
        Wobland    
     19.11.13 
            ✎
    10:37 
 | 
         
        (2) зависит от того, как ищешь     
         | 
|||
| 
    10
    
        oslokot    
     19.11.13 
            ✎
    10:37 
 | 
         
        (7) а, не. Найти() (6)     
         | 
|||
| 
    11
    
        mega1c    
     19.11.13 
            ✎
    10:38 
 | 
         
        Объект.Контакты.Найти(СокрЛП(СпрЭлАдреса.email), "Email") = -1
 
        С чем сравнивать то? с -1 не то..  | 
|||
| 
    12
    
        ДенисЧ    
     19.11.13 
            ✎
    10:39 
 | 
         
        (11) Справку читать не модно? НАпример, что возвращает Найти()....     
         | 
|||
| 
    13
    
        mega1c    
     19.11.13 
            ✎
    10:40 
 | 
         
        в 7ке в отладчике просто пусто     
         | 
|||
| 
    14
    
        ДенисЧ    
     19.11.13 
            ✎
    10:41 
 | 
         
        Значит, не нашло     
         | 
|||
| 
    15
    
        Wobland    
     19.11.13 
            ✎
    10:42 
 | 
         
        (13) или там ком-объект?     
         | 
|||
| 
    16
    
        Wobland    
     19.11.13 
            ✎
    10:42 
 | 
         
        в фотографии, кстати, тоже пусто. казалось бы, какая тут связь?..     
         | 
|||
| 
    17
    
        mega1c    
     19.11.13 
            ✎
    10:42 
 | 
         
        (15) там ole     
         | 
|||
| 
    18
    
        mega1c    
     19.11.13 
            ✎
    10:51 
 | 
         
        я так понимаю, никто не знает..     
         | 
|||
| 
    19
    
        ДенисЧ    
     19.11.13 
            ✎
    10:52 
 | 
         
        (17) так пусто или оле-объект?     
         | 
|||
| 
    20
    
        mega1c    
     19.11.13 
            ✎
    10:54 
 | 
         
        оле-объект     
         | 
|||
| 
    21
    
        mega1c    
     19.11.13 
            ✎
    10:55 
 | 
         
        либо если не нашел, то пусто     
         | 
|||
| 
    22
    
        ДенисЧ    
     19.11.13 
            ✎
    10:56 
 | 
         
        (21) Если пустое - значит, не нашёл, если объект - значит нашёл.
 
        Вот и ответ на вопрос из (0)  | 
|||
| 
    23
    
        Wobland    
     19.11.13 
            ✎
    10:57 
 | 
         
        хм.. это самое пусто какого типа?     
         | 
|||
| 
    24
    
        mega1c    
     19.11.13 
            ✎
    11:00 
 | 
         
        OLE-объект     
         | 
|||
| 
    25
    
        Salimbek    
     19.11.13 
            ✎
    11:07 
 | 
         
        (24) Дык...
 
        Объект.Контакты.Найти(СокрЛП(СпрЭлАдреса.email), "Email") - это вернет тебе строку ТЧ. а это: Объект.Контакты.Найти(СокрЛП(СпрЭлАдреса.email), "Email").EMail - вероятно, значение поля типа "Строка", которое ты сможешь поймать в 7.7. В любом случае, при работе по ОЛЕ, надо опускаться до примитивного типа, т.е. вы результате не должно быть ссылки, а только "Строка", "Число" и т.д. Например нельзя "Номенклатура.Ссылка", но можно "Номенклатура.Наименование".  | 
|||
| 
    26
    
        mega1c    
     19.11.13 
            ✎
    11:18 
 | 
         
        (25) да это работает, если элемент находит, а если не находит, то там "неопределено" восьмерочное, попытка исключение в этом случае только помогла..     
         | 
|||
| 
    27
    
        Wobland    
     19.11.13 
            ✎
    11:19 
 | 
         
        v8.Неопределено     
         | 
|||
| 
    28
    
        mega1c    
     19.11.13 
            ✎
    11:25 
 | 
         
        на v8.Неопределено ошибка в выражении пишет     
         | 
|||
| 
    29
    
        ЧессМастер    
     19.11.13 
            ✎
    11:30 
 | 
         
        (0) в строке ТЧ объекта есть объекты. у объектов есть Код и Наименование - вот эти реквизиты получай по ОЛЕ и сравнивай     
         | 
|||
| 
    30
    
        ЧессМастер    
     19.11.13 
            ✎
    11:31 
 | 
         
        (24) сравнивай Код или Наименование (или другие реквизиты) 77 и 82     
         | 
|||
| 
    31
    
        mega1c    
     19.11.13 
            ✎
    11:50 
 | 
         
        (30) когда в табличной части строка не найдена, 8ка возвращает "неопределено", соответственно в этом случае код, наименование и др реквизиты получить нельзя..     
         | 
|||
| 
    32
    
        ЧессМастер    
     19.11.13 
            ✎
    11:55 
 | 
         
        (31) ну можно перебрать строки в цикле. можно сделать еще круче - по ОЛЕ выполнить запрос в 82 с поиском нужной строки и результат вернуть в 77     
         | 
|||
| 
    33
    
        Salimbek    
     19.11.13 
            ✎
    21:46 
 | 
         
        (31) Ну тут можно потестировать и другие варианты. Например написать экспортную функцию в общем модуле, которая будет возвращать Неопределено
 
        Хотя может и (27) сработать, только вместо v8, разумеется, надо подставлять твое ОЛЕ соединение с базой. т.е. типа: Если Объект.Контакты.Найти(СокрЛП(СпрЭлАдреса.email), "Email") = (твоеОЛЕ).Неопределено Тогда ... или Объект.Контакты.Найти(СокрЛП(СпрЭлАдреса.email), "Email") = (твоеОЛЕ).омОбщийМодульДля7_7.НеопределеноДля7_7()... где в модуле омОбщийМодульДля7_7 Функция НеопределеноДля7_7() Экспорт Возврат Неопределено; КонецФункции и т.д. решить можно по-разному  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |