Имя: Пароль:
1C
1С v8
Запрос во внешней обработке 8.1
0 Путник_М
 
18.04.12
16:51
Добрый день! Не правильно работает запрос во внешней обработке, не воспринимает больше одного параметра, в противном случае результатом выходит пустой запрос! Тот же запрос с теме же параметрами в консоли работает правильно, учитывая все параметры! С чем может быть связано это явление, и как его устранить?
1 Путник_М
 
18.04.12
16:52
Запрос простейший:

ВЫБРАТЬ
   ЗаказыПокупателейОстатки.КоличествоОстаток КАК Остаток
ИЗ
   РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
ГДЕ
   ЗаказыПокупателейОстатки.ЗаказПокупателя = &Заказ
   И ЗаказыПокупателейОстатки.Номенклатура = &Номенклатура
   И ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры = &Характеристика
2 Путник_М
 
18.04.12
16:53
Указав все три параметра выдает пустую таблицу, что не правильно
3 Путник_М
 
18.04.12
16:53
Работает только так:

ВЫБРАТЬ
   ВнутренниеЗаказыОстатки.КоличествоОстаток КАК Остаток,
   ВнутренниеЗаказыОстатки.ВнутреннийЗаказ
ИЗ
   РегистрНакопления.ВнутренниеЗаказы.Остатки(, ВнутреннийЗаказ = &Заказ) КАК ВнутренниеЗаказыОстатки
4 Maxus43
 
18.04.12
16:54
(3) ну условия там же остальные прописывай
5 Путник_М
 
18.04.12
16:55
Указал период, задал для него текущюю дату, говорит не заданно значение параметра Период
6 Путник_М
 
18.04.12
16:55
(4) прописывал, нифига, пустая таблица и все
7 Путник_М
 
18.04.12
16:56
(5) Причем, если через сообщить вывести значение параметра Период, сообщает - а запрос не видет
8 Путник_М
 
18.04.12
16:57
Может это связано с тем что обработка хранится в хранилище?
9 adron
 
18.04.12
16:58
Так у тебя же не только условия но и исходные таблицы разные.
10 hhhh
 
18.04.12
16:58
(7) значит левые значения параметров задаете.
11 aleks-id
 
18.04.12
16:58
ТиИ делал?
12 Путник_М
 
18.04.12
16:58
(4) Только один параметр понимает, я в шоке
13 Путник_М
 
18.04.12
16:59
(10) правые консоль запросов же выдает результат
14 Maxus43
 
18.04.12
16:59
(9) :) а никто и не заметил
15 Шапокляк
 
18.04.12
16:59
(8) Скорее, с индивидуальными особенностями автора обработки. В(1), наверно, нет такого сочетания заказа, номенклатуры и характеристики. (5) Код покажите.
16 Путник_М
 
18.04.12
17:00
(9) И так и так пробовал
17 pumbaEO
 
18.04.12
17:00
код покажите
18 Путник_М
 
18.04.12
17:01
ТекстЗапроса    = "ВЫБРАТЬ
           |    ВнутренниеЗаказыОстатки.КоличествоОстаток КАК Остаток
           |ИЗ
           |    РегистрНакопления.ВнутренниеЗаказы.Остатки КАК ВнутренниеЗаказыОстатки
           |ГДЕ
           
           |    ВнутренниеЗаказыОстатки.ВнутреннийЗаказ = &Заказ
           |    И ВнутренниеЗаказыОстатки.Номенклатура = &Номенклатура
           |    И ВнутренниеЗаказыОстатки.ХарактеристикаНоменклатуры = &Характеристика";
       КОнецЕсли;
   //КонецЕсли;
   Запрос    = Новый Запрос(ТекстЗапроса);
   Запрос.УстановитьПараметр("Заказ",            Заказ);
   Запрос.УстановитьПараметр("Номенклатура",    Номенклатура);
   Запрос.УстановитьПараметр("Характеристика", Характеристика);
   
   Результат    = Запрос.Выполнить().Выгрузить();
   Актуален    = Ложь;
   Для Каждого Стр из Результат Цикл
       Если Стр.Остаток > 0 Тогда
           Актуален = Истина;
       КонецЕсли;
   КонецЦикла;
   Возврат Актуален;
19 Путник_М
 
18.04.12
17:02
(15) Консоль с теме же параметрами выдает результат
20 Путник_М
 
18.04.12
17:02
Че за фигня не пойму
21 Путник_М
 
18.04.12
17:04
еще это не понятно 5, 7
22 Путник_М
 
18.04.12
17:05
Может я перегрелся, да солнце еще пака не сильное
23 hhhh
 
18.04.12
17:11
так чего где написано? Где-то ЗаказыПокупателей, где-то внутренниеЗаказы.
24 pumbaEO
 
18.04.12
17:14
Сделай обработке : СохранитьКак, что бы uuid поменялся.
25 Шапокляк
 
18.04.12
17:15
ТекстЗапроса    = "ВЫБРАТЬ
           |    ВнутренниеЗаказыОстатки.КоличествоОстаток КАК Остаток
           |ИЗ
           |    РегистрНакопления.ВнутренниеЗаказы.Остатки КАК ВнутренниеЗаказыОстатки
           |ГДЕ
           
           |    ВнутренниеЗаказыОстатки.ВнутреннийЗаказ = &Заказ
           |    И ВнутренниеЗаказыОстатки.Номенклатура = &Номенклатура
           |    И ВнутренниеЗаказыОстатки.ХарактеристикаНоменклатуры = &Характеристика";
       ????????КОнецЕсли;
Остаются вопросы к параметрам Заказ, Номенклатура и ХарактеристикаНоменклатуры - точно ли они правильного типа?
А отладчиком выгруженный результат смотрели?
26 Путник_М
 
19.04.12
08:46
(24) Мысль хорошая, только как это сделать, обработка подгружается из Каталога Временных Файлов
27 Путник_М
 
19.04.12
08:48
(23) это я не тот запрос 1 сюда выложил! с запросом точно все в порядке, параметры тоже правильные! Отладчиком правда не пройдешься т.к она подгружается из Каталога Временных Файлов, через сообщалку все норм
28 Путник_М
 
19.04.12
08:50
(25) Еще одня особенность если оставить в запросе 1 параметр заказ - все работает, как только добавляю номенклатуру не работает!
29 perec1982
 
19.04.12
08:54
ВЫБРАТЬ
   ЗаказыПокупателейОстатки.КоличествоОстаток КАК Остаток
ИЗ
   РегистрНакопления.ЗаказыПокупателей.Остатки(, ЗаказПокупателя = &Заказ и Номенклатура = &Номенклатура и ХарактеристикаНоменклатуры = &Характеристика) КАК ЗаказыПокупателейОстатки
Вот так напиши и обнови платформу.
30 Путник_М
 
19.04.12
08:56
(29) Я так тоже пробовал, разницы никакой! Может правда платформа
31 perec1982
 
19.04.12
08:56
какая?
32 perec1982
 
19.04.12
08:56
релиз?
33 Путник_М
 
19.04.12
08:57
(29) Только параметр &Заказ воспринимает, дальше пусто
34 Путник_М
 
19.04.12
08:57
1С:Предприятие 8.1 (8.1.15.14)
35 Путник_М
 
19.04.12
08:57
Помойму свеженькая
36 perec1982
 
19.04.12
08:59
пересчитай итоги
37 godmod80
 
19.04.12
09:14
а значение переменных для параметров как задаешь
38 Путник_М
 
19.04.12
09:20
(37) Это функция, параметрами
39 Путник_М
 
19.04.12
09:21
(37) Параметры нормальные, я их и на типы проверял и на значение все норм!
40 Путник_М
 
19.04.12
09:23
Усовершенил вот так
           ТекстЗапроса    = "ВЫБРАТЬ
                             |    ВнутренниеЗаказыОстатки.КоличествоОстаток КАК Остаток
                             |ИЗ
                             |    РегистрНакопления.ВнутренниеЗаказы.Остатки(
                             |            &ДатаОстатков,
                             |            ВнутреннийЗаказ = &Заказ
                             |                И Номенклатура = &Номенклатура
                             |                И ХарактеристикаНоменклатуры = &Характеристика) КАК ВнутренниеЗаказыОстатки";
           ЗапросВнутренников    = Новый Запрос;
           ЗапросВнутренников.Текст = ТекстЗапроса;

           ЗапросВнутренников.УстановитьПараметр("ДатаОстатков",   ТекущаяДата());
41 hhhh
 
19.04.12
09:23
всё-таки не ленись пройдись отладчиком
42 pessok
 
19.04.12
09:24
а типы значений у параметров точно те, что нужно?
43 Путник_М
 
19.04.12
09:24
Говорит не задан параметр &ДатаОстатков, здесь уже сами понимаете бред какойто
44 Путник_М
 
19.04.12
09:24
(42) - 39
45 Путник_М
 
19.04.12
09:24
Все много раз проверял
46 Путник_М
 
19.04.12
09:25
Может это связано с тем что обработка берется из Каталога Временных Файлов? ...
47 Путник_М
 
19.04.12
09:26
Консоль запросов: тот же текст, те же параметры - отрабатывает нормально!
48 Путник_М
 
19.04.12
09:26
Хитрого то ничего нет
49 pessok
 
19.04.12
09:28
(48) а база точно одна и та же? :)
50 hhhh
 
19.04.12
09:34
(48) ну просто поставьте точку останова на ЗапросВнутренников.Выполнить().Выгрузить() и выложите нам Запрос.Параметры и типы этих параметров.
51 Apokalipsec
 
19.04.12
09:38
А может просто по этому заказу нет данной номенклатуры?
52 hhhh
 
19.04.12
09:39
(48) скорее всего вы напутали с переменными. ЗапросВнутренников, ЗапросВнешников, просто Запрос. На какой из них вы делаете Выполнить() ?
53 Путник_М
 
19.04.12
09:45
(49, 50, 51, 52) Я тоже своим глазам не верю )
54 Путник_М
 
19.04.12
09:46
Но чето у же становится плавно совсем не до шуток
55 Путник_М
 
19.04.12
09:47
Отладчиком не пройдешься, обработка берется и кат вр файлов
56 hhhh
 
19.04.12
09:47
(54) просто пить надо меньше.
57 Путник_М
 
19.04.12
09:47
(56) так вот в том то и прикол что не пью
58 Путник_М
 
19.04.12
09:48
Ладн, всем спасибо гдето баг зарыт буду копать
59 godmod80
 
19.04.12
09:49
задай типы переменных при объявлении;  ещу попробуй замутить на СКД
60 Путник_М
 
19.04.12
09:52
(59) блин долго, задача ошибку исправить а не переделывать
61 zladenuw
 
19.04.12
09:57
(26) а ты уверен что обработка обновилась в каталоге временных файлов ?
62 Путник_М
 
19.04.12
09:58
(61) 100 раз)
63 Viktosha
 
19.04.12
09:59
Попробуйте попеременно делать отбор только по номенклатуре и заказу, только по номенклатуре. Точно ли номенклатура и характеристика связаны? А то бывает такое, что при одинаковом наименовании характеристик у разных номенклатур при копировании строк в документах - характеристика не обновляется.
64 pumbaEO
 
19.04.12
10:00
А теперь еще вопрос на засыпку, в примере кода описание запроса находится в условии (в конце вроде есть КонецЕсли) возможно у тебя параметры устанавливаются для запроса в Если, а не в иначе ?
65 DimVad
 
19.04.12
10:05
(62) А чистился ли кэш ?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой