Имя: Пароль:
1C
1С v8
Как динамическому списку указать параметр запроса?
0 Garry1010
 
16.05.14
15:07
Как в запросе динамического списка управляемой формы указать в качестве параметра запроса значение основной таблицы списка?
Проблема в том, что многие документы имеют т/ч Расшифровка и если взять значение из колонки расшифровки док-та с несколькими строками, то динамический список ругается на дубли - что понятно. Тогда хочу показать хотя бы значение из первой строки, для чего делаю объединение с вложенным запросом к т/ч Расшифровка. Но для этого нужно вложенному запросу указать, что первую строку надо брать из текущего документа - как? Запрос примерно такой (УПП):

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДокументЗаявкаНаРасходованиеСредств.Ссылка,
    ДокументЗаявкаНаРасходованиеСредств.ВидОперации,
    ДокументЗаявкаНаРасходованиеСредств.Состояние,
    ДокументЗаявкаНаРасходованиеСредств.СуммаДокумента КАК СуммаДокумента,
    ДокументЗаявкаНаРасходованиеСредств.Сценарий,
    ДокументЗаявкаРасшифровкаПлатежа.Проект,
    ДокументЗаявкаНаРасходованиеСредств.СтатьяОборотов
ИЗ
    Документ.ЗаявкаНаРасходованиеСредств КАК ДокументЗаявкаНаРасходованиеСредств
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
            ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа.Ссылка КАК Ссылка,
            ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа.Проект КАК Проект
        ИЗ
            Документ.ЗаявкаНаРасходованиеСредств.РасшифровкаПлатежа КАК ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа
        ГДЕ
            ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа.Ссылка = &Ссылка) КАК ДокументЗаявкаРасшифровкаПлатежа
        ПО  ДокументЗаявкаНаРасходованиеСредств.Ссылка = ДокументЗаявкаРасшифровкаПлатежа.Ссылка


Так вот как оформить фразу "ГДЕ ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа.Ссылка = &Ссылка"?
1 NcSteel
 
16.05.14
15:09
соеинение с таблицей с условием соединения:
НомерСТроки = 1
2 butterbean
 
16.05.14
15:10
(0) у тебя вроде связь в соединении правильная... в чем вопрос не понятно
3 NcSteel
 
16.05.14
15:11
(2) Нет, не правильная )))
4 Garry1010
 
16.05.14
15:12
(2) Вопрос в том, как объяснить Динамическому списку, что такое "&Ссылка"? Он, гад, заявляет, что:


Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(25, 59)}: Не задано значение параметра "Ссылка"
5 NcSteel
 
16.05.14
15:14
(4) Точно так же как и в СКД передаются параметры....
6 Garry1010
 
16.05.14
15:14
(5) Программно, что ли?-_О
7 Aleksandr N
 
16.05.14
15:15
(4) ПО  ДокументЗаявкаНаРасходованиеСредств.Ссылка = ДокументЗаявкаРасшифровкаПлатежа.Ссылка
Разве этого не хватает?
8 Garry1010
 
16.05.14
15:16
(5) А-а-а... или в конструкторе запроса на закладке "Компоновка данных"?
9 Garry1010
 
16.05.14
15:19
(7) Нет, так как он берёт самое первое значение, что ему попадается в таблице БД, где эта т/ч хранится. Внутреннее соединение не помогает по той же причине.
10 Garry1010
 
16.05.14
15:23
(7) Имеется в виду, что это Вложенный запрос берёт самое первое попавшееся значение.
11 butterbean
 
16.05.14
15:27
(10) не надо параметров никаких, тебе в (1) еще написали — в ГДЕ напиши
ЗаявкаНаРасходованиеСредствРасшифровкаПлатежа.НомерСтроки = 1 вместо твоего условия
12 Garry1010
 
16.05.14
15:32
(11) Ага - счаз!:)) Таких "номеров строки 1" в таблице БД с т/ч как грязи - и первый из них, ессно, не тот документ. В результате результат - без проекта, ибо не срабатывает соединение.
13 NcSteel
 
16.05.14
15:36
(12) Естественно соединение никто не отменял:

Выбрать *
Из таблицаДокумента
Левое Соединение таблицаТабЧасть
По таблицаДокумента.Ссылка = таблицаТабЧасть.Ссылка
И таблицаТабЧасть.НомерСтроки = 1
14 Enders
 
16.05.14
15:54
(0)Задать параметр надо при событии "ПриСозданииНаСервере" событий формы.
Там Список.Параметры.УстановитьЗначениеПараметра("Ссылка", ВашаССылка);
15 Garry1010
 
16.05.14
16:47
(13) Ясно... Блин, что-то я не очень допёр, почему... Вроде, суть понятно, но не до конца.
Спасибо!
А что, &Ссылку всё-таки получить никак нельзя?

(14) Нет, так нельзя. Это форма списка документов - так что документов там тьма.
16 hhhh
 
16.05.14
17:15
(15) ну тогда (1) и (7).