8.х Ошибка в параметре запроса

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Intarion, 21 окт 2008.

  1. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    И так, что мы имеем:
    Код:
    	
    Соединить();
    Запрос = Соединение.NewObject("Запрос");
    
    
    Запрос.Текст="
    |ВЫБРАТЬ
    |	ХозрасчетныйОстатки62.Субконто1 КАК Субконто1,
    |	ХозрасчетныйОстатки62.Субконто2 КАК Субконто2,
    |	СУММА(ВЫБОР
    |			КОГДА ХозрасчетныйОстатки62.Субконто2.ВалютаВзаиморасчетов = &Рубль
    |				ТОГДА ХозрасчетныйОстатки62.СуммаОстатокДт
    |			ИНАЧЕ ХозрасчетныйОстатки62.ВалютнаяСуммаОстатокДт
    |		КОНЕЦ) КАК Дт,
    |	СУММА(ВЫБОР
    |			КОГДА ХозрасчетныйОстатки62.Субконто2.ВалютаВзаиморасчетов = &Рубль
    |				ТОГДА ХозрасчетныйОстатки62.СуммаОстатокКт
    |			ИНАЧЕ ХозрасчетныйОстатки62.ВалютнаяСуммаОстатокКт
    |		КОНЕЦ) КАК Кт
    |ИЗ
    |	РегистрБухгалтерии.Хозрасчетный.Остатки(&НачПериода, Счет В ИЕРАРХИИ (&Счет62), , ) КАК ХозрасчетныйОстатки62
    |
    |СГРУППИРОВАТЬ ПО
    |	ХозрасчетныйОстатки62.Субконто1,
    |	ХозрасчетныйОстатки62.Субконто2
    |
    |УПОРЯДОЧИТЬ ПО
    |	Субконто1,
    |	Субконто2
    |АВТОУПОРЯДОЧИВАНИЕ
    |";
    
    
    
    Запрос.УстановитьПараметр("НачПериода", Новый Граница(НачалоДня(НачПериода), ВидГраницы.Включая));	
    Запрос.УстановитьПараметр("Счет62", Соединение.ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками);    
    Запрос.УстановитьПараметр("Рубль", Соединение.Справочники.Валюты.НайтиПоКоду("810"));
    
    
    
    на первый взгляд все красиво, но не работает.
    Пролема в том, что в параметре "НачПериода" нужно использовать только!!! Границу, и чтоб это передать надо создать объетк в com. Как это сделать

    При Выборка = Запрос.Выполнить().Выбрать() вылетает следущая ошибка


    Ошибка обработки представления "РегистрБухгалтерии.Хозрасчетный.Остатки:Несоответствие типов (параметр номер ""1"")"
    <<?>>РегистрБухгалтерии.Хозрасчетный.Остатки(&НачПериода, Счет В ИЕРАРХИИ (&Счет62), , ) КАК ХозрасчетныйОстатки62
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Граница = Соединение.NewObject(....)
  3. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Соединение.NewObject("Граница") не работает.
    :unsure:
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    У всех работает, а у вас нет? :)
  5. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Попробуй...
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А что пробовать, если у меня работает... Вы бы вот показали, ЧТО у вас не работает, а не просто голословный текст.
  7. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Смотрите. В первом варианте все работает, а во втором нет...

    Вложения:

    • 1.PNG
      1.PNG
      Размер файла:
      18,2 КБ
      Просмотров:
      109
    • 2.PNG
      2.PNG
      Размер файла:
      16,8 КБ
      Просмотров:
      114
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ну так там же все написано!
    Кто параметры-то будет указывать?
  9. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Ну покажи как их указать....
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    NewObject( <Создаваемый объект> , <Параметр> )

    Проще не бывает :)
  11. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Есть еще простой вариант, если уж очень трудно через СОМ.
    Создаете в общем модуле экспортную процедуру (функцию)
    Код:
    Функция СоздатьГраницуПоДате(Дата) Экспорт
    Возврат Новый Граница (.......) // Здесь генерите какую вам надо границу и возвращаете ее
    КонецФункции
    
    
    Через СОМ делаете
    Запрос.УстановитьПараметр("НачПериода", Соединение.СоздатьГраницуПоДате(НачПериода));
  12. TopicStarter Overlay
    Intarion
    Offline

    Intarion

    Регистрация:
    20 дек 2006
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Вот нельзя было так сразу и написать...

Поделиться этой страницей