Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Какие ошибки допущены в запросе

Какие ошибки допущены в запросе
Я
   skupidom
 
03.05.18 - 23:33
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТаблицаДляОтбора",Таблица);
    Запрос.УстановитьПараметр("ФизическоеЛицо",Физлицо);
    Запрос.УстановитьПараметр("КостЦентр",КостЦентр);
    Запрос.Текст =    
"Выбрать 
    | *
    |ПОМЕСТИТЬ ВТ_ТаблицаДляОтбора
    | ИЗ
    | &ТаблицаДляОтбора КАК ТаблицаДляОтбора
    | ;
    |//////////////////////////////////////////////

    |Выбрать 
    | *
    | ИЗ
    | ВТ_ТаблицаДляОтбора КАК ВТ_ТаблицаДляОтбора
    | ГДЕ 
    | ВТ_ТаблицаДляОтбора.ФизическоеЛицо = &ФизическоеЛицо
    | И ВТ_ТаблицаДляОтбора.СтатьяФинансирования = &КостЦентр";
 
 
   BeerHelpsMeWin
 
1 - 03.05.18 - 23:42
а Таблица.Найтистроки(структураПоиска) нельзя использовать?
не уверен в плане скорости, но в плане чтения кода дак точно лучше будет
   zwei
 
2 - 03.05.18 - 23:42
Внимательно слушаем.
   zwei
 
3 - 03.05.18 - 23:44
(1) В плане скорости будет лучше, потому что не будет теребонькать сетевой стек, скл сервер и опять сетевой стек.
   skupidom
 
4 - 04.05.18 - 00:08
А если полностью:
Процедура Сформировать(ТаблицаПроводок,ДопПарам,ТаблицаНДФЛ,ТаблицаНачислений)
Если ТаблицаНДФЛ.Количество() = 0 Тогда
    Возврат;
КонецЕсли;
НомерСтроки = 0;
Для каждого СтрокаТаблицы Из ТаблицаНДФЛ Цикл
ОтобратьТаблицуПоСотруднику(ТаблицаНачислений,СтрокаТаблицы.ФизическоеЛицо,СтрокаТаблицы.СтатьяФинансирования);
КонецЦикла;
КонецПроцедуры

Функция ОтобратьТаблицуПоСотруднику(Таблица,ФизЛицо,КостЦентр)
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТаблицаДляОтбора",Таблица);
    Запрос.УстановитьПараметр("ФизическоеЛицо",Физлицо);
    Запрос.УстановитьПараметр("КостЦентр",КостЦентр);
    Запрос.Текст =    
"Выбрать 
    | *
    |ПОМЕСТИТЬ ВТ_ТаблицаДляОтбора
    | ИЗ
    | &ТаблицаДляОтбора КАК ТаблицаДляОтбора
    | ;
    //////////////////////////////////////////////


    |Выбрать 
    | *
    | ИЗ
    | ВТ_ТаблицаДляОтбора КАК ВТ_ТаблицаДляОтбора
    | ГДЕ 
    | ВТ_ТаблицаДляОтбора.ФизическоеЛицо = &ФизическоеЛицо
    | И ВТ_ТаблицаДляОтбора.СтатьяФинансирования = &КостЦентр";
Возврат Запрос.Выполнить.Выгрузить();
КонецФункции
   timurhv
 
5 - 04.05.18 - 00:11
(4) Запросы циклом - наше все
   timurhv
 
6 - 04.05.18 - 00:14
+(5) В запросе необходимо "ТаблицаНДФЛ" использовать (внутреннее соединение), либо как в (1) посоветовали.
   xXeNoNx
 
7 - 04.05.18 - 00:16
(5) Вы просто не умеете их готовить.... или умеете
   xXeNoNx
 
8 - 04.05.18 - 00:21
а как вам "*" в запросе?
а как вам использование менеджерВременныхТаблиц?
функция ОтобратьТаблицуПоСотруднику - отрабатывает в холостую, результат нигде не сохраняется
   xXeNoNx
 
9 - 04.05.18 - 00:27
Да и вообще &ТаблицаДляОтбора - плохая идея, правда не помню почему

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует