Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> При переносе текста запроса в другой отчет выдает ошибку          
Мичман Харитонов Подменю пользователя
сообщение 05.06.19, 14:13
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Доброго дня!
Конфигурация самописная, версия платформы 8.3.7.1860.
Из старого работающего отчета был взят текст запроса и перенесен в новый отчет.

текст запроса
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Пересчитать",Пересчитать);
    Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
    Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
    
    Запрос.УстановитьПараметр("ВалютаОтчета",ВалютаОтчета);  
    //Отборы Менеджер, Фирма, Номенклатура
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТоварыОтгруженные.Фирма,
    |    ТоварыОтгруженные.Контрагент,
    |    ТоварыОтгруженные.Договор,
    |    ТоварыОтгруженные.ДокументПродажи,
    |    ТоварыОтгруженные.ДокументПоставки,
    |    ТоварыОтгруженные.ДокументПоставки.Станок КАК Оборудование,
    |    ТоварыОтгруженные.ВалютаРасчетов КАК Валюта,
    |    ТоварыОтгруженные.Номенклатура,
    |    ЕдиницыИзмерения.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |    ТоварыОтгруженные.КоличествоПриход КАК Количество,
    |    ТоварыОтгруженные.СуммаПриход КАК СуммаПриход,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.СуммаПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СуммаПриход
    |    КОНЕЦ КАК Сумма,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.СебестоимостьПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СебестоимостьПриход
    |    КОНЕЦ КАК Себестоимость,
    |    ВЫБОР
    |        КОГДА ТоварыОтгруженные.КоличествоПриход = 0
    |            ТОГДА 0
    |        ИНАЧЕ ВЫБОР
    |                КОГДА &Пересчитать
    |                    ТОГДА ТоварыОтгруженные.СуммаПриход / ТоварыОтгруженные.КоличествоПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |                ИНАЧЕ ТоварыОтгруженные.СуммаПриход / ТоварыОтгруженные.КоличествоПриход
    |            КОНЕЦ
    |    КОНЕЦ КАК Цена,
    |    ТоварыОтгруженные.ДокументПродажи.Менеджер КАК Менеджер,
    |    ТоварыОтгруженные.Номенклатура.УчЕдиница,
    |    ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент КАК УчКоличество,
    |    ТоварыОтгруженные.Номенклатура.УчКоэффициент,
    |    ВЫБОР
    |        КОГДА ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент = 0
    |            ТОГДА 0
    |        ИНАЧЕ ТоварыОтгруженные.СуммаПриход / (ТоварыОтгруженные.КоличествоПриход * ТоварыОтгруженные.Номенклатура.УчКоэффициент)
    |    КОНЕЦ КАК УчЦена,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА (ТоварыОтгруженные.СуммаПриход - ТоварыОтгруженные.СебестоимостьПриход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СуммаПриход - ТоварыОтгруженные.СебестоимостьПриход
    |    КОНЕЦ КАК Наценка,
    |    ТоварыОтгруженные.Регистратор,
    |    ЕдиницыИзмерения.Вес * ТоварыОтгруженные.КоличествоПриход КАК Тонн,
    |    0 КАК Рентабельность,
    |    ТоварыОтгруженные.Период,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ДЕНЬ) КАК ПериодДень,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ДЕКАДА) КАК ПериодДекада,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, МЕСЯЦ) КАК ПериодМесяц,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, КВАРТАЛ) КАК ПериодКвартал,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    |    НАЧАЛОПЕРИОДА(ТоварыОтгруженные.Период, ГОД) КАК ПериодГод,
    |    ТоварыОтгруженные.СуммаРасчетовПриход КАК СуммаВВалютеРасчетов,
    |    ТоварыОтгруженные.Характеристика,
    |    ТоварыОтгруженные.СуммаРасчетовРасход КАК СуммаОплВал,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.СуммаРасход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СуммаРасход
    |    КОНЕЦ КАК СуммаОпл,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.СебестоимостьРасход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СебестоимостьРасход
    |    КОНЕЦ КАК СебестоимостьОпл,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА (ТоварыОтгруженные.СуммаРасход - ТоварыОтгруженные.СебестоимостьРасход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СуммаРасход - ТоварыОтгруженные.СебестоимостьРасход
    |    КОНЕЦ КАК НаценкаОпл,
    |    0 КАК РентабельностьОпл,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА (ТоварыОтгруженные.СебестоимостьПриход - ТоварыОтгруженные.СуммаТ1Приход - ТоварыОтгруженные.СуммаТ2Приход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СебестоимостьПриход - ТоварыОтгруженные.СуммаТ1Приход - ТоварыОтгруженные.СуммаТ2Приход
    |    КОНЕЦ КАК СебестоимостьТоваров,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.НаценкаПродукцииПриход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.НаценкаПродукцииПриход
    |    КОНЕЦ КАК НаценкаПродукции,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА (ТоварыОтгруженные.СебестоимостьРасход - ТоварыОтгруженные.СуммаТ1Расход - ТоварыОтгруженные.СуммаТ2Расход) * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СебестоимостьРасход - ТоварыОтгруженные.СуммаТ1Расход - ТоварыОтгруженные.СуммаТ2Расход
    |    КОНЕЦ КАК СебестоимостьТоваровОпл,
    |    ТоварыОтгруженные.СуммаТ1Приход КАК СуммаТ1Приход,
    |    ВЫБОР
    |        КОГДА &Пересчитать
    |            ТОГДА ТоварыОтгруженные.СуммаТ1Приход * КурсыВалютСрезПоследних.Кратность / КурсыВалютСрезПоследних.Курс
    |        ИНАЧЕ ТоварыОтгруженные.СуммаТ1Приход
    |    КОНЕЦ КАК СуммаТранспорта,
    |    ВЫБОР
    |        КОГДА ЕСТЬNULL(ТоварыОтгруженные.СуммаПриход, 0) = 0
    |            ТОГДА 0
    |        ИНАЧЕ ТоварыОтгруженные.СуммаТ1Приход / ТоварыОтгруженные.СуммаПриход * 100
    |    КОНЕЦ КАК ПроцентТранспорта,
    |    ВалютаБалансаСрезПоследних.Валюта КАК ВалютаБаланса
    |ИЗ
    |    РегистрНакопления.ТоварыОтгруженные.Обороты(НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ), КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), Регистратор, ) КАК ТоварыОтгруженные
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ЕдиницыИзмерения КАК ЕдиницыИзмерения
    |        ПО ТоварыОтгруженные.Номенклатура = ЕдиницыИзмерения.Ссылка
    |            И ТоварыОтгруженные.Номенклатура.БазЕдиница.Ссылка = ЕдиницыИзмерения.ЕдиницаИзмерения.Ссылка
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВалютаБаланса.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), ) КАК ВалютаБалансаСрезПоследних
    |            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(КОНЕЦПЕРИОДА(&ДатаОкончания, ДЕНЬ), ВалютаБаланса = &ВалютаОтчета) КАК КурсыВалютСрезПоследних
    |            ПО ВалютаБалансаСрезПоследних.Валюта = КурсыВалютСрезПоследних.Валюта
    |        ПО ТоварыОтгруженные.Фирма = ВалютаБалансаСрезПоследних.Фирма
    |ИТОГИ
    |    СУММА(Количество),
    |    СУММА(Сумма),
    |    СУММА(Себестоимость),
    |    СУММА(УчКоличество),
    |    СУММА(Наценка),
    |    СУММА(Тонн),
    |    ВЫБОР
    |        КОГДА СУММА(Себестоимость) > 0
    |            ТОГДА СУММА(Наценка) / СУММА(Себестоимость) * 100
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК Рентабельность,
    |    СУММА(СуммаВВалютеРасчетов),
    |    СУММА(СуммаОплВал),
    |    СУММА(СуммаОпл),
    |    СУММА(СебестоимостьОпл),
    |    СУММА(НаценкаОпл),
    |    ВЫБОР
    |        КОГДА СУММА(СебестоимостьОпл) > 0
    |            ТОГДА СУММА(НаценкаОпл) / СУММА(СебестоимостьОпл) * 100
    |        ИНАЧЕ 0
    |    КОНЕЦ КАК РентабельностьОпл,
    |    СУММА(СебестоимостьТоваров),
    |    СУММА(НаценкаПродукции),
    |    СУММА(СебестоимостьТоваровОпл),
    |    СУММА(СуммаТранспорта),
    |    ВЫБОР
    |        КОГДА СУММА(ЕСТЬNULL(ТоварыОтгруженные.СуммаПриход, 0)) = 0
    |            ТОГДА 0
    |        ИНАЧЕ СУММА(ТоварыОтгруженные.СуммаТ1Приход) / СУММА(ТоварыОтгруженные.СуммаПриход) * 100
    |    КОНЕЦ КАК ПроцентТранспорта
    |ПО
    |    ОБЩИЕ
    |{ИТОГИ ПО
    |    Фирма.*,
    |    Контрагент.*,
    |    Договор.*,
    |    ДокументПродажи.*,
    |    Валюта.*,
    |    Номенклатура.*,
    |    Регистратор.*,
    |    Менеджер.*,
    |    Оборудование.*,
    |    ПериодДень,
    |    ПериодНеделя,
    |    ПериодДекада,
    |    ПериодМесяц,
    |    ПериодКвартал,
    |    ПериодПолугодие,
    |    ПериодГод,
    |    Характеристика.*}";

    Результат = Запрос.Выполнить().Выгрузить();
    Результат.ВыбратьСтроку();




При запуске выбрасывает ошибку "{(1, 1)}: Ожидается выражение "ВЫБРАТЬ""


Старый отчет использовал ПостроительОтчета, сейчас возникла необходимость выгрузить данные в таблицу значений и дополнить.
Все параметры в тексте запроса поиском по "&" выловил... не пойму, где ошибка.

Сообщение отредактировал Vofka - 05.06.19, 15:59

pablo Подменю пользователя
сообщение 05.06.19, 14:28
Сообщение #2

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

(1.1) это координаты ошибки разбора внутри текста запроса. Сходу могу предложить убрать перенос строки
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: Мичман Харитонов,

Мичман Харитонов Подменю пользователя
сообщение 05.06.19, 14:31
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Убрал.
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    ТоварыОтгруженные.Фирма,
    |    ТоварыОтгруженные.Контрагент,
    |    ТоварыОтгруженные.Договор,
........

То же самое

sava1 Подменю пользователя
сообщение 05.06.19, 14:46
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Мичман Харитонов @ 05.06.19, 15:13) *
ТекстЗапроса =


менять на Запрос.ТексЗапроса =

Спасибо сказали: Мичман Харитонов,

Petre Подменю пользователя
сообщение 05.06.19, 14:56
Сообщение #5

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

sava1 @ Today, 14:46 * ,
Лучше на "Запрос.Текст ="


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Спасибо сказали: Мичман Харитонов,

Мичман Харитонов Подменю пользователя
сообщение 05.06.19, 15:03
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 164
Из: м. Кам'янське
Спасибо сказали: 26 раз
Рейтинг: 0

Получилось!
Да... похоже. я пошел в 1С-ники только из-за того, что когда-то мне не хватило лопаты

Огромное спасибо.

sava1 Подменю пользователя
сообщение 05.06.19, 16:07
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Petre @ 05.06.19, 15:56) *
Лучше на "Запрос.Текст ="


Да, походу лучше.....

Vladal Подменю пользователя
сообщение 10.06.19, 16:30
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Цитата(pablo @ 05.06.19, 15:28) *
Сходу могу предложить убрать перенос строки
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ

нет
не влияет
Цитата
Цитата(sava1 @ 05.06.19, 15:46) *

менять на Запрос.ТексЗапроса =

Цитата(Petre @ 05.06.19, 15:56) *
Лучше на "Запрос.Текст ="

Цитата(Мичман Харитонов @ 05.06.19, 16:03) *
Получилось!
Да... похоже. я пошел в 1С-ники только из-за того, что когда-то мне не хватило лопаты

Огромное спасибо.

Цитата(sava1 @ 05.06.19, 17:07) *
Лучше на "Запрос.Текст ="

Да, походу лучше.....


Создали объект Запрос.
Переменной ТекстЗапроса присвоили текст запроса.
Выполнили запрос - а он с пустым текстом не выполняется.

Где ошибка?

В передаче свойству запроса Текст значения переменой ТекстЗапроса.

В общем, отсутствовала строка Запрос.Текст = ТекстЗапроса;
Делов-то...

Напомнило басню Крылова "Квартет" )))

Spacer Подменю пользователя
сообщение 08.07.21, 11:13
Сообщение #9

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(pablo @ 05.06.19, 15:28) *
(1.1) это координаты ошибки разбора внутри текста запроса. Сходу могу предложить убрать перенос строки
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ

Ничего там не надо убирать. Там все гораздо проще. Перед выполнение запроса автор забыл вставить строчку:
Запрос.Текст = ТекстЗапроса;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 1:23
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!