Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
02 июл 2024, 14:55

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

Автор Ant, 08 июл 2022, 06:28

0 Пользователей и 1 гость просматривают эту тему.

Ant

Доброго утра!
Помогите разобраться. При запросе данных из базы Оракл с 1С8.2 ошибка
Ошибка при вызове метода контекста (Выполнить)
{ВнешняяОбработка.ЗагрузкаИзСферы.Форма.Форма.Форма(4600)}:Результат = Запрос.Выполнить();
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"

Процедура ЗагрузитьКассу(Элемент)   
    Сообщить("ЗагрузитьКассу - старт: "+Формат(ТекущаяДата(),"ДЛФ=DT"));
Если ТолькоКонтр=истина тогда
    Предупреждение("Документы по кассе нельзя загружать по контрагентам.
    |Уберите флажок Только по контрагентам!",10);
    Возврат;
КонецЕсли;
Помеченные = Новый Массив;
ТабЗнач.Очистить();
МенеджерЗаписи = РегистрыСведений.СтатусЗагрузки.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Пользователь = глЗначениеПеременной("глТекущийПользователь");
МенеджерЗаписи.Статус = "Начата загрузка Кассы";
МенеджерЗаписи.ДатаНач = ДатаНач;
МенеджерЗаписи.ДатаКон = ДатаКон;
МенеджерЗаписи.Начало = ТекущаяДата();
НачалоЗагрузки = МенеджерЗаписи.Начало;
МенеджерЗаписи.Организация = ВыбФирма;     
МенеджерЗаписи.Записать();   
Запрос = Новый Запрос;
Текстзапроса="";
Помеченные.Добавить("Документ.КорректировкаДолга");
Помеченные.Добавить("Документ.ПоступлениеДенежныхДокументов");
Для Сч=0 По СписокКассОпер.Количество()-1 Цикл
    Если (СписокКассОпер.Получить(Сч).Пометка) тогда
    СтрокаСпис=СписокКассОпер.Получить(Сч);
   
        ОперУид = Строка(СтрокаСпис.Значение);
        Запрос.Текст = "
        |ВЫБРАТЬ
        |    ПриходныйКассовыйОрдер.Ссылка
        |ИЗ
        |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
        |ГДЕ
        |    ПриходныйКассовыйОрдер.Организация = &глФирма
        |    И
        |    ПриходныйКассовыйОрдер.ОперУид  =&ОперУид"+Строка(сч)+"
        |    И
        |    ПриходныйКассовыйОрдер.ОперУид is not null
        |    И                                                     
        |    ПриходныйКассовыйОрдер.Дата between &Дата1 and &Дата2
        | ОБЪЕДИНИТЬ
        |ВЫБРАТЬ
        |    РасходныйКассовыйОрдер.Ссылка
        |ИЗ
        |    Документ.РасходныйКассовыйОрдер КАК РасходныйКассовыйОрдер
        |ГДЕ
        |    РасходныйКассовыйОрдер.Организация = &глФирма
        |    И
        |    РасходныйКассовыйОрдер.ОперУид = &ОперУид" + Строка(Сч) + "
        |    И                                   
        |    РасходныйКассовыйОрдер.ОперУид is not null
        |    И
        |    РасходныйКассовыйОрдер.Дата between &Дата1 and &Дата2
        | ОБЪЕДИНИТЬ";
       
        ТекстЗапроса = ТекстЗапроса+Запрос.Текст;
        Запрос.УстановитьПараметр("ОперУид" + Строка(сч), ОперУид);
        Если (ОперУид ="4462") или (ОперУид ="6053") или (ОперУид ="4463")  тогда
            Запрос1 = Новый Запрос;
            Запрос1.Текст = "
            |ВЫБРАТЬ
            |    КорректировкаДолга.Ссылка
            |ИЗ
            |    Документ.КорректировкаДолга КАК КорректировкаДолга
            |ГДЕ
            |    КорректировкаДолга.Организация = &глФирма
            |    И
            |    КорректировкаДолга.ОперУид  =  &ОперУид
            |    И
            |    КорректировкаДолга.ОперУид is not null
            |    И                                                     
            |    КорректировкаДолга.Дата between &Дата1 and &Дата2";
            Запрос1.УстановитьПараметр("глФирма", глФирма);
            Запрос1.УстановитьПараметр("Дата1", ДатаНач);
            Запрос1.УстановитьПараметр("Дата2", КонецДня(ДатаКон));
            Запрос1.УстановитьПараметр("ОперУид", ОперУид);
            Результат = Запрос1.Выполнить();
            Выборка = Результат.Выбрать();
            Пока Выборка.Следующий() Цикл
                Док = Выборка.Ссылка.ПолучитьОбъект();   
                //Если (Док.ОперУид <> "") тогда
                Док.УстановитьПометкуУдаления(Истина);
                //Помеченные.Добавить(Док);
               
                //КонецЕсли;
            КонецЦикла;
        конецЕсли;
        Если ОперУид ="5889"  тогда
            Запрос1 = Новый Запрос;
            Запрос1.Текст = "
            |ВЫБРАТЬ
            |    ПоступлениеДенежныхДокументов.Ссылка
            |ИЗ
            |    Документ.ПоступлениеДенежныхДокументов КАК ПоступлениеДенежныхДокументов
            |ГДЕ
            |    ПоступлениеДенежныхДокументов.Организация = &глФирма
            |    И
            |    ПоступлениеДенежныхДокументов.ОперУид  =  &ОперУид
            |    И
            |    ПоступлениеДенежныхДокументов.ОперУид is not null
            |    И                                                     
            |    ПоступлениеДенежныхДокументов.Дата between &Дата1 and &Дата2";
            Запрос1.УстановитьПараметр("глФирма", глФирма);
            Запрос1.УстановитьПараметр("Дата1", ДатаНач);
            Запрос1.УстановитьПараметр("Дата2", КонецДня(ДатаКон));
            Запрос1.УстановитьПараметр("ОперУид", ОперУид);
            сООБщить(Запрос);
            Результат = Запрос1.Выполнить();
           
            Выборка = Результат.Выбрать();
            Пока Выборка.Следующий() Цикл
                Док = Выборка.Ссылка.ПолучитьОбъект();   
                //Если (Док.ОперУид <> "") тогда
                Док.УстановитьПометкуУдаления(Истина);
                //Помеченные.Добавить(Док);
               
                //КонецЕсли;
            КонецЦикла;
        конецЕсли;
       
    конецЕсли;
Конеццикла;
Запрос.УстановитьПараметр("глФирма", глФирма);
Запрос.УстановитьПараметр("Дата1", ДатаНач);
Запрос.УстановитьПараметр("Дата2", КонецДня(ДатаКон));
ТекстЗапроса = Лев(ТекстЗапроса,СтрДлина(Текстзапроса)-12)+"";
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
    Док = Выборка.Ссылка.ПолучитьОбъект();   
    //Если (Док.ОперУид <> "") тогда
    Док.Удалить(); // Удаляем ПКО и РКО
   
    //КонецЕсли;
КонецЦикла;


alexandr_ll

Ant, Какой запрос выполняется в строке 46007 Когда приводите текст модуля, вставляйте его как код 1с.

antoneus


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск