|   |   | 
| 
 | COM соединение к базе бух | ☑ | ||
|---|---|---|---|---|
| 0
    
        ColonelAp4u 26.04.16✎ 09:32 | 
        Добрый день подскажите пожалуйста как быть. Мне необходимо перегрузить платежки из базы бух в рабочую базу. Подключаюсь по кому все хорошо платежки отбираю по периоду. Но есть косяк, необходимо выбрать только те документы у которых Вид операции(перечисление.Видыоперации.ОплатаПокупателя). Получить из базы это значение могу но в самом документе это ком объект и у него нету никаких признаков по которым его можно было бы найти что бы сравнить с найденным видом в самой базе и перегружать только те документы которые соответствуют условиям     | |||
| 1
    
        ColonelAp4u 26.04.16✎ 09:33 | 
        может я не прав и есть возможность получить данные из ком объекта     | |||
| 2
    
        ColonelAp4u 26.04.16✎ 09:37 | 
        признакРТОЛЕ = БазаОЛЕ.Метаданные().Перечисления.ВидыОперацийПКО.EnumValues.Get(0).Name;
 Вот так я получил значение перемечисления | |||
| 3
    
        ColonelAp4u 26.04.16✎ 09:37 | 
        перечисления*     | |||
| 4
    
        Pro-tone 26.04.16✎ 09:40 | 
        (0) в чем проблема выбрать запросом?     | |||
| 5
    
        ColonelAp4u 26.04.16✎ 09:41 | 
        Где выбрать запросом     | |||
| 6
    
        ColonelAp4u 26.04.16✎ 09:41 | 
        выборкаОЛЕ = БазаОЛЕ.документы.ПриходныйКассовыйОрдер.выбрать(НачПериода,КонПериода);     | |||
| 7
    
        Pro-tone модератор 26.04.16✎ 09:41 | 
        (5) в базе бух     | |||
| 8
    
        DrZombi гуру 26.04.16✎ 09:41 | 
        (2) У перечисления есть индекс, порядковый номер, если так понятней. И оно там не меняется :)     | |||
| 9
    
        ColonelAp4u 26.04.16✎ 09:41 | 
        это выборка документов по периоду, после периода можно поставить отбор.     | |||
| 10
    
        Pro-tone модератор 26.04.16✎ 09:42 | 
        (6) ты знаком с запросами?     | |||
| 11
    
        DrZombi гуру 26.04.16✎ 09:42 | 
        (9) Ты нас учишь или спрашиваешь? :)     | |||
| 12
    
        Pro-tone модератор 26.04.16✎ 09:45 | 
        (9) уважаемый, если не будет ответа на (10) я закрою эту ветку, а откроешь заново такую же заблокирую уже тебя самого     | |||
| 13
    
        ColonelAp4u 26.04.16✎ 09:46 | 
        (10) знаком буду пробовать     | |||
| 14
    
        ColonelAp4u 26.04.16✎ 09:46 | 
        если что напишу просто после вашего ответа начал пробовать делать запрос и по этому тут тишина была     | |||
| 15
    
        Pro-tone 26.04.16✎ 09:48 | 
        (13) верный ответ я дал в (4), строишь запрос в базе бух со всеми отборами и получаешь нужные объекты     | |||
| 16
    
        ColonelAp4u 26.04.16✎ 09:52 | 
        (15) понял спасибо пробую     | |||
| 17
    
        ColonelAp4u 26.04.16✎ 09:56 | 
        Запрос = БазаОЛЕ.newObject("Запрос");
 Запрос.Текст = "ВЫБРАТЬ | ПриходныйКассовыйОрдер.Ссылка, | ПриходныйКассовыйОрдер.ВидОперации |ИЗ | Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер |ГДЕ | ПриходныйКассовыйОрдер.ВидОперации = &ВидОперации"; Запрос.установитьПараметр("ВидОперации",признакРТОЛЕ); Результат = Запрос.Выполнить().Выбрать(); Результат.Следующий(); | |||
| 18
    
        ColonelAp4u 26.04.16✎ 09:57 | 
        Подскажите правильно ли я указал параметр?
 или нужно его по другому указать? | |||
| 19
    
        ColonelAp4u 26.04.16✎ 09:58 | 
        признакРТОЛЕ = БазаОЛЕ.Метаданные().Перечисления.ВидыОперацийПКО.EnumValues.Get(0).Name; Здесь получаю значение "ОплатаПокупателя"     | |||
| 20
    
        elCust 26.04.16✎ 09:59 | 
        Пиши запрос. В запросе используй оператор ЗНАЧЕНИЕ()     | |||
| 21
    
        hhhh 26.04.16✎ 10:07 | 
        (19) неправильно. "ОплатаПокупателя" - это ведь строка. А ПриходныйКассовыйОрдер.ВидОперации - это по-любому не строка. У вас пусто будет. НИчего не выберется.     | |||
| 22
    
        hhhh 26.04.16✎ 10:08 | 
        (19) да, вот так
 |ГДЕ | ПриходныйКассовыйОрдер.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийПКО.ОплатаПокупателя) | |||
| 23
    
        ColonelAp4u 26.04.16✎ 10:11 | 
        (22) Выдает ошибку 
 {Форма.Форма.Форма(25)}: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить().Выбрать(); по причине: Произошла исключительная ситуация (1C:Enterprise 8.3.6.2421): {(7, 48)}: Неверные параметры "Перечисления.ВидыОперацийПКО.ОплатаПокупателя" ПриходныйКассовыйОрдер.ВидОперации = Значение(<<?>>Перечисления.ВидыОперацийПКО.ОплатаПокупателя) | |||
| 24
    
        ColonelAp4u 26.04.16✎ 10:12 | 
        Я честно извиняюсь но с ком объектами начал работать вчера. Многого не знаю так что сильно не судите пож.     | |||
| 25
    
        Gangar 26.04.16✎ 10:18 | 
        а с запросами раньше чем вчера?     | |||
| 26
    
        Gangar 26.04.16✎ 10:19 | 
        (23) (24) Тебе ж в (22) написали - ..перечислениЕ     | |||
| 27
    
        ColonelAp4u 26.04.16✎ 10:19 | 
        (25) давно просто изучал все без книжек и некоторых нюансов могу не знать     | |||
| 28
    
        ColonelAp4u 26.04.16✎ 10:22 | 
        (26) увидел спс запрос выбрал и все равно вид операции ком объект без каких либо данных     | |||
| 29
    
        ColonelAp4u 26.04.16✎ 10:25 | 
        кажется разобрался всем спасибо тему пока не закрывайте     | |||
| 30
    
        Pro-tone 26.04.16✎ 10:33 | 
        (28) все верно, все объекты внешней базы это СОМ-объекты     | |||
| 31
    
        ColonelAp4u 26.04.16✎ 10:35 | 
        всем спасибо запрос отработал как нужно спасибо большое     | |||
| 32
    
        ColonelAp4u 26.04.16✎ 10:35 | 
        можно клоуз     | |||
| 33
    
        cw014 26.04.16✎ 10:36 | 
        признакРТОЛЕ = БазаОЛЕ.Метаданные().Перечисления.ВидыОперацийПКО.ОплатаПокупателя;     | |||
| 34
    
        ColonelAp4u 26.04.16✎ 10:42 | 
        (33) это к чему написано?     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |