|
Отбор по предопределенному элементу справочника | ☑ | ||
---|---|---|---|---|
0
NewbieMe
20.02.15
✎
13:37
|
Хорошего дня, мистяне! Помогите, пожалуйста, с моим изысканием:
Нужно сделать выборку в табличную часть документа всех позиций номенклатуры, у которых введен определенный реквизит (тип Справочник.Ссылка.Бланк). В моем варианте ругается, что переменная КормДляМоржей не определена Как правильно сформулировать запрос? Спасибо! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Бланк.ИмяПредопределенныхДанных |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ИмяПредопределенныхДанных = &КормДляМоржей"; Запрос.УстановитьПараметр("КормДляМоржей", КормДляМоржей); РезультатЗапроса = Запрос.Выполнить(); |
|||
1
zak555
20.02.15
✎
13:39
|
1. а что в переменной КормДляМоржей ?
2. можри какие -- люди или звери ? =) |
|||
2
NewbieMe
20.02.15
✎
13:40
|
(1)
моржи, это звери такие симпатичные. |
|||
3
fisher
20.02.15
✎
13:41
|
Запрос.УстановитьПараметр("КормДляМоржей", "КормДляМоржей");
|
|||
4
NewbieMe
20.02.15
✎
13:41
|
(1) В справочнике номенклатуры есть реквизит Бланк, он ссылается на справочник ТипыБланков. В нем есть корм для моржей, корм для морских котиков, корм для дельфинов. Вот я хочу отобрать всю номенклатуру, у которой реквизит заполнен КормДляМоржей.
|
|||
5
Любопытная
20.02.15
✎
13:41
|
(2) тебе надо выбрать всю номенклатуру, в которой в реквизите Бланк стоит КормДляМоржей?
|
|||
6
Любопытная
20.02.15
✎
13:42
|
(4)КормДляМоржей - предопределенный?
|
|||
7
fisher
20.02.15
✎
13:42
|
|ГДЕ
| Номенклатура.ИмяПредопределенныхДанных = ""КормДляМоржей""" |
|||
8
NewbieMe
20.02.15
✎
13:43
|
(5) (6) Да.
|
|||
9
NewbieMe
20.02.15
✎
13:46
|
(7) спасибо, попробую.
|
|||
10
fisher
20.02.15
✎
13:47
|
"ВЫБРАТЬ
| Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Бланк = ЗНАЧЕНИЕ(Справочник.Бланк.КормДляМоржей) |
|||
11
DrShust
20.02.15
✎
13:47
|
(0) |ГДЕ
| Номенклатура.Бланк = Значение(Справочник.ТипыБланков.КормДляМоржей); |
|||
12
DrShust
20.02.15
✎
13:47
|
(10) +
|
|||
13
Крошка Ру
20.02.15
✎
13:48
|
(7) Ну если он предопределенный, тогда наверное
Запрос.УстановитьПараметр("КормДляМоржей", Справочники.Номенклатура.КормДляМоржей); или как-то так? А то ведь, переименуют "КормДляМоржей" на "КормДляЕжей" и всё.. |
|||
14
NewbieMe
20.02.15
✎
13:49
|
(11), (12), (13), спасибо ребята, пойду пробовать!
|
|||
15
D_E_S_131
20.02.15
✎
13:54
|
офф
Хорошим моржам - корм, плохим - ... моржевый. |
|||
16
fisher
20.02.15
✎
13:56
|
(14) Пробуй сразу (10). Из сабжа я не сразу понял grade of newbie.
|
|||
17
NewbieMe
20.02.15
✎
14:01
|
(16) Ругается... Ожидается выражение
Запрос.Текст =<<?>> (Проверка: Сервер) {Документ.БланкЗаказаКорма.Форма.ФормаДокумент |
|||
18
Любопытная
20.02.15
✎
14:02
|
(17) дык и куда ты его дел?)
|
|||
19
DrShust
20.02.15
✎
14:02
|
(17) Ну так ты попробуй сначала запрос конструктором запроса открыть...
|
|||
20
fisher
20.02.15
✎
14:03
|
Вот же ж дернуло меня... Ладно, мы в ответе за тех, кого приручили. Показывай модуль.
|
|||
21
NewbieMe
20.02.15
✎
14:06
|
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Запрос = Новый Запрос; Запрос.Текст = | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Бланк = ЗНАЧЕНИЕ(Справочник.Бланк.КормДляМоржей); Запрос.УстановитьПараметр("КормДляМоржей", Справочники.Номенклатура.КормДляМоржей); РезультатЗапроса = Запрос.Выполнить(); Сообщить(РезультатЗапроса.Выгрузить().Количество()); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл КонецЦикла; КонецПроцедуры |
|||
22
NewbieMe
20.02.15
✎
14:08
|
в цикле будет заполнение табличной части.
|
|||
23
NewbieMe
20.02.15
✎
14:10
|
(21)
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Запрос = Новый Запрос; Запрос.Текст = | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Бланк = ЗНАЧЕНИЕ(Справочник.Бланк.КормДляМоржей); Запрос.УстановитьПараметр("КормДляМоржей", Справочники.Номенклатура.КормДляМоржей); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл КонецЦикла; КонецПроцедуры |
|||
24
vicof
20.02.15
✎
14:11
|
Кавычки забыл
|
|||
25
NewbieMe
20.02.15
✎
14:13
|
(24)
ой |
|||
26
fisher
20.02.15
✎
14:14
|
Забыл всю строчку
"ВЫБРАТЬ |
|||
27
NewbieMe
20.02.15
✎
14:14
|
(24) а где?
|
|||
28
NewbieMe
20.02.15
✎
14:14
|
(26) уже заметил, вставил, спасибо.
|
|||
29
vicof
20.02.15
✎
14:17
|
(27) там же, где и Выбрать
|
|||
30
DrShust
20.02.15
✎
14:27
|
(23) Запрос.УстановитьПараметр("КормДляМоржей", Справочники.Номенклатура.КормДляМоржей);
Это теперь ни к чему... |
|||
31
DrShust
20.02.15
✎
14:28
|
(23) Ещё раз: запрос открывается Конструктором запроса или ругается?
|
|||
32
NewbieMe
20.02.15
✎
14:31
|
(30) спасибо.
(31) Сейчас проверю. |
|||
33
kosts
20.02.15
✎
14:33
|
Следуя рекомендациям справочники следует называть во множественном числе => Справочник.Бланки
|
|||
34
NewbieMe
20.02.15
✎
14:34
|
(33)
Спасибо |
|||
35
NewbieMe
20.02.15
✎
14:34
|
(31) Не ругается. А можно в целях повышения образованности спросить: почему Запрос.УстановитьПараметр("КормДляМоржей", Справочники.Номенклатура.КормДляМоржей); перестал быть нужным?
|
|||
36
kosts
20.02.15
✎
14:35
|
(33) Что-то я тавтологически написал...
|
|||
37
NewbieMe
20.02.15
✎
14:36
|
(36) совет я взял но вооружение.
|
|||
38
DrShust
20.02.15
✎
14:36
|
(35) :)) Ну у тебя же теперь нет в запросе &КормДляМоржей.
|
|||
39
kosts
20.02.15
✎
14:36
|
(35) Это как ключик от двери привязанный к самой двери веревочкой.
|
|||
40
NewbieMe
20.02.15
✎
14:37
|
(39) и еще раз спасибо!
|
|||
41
kosts
20.02.15
✎
14:37
|
(39) И даже вставленный в замок и припаянный тогда.
|
|||
42
DrShust
20.02.15
✎
14:39
|
(35) А в чём тогда трабла в итоге: на что программа ругается или табчасть не заполняется?
|
|||
43
NewbieMe
20.02.15
✎
14:43
|
(42) Трабла состояла из двух частей. Я для начала пытался простым путем: Сообщить(РезультатЗапроса.Выгрузить().Количество());
Посмотреть, будет ли находить что-либо. С вашей помощью теперь находит. Теперь буду пытаться заполнить этими данными Объект.ТабличнаяЧасть1Номенклатура пытаться заполнить в цикле. |
|||
44
DrShust
20.02.15
✎
14:46
|
В запросе пиши: Номенклатура.Ссылка КАК Номенклатура.
Ниже: РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Объект.ТабличнаяЧасть1Номенклатура.Загрузить(); |
|||
45
DrShust
20.02.15
✎
14:47
|
(44) Если у тебя в ТабличнаяЧасть1Номенклатура есть реквизит Номенклатура, тогда заполнится выборкой. Без циклов.
|
|||
46
NewbieMe
20.02.15
✎
14:48
|
(45) Спасибо вам большое, ответили на вопрос, созревший моей голове!
|
|||
47
NewbieMe
20.02.15
✎
14:48
|
(45) про цикл.
|
|||
48
DrShust
20.02.15
✎
14:50
|
(47) Так и вопросы ещё есть (а то пятница и 10 минут до конца рабочего дня:)))?
|
|||
49
fisher
20.02.15
✎
14:52
|
(0) В целях повышения образованности рекомендую просмотреть видео-уроки Павла Чистова на ютюбе на его канале. Много всего полезного увидишь, в том числе и практические навыки работы в конфигураторе. Хотя, я подозреваю, ты даже учебник Радченко не читал?
|
|||
50
NewbieMe
20.02.15
✎
14:53
|
(49) Выборочно. Желтых книг много купил. Включая разработку прикладных решений и сложных отчетов на СКД.
|
|||
51
kosts
20.02.15
✎
14:54
|
(50) А толку с этих книг... Все примеры типовых и практика решают.
|
|||
52
NewbieMe
20.02.15
✎
14:55
|
(48) Последний ))) Если без цикла делать, то ошибку выдает Поле объъекта не обнаружено. Объект.ТабличнаяЧасть1Номенклатура.Загрузить(); Хотя имя копирую в конфигураторе из путя к данным: Объект.ТабличнаяЧасть1.Номенклатура
|
|||
53
fisher
20.02.15
✎
14:55
|
(50) Это зря. Почти все нужные книги входят в последнее издание "Профессиональной разработки".
|
|||
54
DrShust
20.02.15
✎
14:56
|
Объект.ТабличнаяЧасть1.Загрузить()
|
|||
55
NewbieMe
20.02.15
✎
14:56
|
(53) вы про это? http://www.vdgb-soft.ru/books/book27/
|
|||
56
NewbieMe
20.02.15
✎
14:57
|
(54) Недостаточно фактических параметров )))
|
|||
57
fisher
20.02.15
✎
14:58
|
(55) Ага. Вот православная ссылка: http://v8.1c.ru/metod/books/book.jsp?id=401
|
|||
58
DrShust
20.02.15
✎
14:59
|
(56) Недописал немного :))
Ниже: РезультатЗапроса = Запрос.Выполнить().Выгрузить(); Объект.ТабличнаяЧасть1Номенклатура.Загрузить(РезультатЗапроса); |
|||
59
NewbieMe
20.02.15
✎
14:59
|
(57) спасибо, приму во внимание.
|
|||
60
DrShust
20.02.15
✎
14:59
|
(58) РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Объект.ТабличнаяЧасть1.Загрузить(РезультатЗапроса); |
|||
61
NewbieMe
20.02.15
✎
14:59
|
(58) DrShust, спасибо еще раз от всей души! Хороших вам выходных!
|
|||
62
DrShust
20.02.15
✎
15:00
|
(61) О, хоть одно хорошее дело сегодня сделал! Ушёл.
|
|||
63
fisher
20.02.15
✎
15:01
|
Я понимаю что ты новичок. Но хоть чуть-чуть голову включать всё-таки надо :) Хотя бы на уровне "если бы я был компьютером, то для выполнения этого действия мне бы понадобились вот эти данные".
|
|||
64
NewbieMe
20.02.15
✎
15:02
|
(63) хорошо, спасибо!
|
|||
65
NewbieMe
20.02.15
✎
15:02
|
(57) книга-таки орудие преступления ;-)
|
|||
66
NewbieMe
20.02.15
✎
15:02
|
(57) полторы тысячи страниц.
|
|||
67
ejikbeznojek
20.02.15
✎
15:04
|
Жёлтая пресса))
|
|||
68
fisher
20.02.15
✎
15:07
|
Физически это два тома сейчас вроде. Но в той части, которая унаследована от первого издания - это один из лучших образчиков методической литературы. Лучше у 1С я не видел. Но если образование непрофильное - может быть тяжеловато для старта.
|
|||
69
fisher
20.02.15
✎
15:10
|
Только это... Практических навыков проф-разработка никаких не дает. Она дает понимание работы внутренних механизмов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |