Имя: Пароль:
1C
1С v8
COMConnector Как передать для запроса?
0 AugustBlack
 
29.01.12
17:15
здрасьте подключаюсь с помощью обработки с базы приемника к источнику через COMConnector. Вылазит ошибка при выполнении запроса
{Форма.Форма.Форма(37)}: Ошибка при вызове метода контекста (Выполнить): Произошла исключительная ситуация: {(20, 30)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
Тбит_Квартплата.Организация <<?>>= &Организация


ps. организация идентична как в источнике так и примнике. Но дело в том что я то параметры для запроса задаю в приемнике вот и ругается. Не понимаю как правильно получить организацию с источника и передать ее в запрос? подскажите

вот код еще:
Попытка    
       Conn = Новый COMObject("V82.COMConnector");
       Connection = Conn.Connect("File=""C:\123"";Usr=""Бухгалтер"";Pwd=""123"";");
       Запрос = Connection.NewObject("Запрос");
       Запрос.Текст =
       "ВЫБРАТЬ
       |ВложЗапрос.ЛицевойСчет  КАК ЛицевойСчет,
       |ВложЗапрос.НомерКвартиры  КАК НомерКвартиры,
       |ВложЗапрос.Тариф КАК ВидНачисления,
       |СУММА(ВложЗапрос.Сумма) КАК Сумма,
       |СУММА(ВложЗапрос.Сумма) КАК СуммаВсего
       |ИЗ
       |(ВЫБРАТЬ
       |Тбит_Квартплата.Тариф.Наименование КАК Тариф,
       |Тбит_Квартплата.ЛицевойСчет.Код КАК ЛицевойСчет,
       |Тбит_Квартплата.ЛицевойСчет.Квартира КАК НомерКвартиры,
       |ВЫБОР
       |КОГДА Тбит_Квартплата.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
       |ТОГДА Тбит_Квартплата.Сумма
       |ИНАЧЕ -Тбит_Квартплата.Сумма
       |    КОНЕЦ КАК Сумма
       |    ИЗ
       |    РегистрНакопления.Тбит_Квартплата КАК Тбит_Квартплата
       |    ГДЕ
       |    Тбит_Квартплата.Организация = &Организация
       |    И Тбит_Квартплата.Период <= &Период) КАК ВложЗапрос    
       |    СГРУППИРОВАТЬ ПО
       |ВложЗапрос.Тариф,
       |ВложЗапрос.ЛицевойСчет,
       |ВложЗапрос.НомерКвартиры";
       Запрос.УстановитьПараметр("Период",Дата);
       Запрос.УстановитьПараметр("Организация",Организация);
       
       Результат = Запрос.Выполнить();
       ТЗ = Результат.Выгрузить();
       
       НовыйДок = Документы.КУ_ВводНачальныхОстатков.СоздатьДокумент();
       НовыйДок.УстановитьВремя();
       НовыйДок.УстановитьНовыйНомер();
       НовыйДок.Организация = Организация;
       НовыйДок.Ответственный = ПараметрыСеанса.ТекущийПользователь;
       
       Для Каждого СтрокаТЗ Из ТЗ Цикл    
           СтрокаНачислений = НовыйДок.ВидыНачислений.Добавить();
           СтрокаНачислений.ЛицевойСчет = Справочники.КУ_ЛицевыеСчета.НайтиПоКоду(СтрокаТЗ.ЛицевойСчет);    
           СтрокаНачислений.Сумма = ТЗ.Сумма;
           СтрокаНачислений.СуммаВсего = ТЗ.СуммаВсего;
           СтрокаНачислений.НомерКвартиры = ТЗ.НомерКвартиры;
           СтрокаНачислений.ВидНачисления = Справочники.КУ_ВидыНачисленийНаЖилье.НайтиПоНаименованию(СтрокаТЗ.ВидНачисления);
           СтрокаНачислений.ПериодВзаиморасчетов = Дата;
       КонецЦикла;    
       НовыйДок.Записать();    
   Исключение
       Сообщить(ОписаниеОшибки());
   КонецПопытки;
1 AugustBlack
 
29.01.12
17:16
опечатка в названии темы *COMConnector Как передать параметр для запроса??*
2 AugustBlack
 
29.01.12
17:26
ладна дошло
Connection.Справочники.Организации.НайтиПоНаименованию()
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.