Имя: Пароль:
1C
1С v8
Не работает встроенный запрос
, , ,
0 Natalia_28
 
25.08.15
14:33
Здравствуйте! В документе СчетНаОплатуПокупателю нужно в форме документа сделать перерасчет к выбранной валюте.Из регистра сведений КурсыВалют нужно выбрать Курс и Кратность и сделать перерасчет.Как это сделать? Я новичок. Пробывала уже и вычеслительное поле добавлять, но конструктор запросов ругается...Вот код запроса

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.УстановитьПараметр("Дата", ЭтотОбъект.Дата);
    Запрос.УстановитьПараметр("Курс", );
    Запрос.УстановитьПараметр("Кратность", );
    
    ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗаказПокупателя");
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВложенныйЗапрос.Номенклатура,
                   |    ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
                   |    ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
                   |    ВложенныйЗапрос.Номенклатура.Код КАК Код,
                   |    ВложенныйЗапрос.Количество,
                   |    ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |    ВложенныйЗапрос.Цена,
                   |    ВложенныйЗапрос.СуммаБезСкидки,
                   |    ВложенныйЗапрос.СуммаСкидки,
                   |    ВложенныйЗапрос.Сумма,
                   |    ВложенныйЗапрос.СуммаНДС,
                   |    ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
                   |    1 КАК ID,
                   |    КурсыВалютСрезПоследних.Курс КАК Курс,
                   |    КурсыВалютСрезПоследних.Кратность КАК Кратность
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        ЗаказПокупателя.Номенклатура КАК Номенклатура,
                   |        ЗаказПокупателя.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |        ЗаказПокупателя.Цена КАК Цена,
                   |        СУММА(ЗаказПокупателя.Количество) КАК Количество,
                   |        СУММА(ЗаказПокупателя.СуммаБезСкидки) КАК СуммаБезСкидки,
                   |        СУММА(ЗаказПокупателя.СуммаСкидки) КАК СуммаСкидки,
                   |        СУММА(ЗаказПокупателя.Сумма) КАК Сумма,
                   |        СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС,
                   |        МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки
                   |    ИЗ
                   |        Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя
                   |    ГДЕ
                   |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
                   |    
                   |    СГРУППИРОВАТЬ ПО
                   |        ЗаказПокупателя.Номенклатура,
                   |        ЗаказПокупателя.ЕдиницаИзмерения,
                   |        ЗаказПокупателя.Цена,
                   |        ЗаказПокупателя.СтавкаНДС) КАК ВложенныйЗапрос,
                   |    РегистрСведений.КурсыВалют.СрезПоследних(
                   |            &Дата,
                   |            Кратность = &Кратность
                   |                И Курс = &Курс) КАК КурсыВалютСрезПоследних
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    ВЫБОР
                   |        КОГДА НЕ ЗаказПокупателя.Содержание ПОДОБНО """"
                   |            ТОГДА ВЫРАЗИТЬ(ЗаказПокупателя.Содержание КАК СТРОКА(1000))
                   |        КОГДА НЕ ЗаказПокупателя.Номенклатура.НаименованиеПолное ПОДОБНО """"
                   |            ТОГДА ВЫРАЗИТЬ(ЗаказПокупателя.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
                   |        ИНАЧЕ ЗаказПокупателя.Номенклатура.Наименование
                   |    КОНЕЦ,
                   |    ВЫБОР
                   |        КОГДА НЕ ЗаказПокупателя.Содержание ПОДОБНО """"
                   |            ТОГДА ВЫРАЗИТЬ(ЗаказПокупателя.Содержание КАК СТРОКА(1000))
                   |        КОГДА НЕ ЗаказПокупателя.Номенклатура.НаименованиеПолное ПОДОБНО """"
                   |            ТОГДА ВЫРАЗИТЬ(ЗаказПокупателя.Номенклатура.НаименованиеПолное КАК СТРОКА(1000))
                   |        ИНАЧЕ ЗаказПокупателя.Номенклатура.Наименование
                   |    КОНЕЦ,
                   |    ЗаказПокупателя.Номенклатура.Артикул,
                   |    ЗаказПокупателя.Номенклатура.Код,
                   |    ЗаказПокупателя.Количество,
                   |    ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
                   |    ЗаказПокупателя.Цена,
                   |    ЗаказПокупателя.СуммаБезСкидки,
                   |    ЗаказПокупателя.СуммаСкидки,
                   |    ЗаказПокупателя.Сумма,
                   |    ЗаказПокупателя.СуммаНДС,
                   |    ЗаказПокупателя.НомерСтроки,
                   |    2,
                   |    КурсыВалютСрезПоследних.Курс,
                   |    КурсыВалютСрезПоследних.Кратность
                   |ИЗ
                   |    Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя,
                   |    РегистрСведений.КурсыВалют.СрезПоследних(
                   |            &Дата,
                   |            Кратность = &Кратность
                   |                И Курс = &Курс) КАК КурсыВалютСрезПоследних
                   |ГДЕ
                   |    ЗаказПокупателя.Ссылка = &ТекущийДокумент
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ID,
                   |    НомерСтроки";
1 Апош
 
25.08.15
14:37
необязательно вообще запрос применять
2 Апош
 
25.08.15
14:38
в СП есть информация про меныджер записи
3 Natalia_28
 
25.08.15
14:38
Мне просто такое задание дали, чтобы именно через запрос все было сделано
4 Масянька
 
25.08.15
14:39
До чего дошел прогресс (С)
Раньше, когда давали задание - шли в библиотеку, а теперь - на форум.
5 Natalia_28
 
25.08.15
14:41
Я уже и книги искала по 1С и запросах, но никак не могу додуматься
6 Natalia_28
 
25.08.15
14:43
Я добавила необходимые ресурсы из РегистрСведений.КурсыВалют.СрезПоследних, а как поле добавить чтобы пересчитывало не знаю
7 Лефмихалыч
 
25.08.15
14:44
(3) что именно ты запросом получить-то хочешь?
ЗЫ читать запрос из сабжа не могу - укачивает
8 Natalia_28
 
25.08.15
14:46
У меня есть печатная форма к документу.В документе я добавила поле для выбора валюты.Мне нужно через запрос подтянуть курс валюты на определенную дату и ее кратность..При вводе сумы в документе, должно пересчитывать сумму в зависимости от курса и валюты (я ввожу в грн, а выбрано например доллар).И эту сумму нужно вывести на печатную форму
9 John83
 
25.08.15
14:46
в документе есть кратность, курс и валюта.
доставай запросом курс и пересчитывай сумму, а в твоем запросе вообще непонятно чего пытаешься сделать, да и кривой
10 Natalia_28
 
25.08.15
14:48
может и кривой я спорить не буду, это запрос из самого документа Бухгалтерии для Украины..сказали этот запрос переделать
11 John83
 
25.08.15
14:53
ВЫБРАТЬ
    КурсыВалютСрезПоследних.Курс КАК Курс,
    КурсыВалютСрезПоследних.Кратность КАК Кратность
ИЗ
    РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыВалютСрезПоследних

это все что тебе нужно, дальше от суммы документа считай, если очень хочется, то можно и в запросе
12 vhl
 
25.08.15
15:01
(10) т.е., ты просто везде через запятую добавила регистр курсов и думаешь так оно заработает?
13 Natalia_28
 
25.08.15
15:03
(12) нет, я так не думаю.я просто не могу понять как мне все это дело пересчитать...почему и спрашиваю...я знаю, что что-то не доделала