Имя: Пароль:
1C
1С v8
СКД. Вычисляемое поле = элемент справочника, который нужно найти.
,
0 svsrus
 
15.04.16
12:18
День добрый!

Занялся ковырянием СКД. Ну как занялся... Надо срочно сделать отчет, попытался, но напоролся на незнание предмета.

В общем задача такая:
Запрос получает выборку из документов Перемещение товаров: Склад отправитель, Склад получатель,Номенклатура, Номер справки А. Но дело в том, что Номер справки А - это обычное текстовое поле, а не ссылка на справку. А мне нужен элемент справочника "Справка А", номер которого и прописан в реквизите "Номер справки А". Т.е. сделать вычисляемое поле и прописать в нем что-то вроде Справочник.СправкиА.НайтиПоРеквизиту("Номер",&НомерСправкиА)

Как мне найти элемент справочника в вычисляемом поле?

И еще вопрос. А можно по вычисляемому полю сделать группировку?

Спасибо.
1 Живой Ископаемый
 
15.04.16
12:22
а) Как мне найти элемент справочника в вычисляемом поле?  - вызвав функцию общего модуля, которая вернет элемент справочника
б) Да
2 Pro-tone
 
15.04.16
12:24
(0) в Выражении пиши функцию общего модуля
3 AceVi
 
15.04.16
12:25
(0) А задание именно в вычисляемом поле получить ссылку? или можно в самом запросе? потому что как задание сойдет но делать так в реальном отчете не надо)
А так ответ в (1) СКД умеет вызывать функции из общих модулей в вычисляемом поле. а там в функции что угодно уже пиши.
4 butterbean
 
15.04.16
12:25
(0) не иппи мозг, сделай в одном запросе
5 Живой Ископаемый
 
15.04.16
12:27
2(4) Может он пока тренируется, и это самое простое что ему пришло в голову, для модели. А потом нужно будет более интеллектуальную функцию.
6 svsrus
 
15.04.16
12:47
(3)(4) Нет, главное получить ссылку на справочник и сгруппировать по этой ссылке.

(5) Совершенно верно. Пока тренируюсь, сходу так сказать залез. А дальше поглядим.
7 svsrus
 
15.04.16
12:48
Т.е. можно ссылку и в самом запросе получить, только как не знаю.
8 Живой Ископаемый
 
15.04.16
12:51
э... Ну, добавив ее в поля.
9 svsrus
 
15.04.16
13:57
(8)как я ее добавлю в поля, если я не знаю ее? Мне ее найти еще надо.
10 aleks_default
 
15.04.16
14:07
(0)ВыражениеПредставления юзай
11 aleks_default
 
15.04.16
14:09
А тебе просто но номеру справки нужно подтянуть ссылку? Ну так сделай левое соединение со справочником справок в запросе по НомерСправкиА ПОДОБНО СправочникСправки.Номер
типа такого
12 aleks_default
 
15.04.16
14:10
вычисляемое поле не нужно тут
13 svsrus
 
15.04.16
14:27
(11) А можно подробнее? ВОт ниже запрос, который у меня получается. НомерСправкиА - простой текст, содержащий номер справки. По этому тексту в справочнике "СправкиА" нужно найти по реквизиту "Номер" нужный элемент. Как мне это в запросе описать? Спасибо.

ВЫБРАТЬ
    ПеремещениеТоваровТовары.Номенклатура,
    ПеремещениеТоваровТовары.Количество,
    ПеремещениеТоваров.СкладКомпании,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.Ссылка,
    ПеремещениеТоваровТовары.НомерСправкиА
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
        ПО ПеремещениеТоваровТовары.Ссылка = ПеремещениеТоваров.Ссылка
ГДЕ
    ПеремещениеТоваров.СкладКомпании = &СкладКомпании
    И ПеремещениеТоваров.Дата МЕЖДУ &Дата1 И &Дата2
    И ПеремещениеТоваров.Проведен = &Проведен
14 FIXXXL
 
15.04.16
14:39
(13) зачем документ с тч соединяешь? вытащи что надо из тчСсылка.
15 AceVi
 
15.04.16
14:42
ПеремещениеТоваровТовары.НомерСправкиА,
СправкиА.Ссылка КАК СправкаА_ссылка
ИЗ
    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
        ПО ПеремещениеТоваровТовары.Ссылка = ПеремещениеТоваров.Ссылка
  ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СправкиА КАК СправкиА
        ПО ПеремещениеТоваровТовары.НомерСправкиА= СправкиА.Код
16 svsrus
 
15.04.16
14:52
(13) Логично. Спасибо.
(15) Спасибо. Попробую.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс