|   |   | 
| 
 | Не работает SetParameter | ☑ | ||
|---|---|---|---|---|
| 0
    
        nebelung 15.03.14✎ 20:29 | 
        Пытаюсь отфильтровать входящие платежи по номеру договора, почему-то не работает. 
 dynamic query = connection.NewObject("Запрос"); string queryText = " ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ВидОперации) КАК ВидОперации, " + " ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаВыписки) КАК ДатаВыписки, " + " ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент.ИдентификационныйКодЛичности) КАК BIN, " + " ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Номер) КАК Номер, " + " ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент.НаименованиеПолное КАК Контрагент, " + " ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа КАК СуммаРасхода, " + " ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств) КАК Статья, " + " ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.ДоговорКонтрагента) КАК ДоговорКонтрагента, " + " ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаНДС КАК СуммаНДС, " + " ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Комментарий " + " ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа " + " ГДЕ ДоговорКонтрагента=&Nomer"; query.Текст = queryText; query.SetParameter("Nomer", docNo); dynamic e = query.Выполнить().Выбрать(); В чем может быть дело? | |||
| 1
    
        ДенисЧ 15.03.14✎ 20:30 | 
        1. расстрелять за такой стиль
 2. Договор это ссылка... | |||
| 2
    
        nebelung 15.03.14✎ 20:31 | 
        в консоле запросов все работает, то есть в самом запросе все правильно     | |||
| 3
    
        nebelung 15.03.14✎ 20:34 | 
        ииии????     | |||
| 4
    
        oleg_km 15.03.14✎ 23:24 | 
        А у меня что-то тоже из шарпа запрос не отработал. Сейчас не помню, завтра-послезавтра посмотрю     | |||
| 5
    
        hhhh 15.03.14✎ 23:31 | 
        еще раз
 ГДЕ ДоговорКонтрагента=&Nomer договор никогда не будет равен номеру. | |||
| 6
    
        nebelung 16.03.14✎ 05:21 | 
        hhhh, так как сделать?
 В консоле ведь запрос выполняется. Как правильно задать параметр в C#? | |||
| 7
    
        Sj 16.03.14✎ 07:49 | 
        (6) ГДЕ ДоговорКонтрагента.Номер =&Nomer     | |||
| 8
    
        Kookish 16.03.14✎ 12:04 | 
        (6) Или query.setParameter("Nomer", <СсылкаНаЭлементСправочникаДоговорыКонтрагентов>);     | |||
| 9
    
        Sj 16.03.14✎ 14:28 | 
        (8) а откуда в C# ссылка на элемент?     | |||
| 10
    
        oleg_km 16.03.14✎ 15:16 | 
        (9) Ну тоже объект dynamic     | |||
| 11
    
        nebelung 16.03.14✎ 17:39 | 
        Спасибо всем
 Сделал так и заработало dynamic connection = com1s.Connect("File='" + file + "';Usr='" + user + "';pwd='" + pas + "';"); Console.WriteLine("Connected COM time:" + DateTime.Now); dynamic docNo2 = connection.Справочники.ДоговорыКонтрагентов.НайтиПоРеквизиту("НомерДоговора", docNo); dynamic query = connection.NewObject("Запрос"); //dynamic qO = new Query() string queryText = @" ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ВидОперации) КАК ВидОперации, ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаВыписки) КАК ДатаВыписки, ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент.ИдентификационныйКодЛичности) КАК BIN, ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Номер) КАК Номер, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент.НаименованиеПолное КАК Контрагент, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа КАК СуммаРасхода, ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств) КАК Статья, ПРЕДСТАВЛЕНИЕ(ПлатежноеПоручениеВходящееРасшифровкаПлатежа.ДоговорКонтрагента) КАК ДоговорКонтрагента, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаНДС КАК СуммаНДС, ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Комментарий ИЗ Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа ГДЕ ПлатежноеПоручениеВходящееРасшифровкаПлатежа.ДоговорКонтрагента = &Nomer"; query.Текст = queryText; query.УстановитьПараметр("Nomer", docNo2); dynamic e = query.Выполнить().Выбрать(); | |||
| 12
    
        МихаилМ 16.03.14✎ 17:46 | 
        (11)
 а где проверка, что docNo2 найден ? | |||
| 13
    
        nebelung 16.03.14✎ 18:19 | 
        МихаилМ, спасибо за замечение. Это сырой, но главное работающий вариант! Проверка конечно же будет     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |