Имя: Пароль:
1C
1С v8
Результаты запроса
0 PuhUfa
 
30.05.12
12:16
Есть запрос:
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура КАК Номенклатура,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкВидПродукции КАК ВидПродукции,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкВидПродукции.ЛокальныйКод КАК кодВидПродукции,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА &пустойКонтрагент
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель
       |КОНЕЦ КАК Производитель,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.ИНН
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.ИНН
       |КОНЕЦ КАК ПроизводительИНН,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.КПП
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.КПП
       |КОНЕЦ КАК ПроизводительКПП,
...
   Результат = Запрос.Выполнить();

Все выбирает за исключением одного НО. В результатах запроса просто отсутствует: ПроизводительИНН
http://s019.radikal.ru/i600/1205/36/7aedf6ef92fb.jpg
Где я накосяил?
1 le_
 
30.05.12
12:18
Приведенный запрос вообще не соответствует тому, что показано на картинке.
2 salvator
 
30.05.12
12:20
(0) Что значит отсутствует: колонки нет или значения не заполняются?
3 PuhUfa
 
30.05.12
12:20
(1) Ну вот тебе полный текст запроса:

   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура КАК Номенклатура,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкВидПродукции КАК ВидПродукции,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкВидПродукции.ЛокальныйКод КАК кодВидПродукции,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА &пустойКонтрагент
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель
       |КОНЕЦ КАК Производитель,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.ИНН
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.ИНН
       |КОНЕЦ КАК ПроизводительИНН,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.КПП
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.КПП
       |КОНЕЦ КАК ПроизводительКПП,
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ИСТИНА
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ЛОЖЬ
       |    ИНАЧЕ ИСТИНА
       |КОНЕЦ КАК этоПроизводитель,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.Серия КАК ЛицензияСерия,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.Номер КАК ЛицензияНомер,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ДатаВыдачи КАК ЛицензияДатаВыдачи,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ДатаОкончанияСрокаДействия КАК ДатаОкончания,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ОрганВыдачи КАК ЛицензияОрганВыдачи,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Номер КАК НомерДокумента,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Дата КАК ДатаДокумента,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор КАК Регистратор,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Контрагент КАК Контрагент,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Грузополучатель КАК Грузополучатель,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Грузополучатель.ИНН КАК ИНН,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Грузополучатель.КПП КАК КПП,
       |    СУММА(алкТоварыОрганизацийБухгалтерскийУчет.Количество * алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкЕмкость / 10) КАК ОбъемПродукции
       |ИЗ
       |    РегистрНакопления.алкТоварыОрганизацийБухгалтерскийУчет КАК алкТоварыОрганизацийБухгалтерскийУчет
       |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ИнформацияОКонтрагентах
       |        ПО (ИнформацияОКонтрагентах.Тип = &ТипКонтактнойИнформацииАдрес)
       |            И (ИнформацияОКонтрагентах.Вид = &ВидКонтактнойИнформацииЮридическийАдрес)
       |            И алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Контрагент = ИнформацияОКонтрагентах.Объект
       |ГДЕ
       |    алкТоварыОрганизацийБухгалтерскийУчет.Период МЕЖДУ &дДатаНач И &дДатаКон
       |    И алкТоварыОрганизацийБухгалтерскийУчет.Активность = ИСТИНА
       |    И алкТоварыОрганизацийБухгалтерскийУчет.Количество > 0
       |   И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкВидПродукции <> Значение(Справочник.алкВидыАлкогольнойПродукции.ПустаяСсылка)
       |   И алкТоварыОрганизацийБухгалтерскийУчет.ВидДвижения = &ВидДвижения
       |   И
       |    ВЫБОР
       |       КОГДА &ЗаданПараметр
       |           ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Регистратор.Контрагент = &выбКонтрагент  
       |       ИНАЧЕ ИСТИНА
       |    КОНЕЦ
       |
       |СГРУППИРОВАТЬ ПО
       |    алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура,
       |    алкТоварыОрганизацийБухгалтерскийУчет.Регистратор,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.Серия,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.Номер,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ДатаВыдачи,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ДатаОкончанияСрокаДействия,
       |    алкТоварыОрганизацийБухгалтерскийУчет.ЛицензияКонтрагента.ОрганВыдачи
       |УПОРЯДОЧИТЬ ПО
       |   ВидПродукции,
       |   Производитель
       |АВТОУПОРЯДОЧИВАНИЕ
       |
       |ИТОГИ
       |   СУММА(ОбъемПродукции)
       |ПО
       |   ОБЩИЕ,
       |   ВидПродукции,
       |   Производитель
       |";
4 PuhUfa
 
30.05.12
12:21
(2) нет колонки
5 le_
 
30.05.12
12:35
А приведенный запрос точно соответствует тому, что находится в Запрос.Текст там, где у тебя точка останова?
6 AllJoke
 
30.05.12
12:39
|ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.ИНН
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.ИНН
       |КОНЕЦ КАК ПроизводительИНН,


может это условие не выполняется вообще и колонка не создаётся
7 PuhUfa
 
30.05.12
12:43
(5) да
Сейчас еще заметил. Если поменять местами строки выборки для ИНН и КПП и сделать такой порядок:
       |ВЫБОР
...
       |КОНЕЦ КАК Производитель,
       |ВЫБОР
...
       |КОНЕЦ КАК ПроизводительКПП,
       |ВЫБОР
...
       |КОНЕЦ КАК ПроизводительИНН,

То тогда в результате пропадает колонка ПроизводительКПП а для ИНН появляется. Получается, что пропадает именно та которая прописана после выборки Производитель
8 Ненавижу 1С
 
гуру
30.05.12
12:44
(6) бред
9 PuhUfa
 
30.05.12
12:49
Проблема решена. После замены в:
       |ВЫБОР
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель <> &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА ""
       |    КОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель = &пустойКонтрагент
       |        И алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель <> &пустойКонтрагент
       |        ТОГДА алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПервыйПокупатель.ИНН
       |    ИНАЧЕ алкТоварыОрганизацийБухгалтерскийУчет.Номенклатура.алкПроизводитель.ИНН
       |КОНЕЦ КАК ПроизводительИНН,

ТОГДА "" на ТОГДА NULL

все колонки вернулись на свои места.
Всем спасибо.
10 Ненавижу 1С
 
гуру
30.05.12
12:51
вообще то надо

ТОГДА """"

странно что вообще работало
11 PuhUfa
 
30.05.12
12:54
(10) Спс
ps Ни разу не руганулась -)
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.