Имя: Пароль:
1C
1С v8
Не удается установить параметр запроса
0 GreenDay1986
 
15.11.11
13:26
"ВЫБРАТЬ
       |    Спецодежда.НомерСтроки КАК НомерПП,
       |    Спецодежда.Номенклатура.Код КАК НоменклатурныйНомер,
       |    ВЫРАЗИТЬ(Спецодежда.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК ТоварНаименование,
       |    Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод,
       |    Спецодежда.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование,
       |    Спецодежда.Количество КАК Количество,
       |    Спецодежда.ФизЛицо КАК Сотрудник,
       |    РаботникиОрганизацийСрезПоследних.ТабельныйНомер,
       |    Спецодежда.Ссылка.Дата КАК ДатаДокумента,
       |    Спецодежда.НазначениеИспользования.СрокПолезногоИспользования КАК СрокСлужбы
       |ИЗ
       |    Документ.ПередачаМатериаловВЭксплуатацию.Спецодежда КАК Спецодежда
       |    ЛЕВОЕ СОЕДИНЕНИЕ
       |        (ВЫБРАТЬ
       |            РаботникиОрганизацийСрезПоследних.Сотрудник.Код КАК ТабельныйНомер,
       |            РаботникиОрганизацийСрезПоследних.Сотрудник.ФизЛицо КАК ФизЛицо,
       |            РаботникиОрганизацийСрезПоследних.Должность КАК Должность,
       |            РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации
       |        ИЗ
       |            РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
       |        ГДЕ
       |            РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
       |        ) КАК РаботникиОрганизацийСрезПоследних
       |    ПО Спецодежда.ФизЛицо = РаботникиОрганизацийСрезПоследних.Физлицо    
       |ГДЕ
       |    Спецодежда.ФизЛицо = &ТекущийДокумент
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерПП";
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);

Неправильно устанавливаю параметр "ТекущийДокумент". Нужно выбрать сотрудника из текущего обьекта(документ Передача материалов). чтобы запрос формировался только по нему. Не удается :(
1 laeg
 
15.11.11
13:27
Для начала вот тут собака порылась:

ГДЕ
       |    Спецодежда.ФизЛицо = &ТекущийДокумент
2 Нуф-Нуф
 
15.11.11
13:29
|ГДЕ
       |    Спецодежда.ССЫЛКА = &ТекущийДокумент
3 laeg
 
15.11.11
13:31
(2) а как же шанс человеку подумать ?
4 GreenDay1986
 
15.11.11
13:32
Ну так это я и написал, Нужно в параметр Текущий документ(просто обозвал так) передать значение из табличной части Спецодежда Текущего документа Передачи товаров и услуг. Реквизит ФизЛицо.
5 Wobland
 
15.11.11
13:32
(4) из какой строки ТЧ?
6 evgenius-inc
 
15.11.11
13:34
А ЭтотОбъект.Ссылка - это что?
7 GreenDay1986
 
15.11.11
13:34
2 Так он выдаст все записи по этому документу. А мне нужно достать человека из этого документа и сформировать за все время спецодежду. ИЗ первой строки. Физлица в каждом документе одинаковые(так учитывают) так что можно из любой
8 Wobland
 
15.11.11
13:35
>(так учитывают)
а как начнут по-другому учитывать? и не надо говорить, что такого не будет никогда
9 GreenDay1986
 
15.11.11
13:38
ГДЕ Спецодежда.ФизЛицо = &ФизЛицоИзТекущегоДокумента чтоб понятней было. Т.е. формировать за весь период а Физлицо брать из ТЧ Спецодежда
8 Тогда из первой строки ТЧ.
10 Wobland
 
15.11.11
13:38
(9) тоже криво. строки вообще переставляться могут. думайте, думайте
11 GreenDay1986
 
15.11.11
13:40
В общем да, пока для решения задачи достаточно. По реквизиту Ответственный
Документа не отбирает, можно было впоследствии туда его заносить.
12 catena
 
15.11.11
13:41
ЭтотОбъект.Спецодежда[0].Физлицо, не?
13 GreenDay1986
 
15.11.11
13:45
12 Так ничего не выдает как и ЭтотОбъект.Спецодежда[1].Физлицо
14 hhhh
 
15.11.11
13:47
Спецодежда[1] - это вторая строка. Чтоб ты знал.
15 GreenDay1986
 
15.11.11
13:49
Ога. я и вторую попробовал, не выбирает почему-то :(
16 GreenDay1986
 
15.11.11
13:55
Вроде пошло с первой строки. Ссылку убрал СпецОдежда.ФизЛицо поставил.
Всем спасибо!
17 hhhh
 
15.11.11
13:56
(15) может Спецодежда.ФизЛицо левое?
18 catena
 
15.11.11
13:59
А они там есть? Строки? А если напрямую физлицо засунуть?
19 GreenDay1986
 
15.11.11
14:01
Нет. Как раз то кому выдают спецодежду  
Спецодежда.ФизЛицо = &ТекущийДокумент
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Спецодежда[0].Физлицо);

Это у нас Комитет по труду клюнулю в кой- какое место, так -то и не пользуемся :)