|
Ошибка запроса и нет и есть | ☑ | ||
---|---|---|---|---|
0
x_files_1
24.05.16
✎
19:53
|
Приветствую.
Произошел какой-то парадокс. Делаю запрос для внешней печатной формы акта. В консоли запрос отрабатывает без предупреждений и ошибок. Запихиваю во внешнюю обработку запрос. Прописываю вывод в макет а он выводит пустоту. При чем вывожу в макет столбец "Заказ" все выводит. А данные по остальным столбцам которые сделаны из характеристик - там пустота. Как будто их не существует. Есть мысли? Спасибо! Вот запрос: ВЫБРАТЬ ТБЛЦ2.ЗаказПокупателя.Ссылка КАК Заказ, ХарактеристикиНоменклатуры1.ДополнительныеРеквизиты.Значение КАК НаименованиеТрека, ХарактеристикиНоменклатуры2.ДополнительныеРеквизиты.Значение КАК КодBMRU, ХарактеристикиНоменклатуры3.ДополнительныеРеквизиты.Значение КАК Автор, ХарактеристикиНоменклатуры4.ДополнительныеРеквизиты.Значение КАК Исполнитель ИЗ Документ.АктВыполненныхРабот.РаботыИУслуги КАК ТБЛЦ2, Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры1, Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры2, Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры3, Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры4 ГДЕ ТБЛЦ2.Ссылка В(&ТекущийДокумент) И ТБЛЦ2.Номенклатура.Наименование ПОДОБНО "[RVML_]%" И ХарактеристикиНоменклатуры1.Ссылка = ТБЛЦ2.Характеристика.Ссылка И ХарактеристикиНоменклатуры2.Ссылка = ТБЛЦ2.Характеристика.Ссылка И ХарактеристикиНоменклатуры3.Ссылка = ТБЛЦ2.Характеристика.Ссылка И ХарактеристикиНоменклатуры4.Ссылка = ТБЛЦ2.Характеристика.Ссылка И ХарактеристикиНоменклатуры1.ДополнительныеРеквизиты.Свойство.Заголовок = "Наименование трека" И ХарактеристикиНоменклатуры2.ДополнительныеРеквизиты.Свойство.Заголовок = "Код BMRU" И ХарактеристикиНоменклатуры3.ДополнительныеРеквизиты.Свойство.Заголовок = "Автор" И ХарактеристикиНоменклатуры4.ДополнительныеРеквизиты.Свойство.Заголовок = "Исполнитель" |
|||
1
x_files_1
24.05.16
✎
20:06
|
Так вывожу в макет:
ВыборкаСтрокАудиоТреки = Запрос.Выполнить().Выбрать(); ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицыАудио"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("АудиоСтрока"); АудиоНомерТекущейСтроки = 0; Пока ВыборкаСтрокАудиоТреки.Следующий() Цикл //ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокАудиоТреки); АудиоНомерТекущейСтроки = АудиоНомерТекущейСтроки + 1; ОбластьМакета.Параметры.НомерСтроки = АудиоНомерТекущейСтроки; ОбластьМакета.Параметры.Заказ = ВыборкаСтрокАудиоТреки.Заказ; ОбластьМакета.Параметры.НаименованиеТрека = ВыборкаСтрокАудиоТреки.НаименованиеТрека; ОбластьМакета.Параметры.КодBMRU = ВыборкаСтрокАудиоТреки.КодBMRU; ОбластьМакета.Параметры.Автор = ВыборкаСтрокАудиоТреки.Автор; ОбластьМакета.Параметры.Исполнитель = ВыборкаСтрокАудиоТреки.Исполнитель; ТабличныйДокумент.Вывести(ОбластьМакета); КонецЦикла; |
|||
2
ViSo76
24.05.16
✎
20:29
|
Запрос напиши правильно, не через сплошные точки
|
|||
3
Fedor-1971
24.05.16
✎
20:32
|
(0) Соединение забыл? как запросу соотнести Заказ и некие характеристики.
|
|||
4
x_files_1
24.05.16
✎
20:54
|
(2) немного не понял!
(3) а это не то? И ХарактеристикиНоменклатуры1.Ссылка = ТБЛЦ2.Характеристика.Ссылка |
|||
5
Fram
24.05.16
✎
21:18
|
(0) А какие значения встречаются здесь ТБЛЦ2.Характеристика ?
Это чтобы понять смысл запроса и метод ведения учета. Можешь показать скриншоты первичных данных и показать что хочешь получить в конце, |
|||
6
youalex
24.05.16
✎
21:34
|
Поменяй все условия из ГДЕ (так получается внутреннее соединение) на ЛЕВОЕ СОЕДИНЕНИЕ, например:
ВЫБРАТЬ ТБЛЦ2.Заказ, isnull(ХАРК1.Значение) ИЗ Документ.АктВыполненныхРабот.РаботыИУслуги КАК ТБЛЦ2 ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты Как ХАРК1 ПО ТБЛЦ2.Характеристика = ХАРК1.Ссылка И ХАРК1.Свойство.Заголовок = "Наименование трека" |
|||
7
Fram
24.05.16
✎
21:38
|
(6) тогда как обхяснить что в консоли из того же запроса он получает нужный ему результат?
|
|||
8
youalex
24.05.16
✎
21:43
|
(7) никак. Но так хотя бы по запросу будет понятнее что именно нужно получить, какое именно свойство "не попадает", и отвращения этот запрос перестанет вызывать меньше)
|
|||
9
x_files_1
24.05.16
✎
21:50
|
(6) Сейчас опробуем. Спасибо!
|
|||
10
hhhh
24.05.16
✎
22:08
|
может Наименование всё-таки. Почему Заголовок?
|
|||
11
x_files_1
24.05.16
✎
22:34
|
(6) Свершилось. Спасибо Вам за наводку. Как сказала бы бабушка моя "Дай бог тебе здоровья милок" ))))))
Сейчас еще допилю и покажу запрос. |
|||
12
x_files_1
25.05.16
✎
00:01
|
Подводим итог. Сделал через левое соединение и все заработало. Но решив воспользоваться конструктором получил следующий запрос без левого соединения но который отрабатывает на все 100%.
Спасибо всем кто помог!!! Вот код: "ВЫБРАТЬ | ТБ.ЗаказПокупателя.Представление КАК ЗаказПокупателяПредставление, | ХарактеристикиНоменклатурыДополнительныеРеквизиты1.Значение КАК НаименованиеТрека, | ХарактеристикиНоменклатурыДополнительныеРеквизиты2.Значение КАК КодBMRU, | ХарактеристикиНоменклатурыДополнительныеРеквизиты3.Значение КАК Автор, | ХарактеристикиНоменклатурыДополнительныеРеквизиты4.Значение КАК Исполнитель |ИЗ | Документ.АктВыполненныхРабот.РаботыИУслуги КАК ТБ, | Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты1, | Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты2, | Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты3, | Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты4 |ГДЕ | ТБ.Ссылка.Ссылка В (&ТекущийДокумент) | И ТБ.Номенклатура.Наименование ПОДОБНО ""[RVML_]%"" | И ХарактеристикиНоменклатурыДополнительныеРеквизиты1.Ссылка = ТБ.Характеристика.Ссылка | И ХарактеристикиНоменклатурыДополнительныеРеквизиты2.Ссылка = ТБ.Характеристика.Ссылка | И ХарактеристикиНоменклатурыДополнительныеРеквизиты3.Ссылка = ТБ.Характеристика.Ссылка | И ХарактеристикиНоменклатурыДополнительныеРеквизиты4.Ссылка = ТБ.Характеристика.Ссылка | И ХарактеристикиНоменклатурыДополнительныеРеквизиты1.Свойство.Заголовок = ""Наименование трека"" | И ХарактеристикиНоменклатурыДополнительныеРеквизиты2.Свойство.Заголовок = ""Код BMRU"" | И ХарактеристикиНоменклатурыДополнительныеРеквизиты3.Свойство.Заголовок = ""Автор"" | И ХарактеристикиНоменклатурыДополнительныеРеквизиты4.Свойство.Заголовок = ""Исполнитель""" |
|||
13
Fram
25.05.16
✎
00:02
|
(11) ты уверен на 100% что запрос из (0) в консоли выдавал нужный тебе результат? ну ка еще раз попробуй )
|
|||
14
Fram
25.05.16
✎
00:03
|
(12) а чем это отличается от (0) ?
|
|||
15
x_files_1
25.05.16
✎
00:12
|
(14) Так как я в основном писал sql/php/js/C# и так как не спец в 1с (Судьба так сказать заставила себе для ИП ваять конфу) то простите если буду неправильно называть вещи.
В общем проблема была вот в чем: Ранее был запрос вида таблица1 --- поле1 --- поле2 --- таблица2 ------- поле3 --- поле4 и я пытался вывести в макет данные по принципу таблица1->поле1 таблица1->поле2 таблица1->поле3 (тут было пусто) таблица1->поле4 а надо было таблица1->поле1 таблица1->поле2 таблица1->таблица2->поле3 (так выводится) таблица1->поле4 В финальном запросе я избавился от вложенной таблицы и сразу получаю данные вида таблица1 --- поле1 --- поле2 --- поле3 --- поле4 Именно по этому запрос в консоли отрабатывал но при выводе в макет было пусто. p.s. с левым соединением я получил данные вида таблица1 --- таблица1 ------- поле1 --- таблица2 ------- поле1 --- таблица3 ------- поле1 --- таблица4 ------- поле1 |
|||
16
hhhh
25.05.16
✎
00:18
|
(12) этот запрос на большой базе будет дико тормозить. Больше никогда никому его не показывай.
|
|||
17
x_files_1
25.05.16
✎
00:19
|
(16) уж таким мы выдал его конструктор запросов. С удовольствием выслушаю пути оптимизации!
|
|||
18
hhhh
25.05.16
✎
00:24
|
(17) его нельзя оптимизировать. За такие запросы сразу отрубают руки по локоть.
|
|||
19
x_files_1
25.05.16
✎
00:33
|
(18) обожаю людей которые любят просто пообщаться:) А сейчас по делу)
Как на счет такого запроса с левым соединением и более компактными названиями: "ВЫБРАТЬ | ТБ.ЗаказПокупателя.Ссылка КАК Заказ, | ХРК1.Значение КАК НаименованиеТрека, | ХРК2.Значение КАК КодBMRU, | ХРК3.Значение КАК Автор, | ХРК4.Значение КАК Исполнитель |ИЗ | Документ.АктВыполненныхРабот.РаботыИУслуги КАК ТБ | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК1 | ПО (ТБ.Характеристика = ХРК1.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК2 | ПО (ТБ.Характеристика = ХРК2.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК3 | ПО (ТБ.Характеристика = ХРК3.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК4 | ПО (ТБ.Характеристика = ХРК4.Ссылка) |ГДЕ | ТБ.Ссылка В(&ТекущийДокумент) | И ТБ.Номенклатура.Наименование ПОДОБНО ""[RVML_]%"" | И ХРК1.Ссылка = ТБ.Характеристика.Ссылка | И ХРК2.Ссылка = ТБ.Характеристика.Ссылка | И ХРК3.Ссылка = ТБ.Характеристика.Ссылка | И ХРК4.Ссылка = ТБ.Характеристика.Ссылка | И ХРК1.Свойство.Заголовок = ""Наименование трека"" | И ХРК2.Свойство.Заголовок = ""Код BMRU"" | И ХРК3.Свойство.Заголовок = ""Автор"" | И ХРК4.Свойство.Заголовок = ""Исполнитель""" |
|||
20
alle68
25.05.16
✎
01:22
|
(19) Лучше, но плохо. Следует перечитать (6), понять и запомнить.
|
|||
21
x_files_1
25.05.16
✎
01:37
|
(20) Я так ппанимаю должно быть так?
"ВЫБРАТЬ | ТБ.ЗаказПокупателя.Ссылка КАК Заказ, | ХРК1.Значение КАК НаименованиеТрека, | ХРК2.Значение КАК КодBMRU, | ХРК3.Значение КАК Автор, | ХРК4.Значение КАК Исполнитель |ИЗ | Документ.АктВыполненныхРабот.РаботыИУслуги КАК ТБ | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК1 | ПО (ТБ.Характеристика = ХРК1.Ссылка И ХРК1.Свойство.Заголовок = ""Наименование трека"") | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК2 | ПО (ТБ.Характеристика = ХРК2.Ссылка И ХРК2.Свойство.Заголовок = ""Код BMRU"") | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК3 | ПО (ТБ.Характеристика = ХРК3.Ссылка И ХРК3.Свойство.Заголовок = ""Автор"") | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХРК4 | ПО (ТБ.Характеристика = ХРК4.Ссылка И ХРК4.Свойство.Заголовок = ""Исполнитель"") |ГДЕ | ТБ.Ссылка В(&ТекущийДокумент) | И ТБ.Номенклатура.Наименование ПОДОБНО ""[RVML_]%"" | | | | " |
|||
22
alle68
25.05.16
✎
03:03
|
(21) Да, теперь руки не отрубят!
Со ссылкой от ссылки надо быть поаккуратней: "ТБ.ЗаказПокупателя.Ссылка" - здесь лишняя связь. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |