Имя: Пароль:
1C
1С v8
Значение парметра в запросе.
0 STAYEKR
 
25.07.12
18:20
Столкнулся с такой трудностью: установливаю в запросе ограничение на контрагента вида
ГДЕ
  Документ1.Поле1 = &Параметр1.
При описании параметров запроса не могу придумать, как обратится к этому параметру. Думал сделать вроде
Запрос.УстановитьПараметр("Пар1", Справочники.Спр1.Рекв1);, Но ругается, пишет "Поле объекта не обнаружено". Формы нет, код пишу в менеджере документа, 8.2. Если поможете, буду безмерно благодарен!
1 МамаЛюба
 
25.07.12
18:23
(0)Смеешься?
2 5 Элемент
 
25.07.12
18:23
Спр1.Рекв1
3 МамаЛюба
 
25.07.12
18:23
+(1) Какой реквизит? Передавай туда значение(объект)
4 STAYEKR
 
25.07.12
19:05
(3) Пробую, но нет в всплывающей подсказе объекта, МамаЛюба. Поэтому меня и смущает это.
5 timurhv
 
25.07.12
19:37
(0) Ты должен в функцию\процедуру менеджера передать параметр - ссылку на текущий элемент справочника.
6 timurhv
 
25.07.12
19:41
(5) Пример из БГУ:

Модуль объекта документа:
// Подготовим параметры для проведения по счетам НУ
ПараметрыПроведенияНУ = Документы.МЗ_Покупка.ПодготовитьПараметрыПроведенияНУ(Ссылка, ...);

В модуле менеджера документа МЗ_Покупка:

Функция ПодготовитьПараметрыПроведенияНУ(Ссылка, ...) Экспорт
   
   ПараметрыПроведенияНУ = Новый Структура;
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
...
7 МурЬка
 
25.07.12
19:46
СправочникМенеджер и СправочникСсылка - разные типы.
Как и ДокументМенеджер и ДокументОбъект.
Модуль менеджера предназначен для описания дополнительных методов ДокументМенеджер. ДокументМенеджер предназначен для работы с видом документов. Соответственно, в контексте менеджера документа нет доступа к конкретному ДокументОбъект, и реквизитов его доже нет (если ссылка на элемент справочника - это реквизит документа). Нужно передавать ссылку на документ, из нее брать значение реквизита документа - ссылку на справочник, из нее - реквизит справочника.
Если вид контрагента берется из постоянного элемента справочника (например, предопределенного) и не зависит от кокнретного документа, то этот элемент нужно найти (если он не предопределенный) или обратиться по имени Справочники.Спр1.<ИмяПредопределенногоЭлемента>.Рекв1 (если он предопределенный).
И пройдите уже курс "Основные объекты" или как он там называется.
8 FIXXXL
 
25.07.12
20:40
(0) мож ты в модуле документа пишешь?
попробуй ЭтотОбъект.ТвойРеквизит
9 STAYEKR
 
26.07.12
07:58
(5) Пробовал, не получается.
(7) Спасибо, очень содержательно описали. Но не могли бы примерчик в студию?
10 МурЬка
 
26.07.12
08:43
(9) Пример с передачей ссылки есть раньше, в (6). Пример с предопределенным элементом - в (7). Пример с поиском нужного элемента - в синтакс-помощнике.
11 STAYEKR
 
26.07.12
16:14
Спасибо большое, товарисчи!
Основная теорема систематики: Новые системы плодят новые проблемы.