8.х Не срабатывет запрос

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

  1. TopicStarter Overlay
    Pavel2009
    Offline

    Pavel2009 Опытный в 1С

    Регистрация:
    11 окт 2010
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Не срабатывает запрос, на событии при изменении, в форме документа. Запрос на выборку двух таблиц, документа и Регистра срез последних и оборка левым соединением, полей валюта из двух таблиц и по результатам отбора умножении цены на курс из справочника Валюты!
    В документе почему то не срабатывает, хотя в КонсолеЗапросов все работало.
    Всем заранее спасибо!

    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |	РеализацияТоваровИУслуг.Валюта.Наименование,
    |	РеализацияТоваровИУслуг.РеализацияТоваров.(
    |		ЕСТЬNULL(РеализацияТоваровИУслуг.РеализацияТоваров.Цена * ВалютыСрезПоследних.Курс, 0) КАК Цена,
    |		Номенклатура.Наименование,
    |		Сумма
    |	),
    |	ЕСТЬNULL(ВалютыСрезПоследних.Валюта, 0) КАК Поле2,
    |	ЕСТЬNULL(ВалютыСрезПоследних.Курс, 0) КАК Поле1
    |ИЗ
    |	Документ.РеализацияТоваровИУслуг КАК РеализацияТоваровИУслуг
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Валюты.СрезПоследних КАК ВалютыСрезПоследних
    |		ПО РеализацияТоваровИУслуг.Валюта.Наименование = ВалютыСрезПоследних.Валюта.Наименование";
    
    
    РезультатЗапроса = Запрос.Выполнить();
    

    Вложения:

  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    А в отладчике проверяли, в процедуру вобще попадает?
    Возможно, вы свою процедуру к событию не привязали..
  3. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    28долларов за 1 рубль?)) тут явно что-то напутано))
    какой смысл запроса? или это не типовая? про дату не забудьте. и соединять надо по ссылочным полям, а не по наименованию
  4. TopicStarter Overlay
    Pavel2009
    Offline

    Pavel2009 Опытный в 1С

    Регистрация:
    11 окт 2010
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Смысл запроса был в следующем, при изменении реквезита Валюта на значение руб,
    чтобы поле Цена пересчиталась на значение Руб в РегистреНакопления и обратно при смене на USD(еще не докумекал как это сделать)!
    Конфигурация не типовая, своя написанная для учёбы, 28 доларов за руб, т.е. у меня 1 руб = 28 дол,
    по другому не получается - поскольку запрос отсекает по значениям Руб, с определенным Курсом в РегистреСведений,на значение которого перемножается значения колонки Цена!
  5. afinogen
    Offline

    afinogen Опытный в 1С

    Регистрация:
    28 фев 2011
    Сообщения:
    160
    Симпатии:
    0
    Баллы:
    26
    если честно то особо ничего не понятно, какой регистрнакопления?

    по коду допустим видно что вы данные берете из самого документа, берите из табчасти, что то типа:
    Код:
    Запрос.Текст = "ВЫБРАТЬ
    |	РеализацияТоваровИУслуг.Ссылка.Валюта.Наименование,
    |	ЕСТЬNULL(РеализацияТоваровИУслуг.Цена * ВалютыСрезПоследних.Курс, 0) 
    |КАК Цена,
    |		РеализацияТоваровИУслуг.Номенклатура.Наименование,
    |		РеализацияТоваровИУслуг.Сумма,
    |	ЕСТЬNULL(ВалютыСрезПоследних.Валюта, 0) КАК Поле2,
    |	ЕСТЬNULL(ВалютыСрезПоследних.Курс, 0) КАК Поле1
    |ИЗ
    |	Документ.РеализацияТоваровИУслугРеализацияТоваров КАК РеализацияТоваровИУслуг
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Валюты.СрезПоследних КАК ВалютыСрезПоследних
    |		ПО РеализацияТоваровИУслуг.Ссылка.Валюта = ВалютыСрезПоследних.Валюта";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    

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