Имя: Пароль:
1C
1С v8
ДинамическийСписок в документе, показывающий все документы введеные на основании
,
0 wmonref
 
01.04.16
22:24
Приветствую!

На форме документа "Счет" создал Динамический Список который должен отображать все документы типа "Расход" созданные на основании данного "Счета". В документе  "Расход" есть реквизит типа ДокументСсылка.Счет, в который записывается "Счет" - основание. Динамическому списку поставил свойство Произвольный запрос, в Настройках списка выбрал основную таблицу Документ.Расход и в запросе написал:

ВЫБРАТЬ
    ДокументРасход.Ссылка,
    ДокументРасход.Номер,
    ДокументРасход.Дата,
    ДокументРасход.Валид
ИЗ
    Документ.Расход КАК ДокументРасход
ГДЕ
    ДокументРасход.ДокОсн = &ЭтотОбъект //пробовал также = &Ссылка

Но ничего не выходит....

Объясните пожалуйста как отобрать все документы "Расход", владельцем которых является открытый "Счет"?
1 Defender aka LINN
 
02.04.16
00:32
(0) "&ЭтотОбъект//пробовал также = &Ссылка"
Я так понимаю, попробовать таки установить параметр в голову не пришло?
2 Мимохожий Однако
 
02.04.16
07:12
Сам запрос даёт в результате нужную выборку?
3 wmonref
 
02.04.16
07:27
(1), (2)

В ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) добавил

Список.Параметры.УстановитьЗначениеПараметра("ЭтотОбъект", ЭтотОбъект);

Теперь вообще не открывается форма...
"Ошибка отображения типов: отсутствует отображение для типа "УправляемаяФорма"
4 Мимохожий Однако
 
02.04.16
07:30
Проверь через отладчик. Что содержит ЭтотОбъект и результат выполнения запроса. Поэтому повторяю вопрос: В результате выполнения запроса, получаешь необходимое?
5 Defender aka LINN
 
02.04.16
09:26
(3) И много у тебя в базе записей, у которых Ссылка = данные формы?
6 Defender aka LINN
 
02.04.16
09:27
И вообще - чем обычная структура подчиненности не устраивает?
7 wmonref
 
02.04.16
18:04
(6) Гмм.. Думаю что вполне устроило бы... Тогда подскажите как должен выглядеть запрос если использовать обычную структура подчиненности?
8 wmonref
 
03.04.16
09:19
(2), (4)

Проверил в консоле запросов - запрос даёт нужную выборку если
&ЭтотОбъект присвоить значение Документ.Счет
9 Defender aka LINN
 
03.04.16
09:23
(7) Ну так выдери ее из какой-нить УТ11 и не делай моск
10 wmonref
 
03.04.16
10:43
(9) Однако, все оказалось достаточно просто...

&НаКлиенте
Процедура ПриОткрытии(Отказ)
Список.Параметры.УстановитьЗначениеПараметра("ЭтотОбъект", Объект.Ссылка);
КонецПроцедуры


Работает также и:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДокОсн");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
    ЭлементОтбора.ПравоеЗначение = Объект.Ссылка;
КонецПроцедуры
11 wmonref
 
03.04.16
11:09
Хотя, думаю, правильнее будет вот так:

&НаКлиенте
Процедура ПриОткрытии(Отказ)

    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = СписокДевис.Отбор.ДоступныеПоляОтбора.Элементы.Найти("ДокОсн").Поле;
        ЭлементОтбора.ПравоеЗначение = Объект.Ссылка;
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.Использование = Истина;
КонецПроцедуры

Но вот что странно: Если в режиме предприятия открыть настройки этого списка (Все действия - Настроить список) то там не установлен никакой отбор, хотя отбор существует и работает...  Почему так?