|
v8: Есть проблема при получении данных запроса (на самом деле - про убогий intellisence 1с8) | ☑ | ||
---|---|---|---|---|
0
memogolik
19.01.12
✎
10:03
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика. Макет = ПолучитьМакет("Макет"); ТабДок=ЭлементыФормы.ТабДок; ОблШапка = Макет.ПолучитьОбласть("Шапка"); ОблСтрока = Макет.ПолучитьОбласть("Строка"); ТабДок.Вывести(ОблШапка); Запрос = Новый Запрос(); Запрос.Текст = " |ВЫБРАТЬ | Номенклатура, Ссылка, Регистратор, Коэффициент, Цена, Цена1 |ИЗ |(ВЫБРАТЬ | * |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Док |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК Цены |ПО | Док.Номенклатура = Цены.Номенклатура и Док.Цена<>Цены.Цена |) КАК ВложЗапрос |УПОРЯДОЧИТЬ ПО | Номенклатура, Ссылка.Дата, Регистратор.Дата |"; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОблСтрока.Параметры.Номенклатура = Выборка.Номенклатура; ОблСтрока.Параметры.Ссылка = Выборка.Ссылка; ОблСтрока.Параметры.Регистратор = Выборка.Регистратор; ОблСтрока.Параметры.Цена = Выборка.Цена; ОблСтрока.Параметры.Цена1 = Выборка.Цена1; ОблСтрока.Параметры.Коэффициент = Выборка.Коэффициент; ТабДок.Вывести(ОблСтрока); КонецЦикла; КонецПроцедуры Но почему то в выборке после точки данные на передаются. Т.е. когда я печатаю Выборка. то там нет ни "Номенклатуры ни регистратора ни цены". Есть "Группировка(), Следующий(), Количество()". Заранее спасибо за ответ. |
|||
1
Fragster
гуру
19.01.12
✎
10:06
|
телепат в снеговике - УГ. можешь попробовать погуглить "снегопат"
|
|||
2
Wobland
19.01.12
✎
10:07
|
получение данных запроса тут при чём?
|
|||
3
Maxus43
19.01.12
✎
10:09
|
нормально это. в будущем может добавят это, телепат в 8-ке тоже развивается. Щас например Тип("ДокументСсылка...") - уже помогает набирает, в 8.1 писали руками всё.
|
|||
4
memogolik
19.01.12
✎
10:09
|
{Форма.Форма.Форма(29)}: Поле объекта не обнаружено (Номенклатура)
ОблСтрока.Параметры.Номенклатура = Выборка.Номенклатура; Прошу прощение - вот код ошибки ) |
|||
5
xarann
19.01.12
✎
10:09
|
Все нормально. Это "by design" :)
|
|||
6
Wobland
19.01.12
✎
10:10
|
(4) неужели поля нет?
|
|||
7
Maxus43
19.01.12
✎
10:10
|
(4) отладчиком пользуйся, после Выборка.Следующий() покажет что у тебя в выборке
|
|||
8
Wobland
19.01.12
✎
10:11
|
(7) да у него в ВЫБРАТЬ только цена
|
|||
9
Wobland
19.01.12
✎
10:11
|
(8) пардоньте, не разглядел. тогда поля нет у области
|
|||
10
Wobland
19.01.12
✎
10:11
|
пля, что за запрос?
|
|||
11
xarann
19.01.12
✎
10:11
|
ОблСтрока.Параметры.Номенклатура - Может эта номенклатура не найдена?
|
|||
12
Wobland
19.01.12
✎
10:12
|
автор, конструктор возьми в руки
|
|||
13
1с-кин
19.01.12
✎
10:12
|
(3) что, серьезно??
как посмотреть сие чудо? |
|||
14
memogolik
19.01.12
✎
10:12
|
в консоле запросов он отрабатывает нормально
|
|||
15
Wobland
19.01.12
✎
10:13
|
(14) а в консоли?
|
|||
16
1с-кин
19.01.12
✎
10:14
|
(15) да у него мешаются реквизиты Формы и переменные запроса...
|
|||
17
xarann
19.01.12
✎
10:14
|
(14) Перепиши без вложенных запросов, через временные таблицы, не выбирай в запросах * это раздувает выборку. Что такое ОблСтрока.Параметры?
|
|||
18
Maxus43
19.01.12
✎
10:14
|
(13) в 8.2.14 точно есть, набирай ТИП(" - далее включит телепата 1с
|
|||
19
Fragster
гуру
19.01.12
✎
10:14
|
(14) см. (11)
|
|||
20
1с-кин
19.01.12
✎
10:15
|
Называть "номенклатурой" Номенклатуру можно в 1с только объекты, а не переменные....
|
|||
21
1с-кин
19.01.12
✎
10:15
|
(18) че т я прям загорелся...
а еще что есть такого? недокументированного? :)) |
|||
22
xarann
19.01.12
✎
10:16
|
В макете у секции строки есть параметр Номенклатура?
|
|||
23
Maxus43
19.01.12
✎
10:19
|
(21) да хз даже, всё не проверить) суть в том что наращиваются потихоньку возможности встроенного телепата
|
|||
24
memogolik
19.01.12
✎
10:19
|
(22)название переменных в макете полностью совпадает с названием переменных в запросе
Номенлатура Ссылка Регистратор Цена Цена1 Коэффициент |
|||
25
1с-кин
19.01.12
✎
10:20
|
(18) ух ты, эт надо ж, полторы тысячи релизов ждали и - как они только сумели такое?
это ж ведь в текстовой строке :)) |
|||
26
memogolik
19.01.12
✎
10:20
|
(17) Передаю параметр в секцию макета
|
|||
27
Maxus43
19.01.12
✎
10:21
|
(24) отладчик то запустиш в конце концов?
|
|||
28
1с-кин
19.01.12
✎
10:21
|
(24) отладчик - и разберитесь сначала, какой Номенклатуры нет.
Ругается на Номенклатура на Форме - значит, подцепляется к реквизитам формы. |
|||
29
hhhh
19.01.12
✎
10:24
|
(26) ну вот же
Пока Выборка.Следующий() Цикл ОблСтрока.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОблСтрока); КонецЦикла; зачем вы размахади на 10 строчек? |
|||
30
memogolik
19.01.12
✎
10:27
|
(29) я так и делал, после ошибки стал параноить..
(27) в отладчике на строке ОблСтрока.Параметры.Номенклатура = Выборка.Номенклатура; самое интересное он значение Выборка.Номенклатура правильно высчитывает. Наверно реально дело в именах переменных? ) |
|||
31
1с-кин
19.01.12
✎
10:29
|
(30) нет, случайное совпадение Номенклатура у вас и Номенклатура (какой-то реквизит) ничтожны :)))
Выборка у вас правильна, ругается на что-то на форме - измените название переменных, наконец. |
|||
32
1с-кин
19.01.12
✎
10:30
|
+ вероятно, параметр макета и реквизит формы - оба Номенклатура?
|
|||
33
Maxus43
19.01.12
✎
10:30
|
ОблСтрока.Параметры.Номенклатура - вот это в отладчике что? видимо ничто
|
|||
34
Feanor
19.01.12
✎
10:31
|
(30) или у "ОблСтрока.Параметры", или у "Выборка" нет свойства "Номенклатура", скорее у области макета. Смотри макет внимательно.
(31) бред (32) бред |
|||
35
Feanor
19.01.12
✎
10:32
|
+(34) проверь правильность написания параметра "Номенклатура" в макете, мб буквой ошибся
|
|||
36
memogolik
19.01.12
✎
10:32
|
Заменил цикл на
Пока Выборка.Следующий() Цикл ОблСтрока.Параметры.Заполнить(Выборка); ТабДок.Вывести(ОблСтрока); КонецЦикла; Стал выдавать что то... Но нет номенлктуры и регистратора... Номенлатура Поступление УстановкаЦен Цена из документы Цена из справочника Коэффициент Поступление товаров и услуг БОЛ00000001 от 05.01.2012 12:19:25 330,55 12 |
|||
37
memogolik
19.01.12
✎
10:34
|
(35) +100500 к телепатизму!!! )
|
|||
38
memogolik
19.01.12
✎
10:35
|
а вот для Регистратора почему то не прокатило...
написание проверил... это колонку в макете не печатается почему то( |
|||
39
memogolik
19.01.12
✎
10:37
|
также как и для параметр "Цена1"...
|
|||
40
Feanor
19.01.12
✎
10:37
|
(38) в запросе явно укажи поля вместо "*"
|
|||
41
memogolik
19.01.12
✎
10:42
|
Всем спасибо... просто в самом запросе эти колонки пустые были (база тестовая была).
|
|||
42
xarann
19.01.12
✎
10:45
|
"Ну и дай то Бог!" :)
|
|||
43
xarann
19.01.12
✎
10:46
|
А запрос все-таки перепиши нормально ;)
|
|||
44
memogolik
19.01.12
✎
11:20
|
А вот можно еще вопросик по запросу ....
Запрос.Текст = " |ВЫБРАТЬ | Номенклатура, Ссылка, Регистратор, Коэффициент, Цена, Цена1 |ИЗ |(ВЫБРАТЬ | * |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Док |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК Цены |ПО | Док.Номенклатура = Цены.Номенклатура и Док.Цена<>Цены.Цена |) КАК ВложЗапрос |УПОРЯДОЧИТЬ ПО | Номенклатура, Ссылка.Дата, Регистратор.Дата |"; Я не сильно опытен в сиквеле, как в данный вопрос поставить условие на документы ПоступлениеТоваров по фильтру склад Пытался поставить так: |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Док |ГДЕ | Док.Склад=&ВыбСклад |ЛЕВОЕ СОЕДИНЕНИЕ Где выбсклад переменная типа справочник.склады, но похоже синтаксически это не правильно ( |
|||
45
Feanor
19.01.12
✎
11:38
|
(44) Док.Ссылка.Склад
|
|||
46
xarann
19.01.12
✎
11:41
|
Может просто вот так:
ВЫБРАТЬ Док.Номенклатура, Док.Ссылка, Цены.Регистратор, НеЗнаюИзКакойТаблицыПоле.Коэффициент, НеЗнаюИзКакойТаблицыПоле.Цена, НеЗнаюИзКакойТаблицыПоле.Цена1 ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК Док ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыКонтрагентов КАК Цены ПО Док.Номенклатура = Цены.Номенклатура и Док.Цена<>Цены.Цена ГДЕ Док.Склад = &ВыбСклад УПОРЯДОЧИТЬ ПО Док.Номенклатура, Док.Ссылка.Дата, Цены.Регистратор.Дата |
|||
47
xarann
19.01.12
✎
11:42
|
+ (45) !!!
|
|||
48
memogolik
19.01.12
✎
11:43
|
(46)
{Форма.Форма.Форма(27)}: Ошибка при вызове метода контекста (Выполнить) Выборка = Запрос.Выполнить().Выбрать(); по причине: по причине: {(12, 74)}: Поле не найдено "Док.Ссылка.Склад" Док.Номенклатура = Цены.Номенклатура и Док.Цена<>Цены.Цена и Док.Ссылка.<<?>>Склад=&ВыбСклад |
|||
49
acsent
19.01.12
✎
11:44
|
(4) он тебе поругался что нет ПАРАМЕТРА номенклатура
|
|||
50
xarann
19.01.12
✎
11:46
|
(48) Документ.ПоступлениеТоваровУслуг у этого документа есть реквизит "Склад" может он называется иначе типа СкладПоступления...
|
|||
51
Feanor
19.01.12
✎
11:47
|
(48) а точно у дока есть реквизит "Склад"? мб он как-то по-другому называется
(49) мы это уже побелили)) |
|||
52
xarann
19.01.12
✎
11:47
|
Отладь запрос сначала в консоли, потом уже втыкай в конфигурацию.
|
|||
53
Feanor
19.01.12
✎
11:47
|
+(51) тьху, победили
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |