|
Как получить данные у реквизита ссылочного типа? | ☑ | ||
---|---|---|---|---|
0
kostya1999990
27.02.19
✎
12:44
|
Есть реквизит Клиенты (Ссылочного типа). Имеется запрос и параметром является тот самый клиент, которого выберет пользователь. Думал в запросе дело, в конструкторе проверил и всё работает. Попробовал поставить у реквизита Клиенты тип данных Строка и всё заработало, но это не удобно. Подскажите, кто знает, как решить проблему, чтобы запрос видел данные реквизита Клиенты (ссылочного типа).
|
|||
1
wondkind
27.02.19
✎
12:53
|
Клиент - ссылка на твоего клиента
Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | Клиенты.Код, | Клиенты.Наименование |ИЗ | Справочник.Клиенты КАК Клиенты |ГДЕ | Клиенты.Ссылка = &Клиент"; Запрос.УстановитьПараметр("Клиент", Клиент); РезультатЗапроса = Запрос.Выполнить(); ТаблицаРезультата = Запрос.Выгрузить(); Вот стандартный запрос. Теперь объясни, что тебе не понятно |
|||
2
Сисой
27.02.19
✎
12:53
|
Это самый прикольная тема февраля! Спасибо. Повеселил.
|
|||
3
catena
27.02.19
✎
12:55
|
Если проблема с конкретным кодом, приведите листинг программы, но придерживайтесь принципа разумной достаточности – ошибку проще найти в небольшом листинге, чем изучать весь модуль.
|
|||
4
kostya1999990
27.02.19
✎
17:12
|
(3) На форме есть реквизит Организация (Тип: Ссылка на справочник Организации). Запрос показан ниже. Когда я в режиме пользователя выбираю организацию, ничего не происходит, но если я поставлю реквизиту Организация тип: Строка и напишу туда организацию, которая есть в справочнике Организации, то всё работает.
Может вся проблема в этой строчке? Запрос.УстановитьПараметр("Организация",Объект.Организация); &НаСервере Процедура ОрганизацияПриИзменении(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Организации.ДолжностьРуководителя, | Организации.ФамилияРуководителя, | Организации.ИмяРуководителя, | Организации.ОтчествоРуководителя |ИЗ | Справочник.Организации КАК Организации |ГДЕ | Организации.Наименование = &Организация"; Запрос.УстановитьПараметр("Организация",Объект.Организация); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл НовСтр = Объект.ТЧДолжностьФИО.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр, Результат); КонецЦикла; КонецПроцедуры |
|||
5
lodger
27.02.19
✎
17:17
|
ошибка тут:
ГДЕ Организации.Наименование = &Организация |
|||
6
kostya1999990
27.02.19
✎
17:21
|
(5) Как исправить?
|
|||
7
OldCondom
27.02.19
✎
17:22
|
(6) искать не по наименованию, а по ссылке. Твой реквизит на форме - это и есть ссылка.
|
|||
8
kostya1999990
27.02.19
✎
17:23
|
(5) Думал вроде по наименованию организацию искать надо
|
|||
9
OldCondom
27.02.19
✎
17:23
|
А ты в имя пихаешь ссылку.
От стеба меня останавливает только нормальный код после запроса. Может человек старается. |
|||
10
OldCondom
27.02.19
✎
17:24
|
(8) зачем, когда есть ссылка? Она уже найдена.
|
|||
11
kostya1999990
27.02.19
✎
17:24
|
(7) То есть правильно будет так? Всё остальное правильно?
ГДЕ Организации.Ссылка = &Организация |
|||
12
OldCondom
27.02.19
✎
17:24
|
да. Можно даже без .Ссылка, а просто ГДЕ Организации = &Организация
|
|||
13
OldCondom
27.02.19
✎
17:25
|
ой
сорян. Все так. Не смотри последнее сообщение) |
|||
14
kostya1999990
27.02.19
✎
17:25
|
(12) Спасибо, просто ещё не сильно в этом разбираюсь
|
|||
15
kostya1999990
27.02.19
✎
17:26
|
(13) Хорошо)
|
|||
16
OldCondom
27.02.19
✎
17:27
|
Если конфа типовая, привыкай к БСП. В модуле "ОбщегоНазначения" есть функция ЗначенияРеквизитовОбъекта. Она вернет тебе все необходимые значения твох "ДолжностьРуководителя" и прочее. По сути сама напишет запрос.
|
|||
17
kostya1999990
27.02.19
✎
17:30
|
(16) Модуль общего назначение - это модуль объекта?
|
|||
18
OldCondom
27.02.19
✎
17:30
|
это общий модуль
|
|||
19
kostya1999990
27.02.19
✎
17:32
|
(18) Вся суть в том, что я не знаю как с ним работать)
|
|||
20
OldCondom
27.02.19
✎
17:34
|
||||
21
kostya1999990
27.02.19
✎
17:34
|
(18) Всё равно не работает, когда организацию выбираю, может проблема ещё в чем то?
|
|||
22
OldCondom
27.02.19
✎
17:36
|
Вместо своего кода попробуй напиши это:
НовСтр = Объект.ТЧДолжностьФИО. ЗаполнитьЗначенияСвойств(НовСтр, ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Объект.Организация, "ДолжностьРуководителя, ФамилияРуководителя, ИмяРуководителя, ОтчествоРуководителя")); |
|||
23
igork1966
27.02.19
✎
17:37
|
(4) Если пишешь на конфигурации с БСП то там вообще-то в общем модуле есть целый набор функций
ЗначениеРеквизитаОбъекта, ЗначенияРеквизитовОбъектов, ЗначениеРеквизитаОбъектов |
|||
24
OldCondom
27.02.19
✎
17:37
|
в первой строка допиши .Добавить()
|
|||
25
igork1966
27.02.19
✎
17:37
|
(23) + лучше приучиться не изобретать велосипедов ;-)
|
|||
26
eTmy
27.02.19
✎
17:38
|
Тема сделала мой день, тс спасибо!)
|
|||
27
kostya1999990
27.02.19
✎
17:39
|
(22) Переменная не определена (ОбщегоНазначения)
|
|||
28
OldCondom
27.02.19
✎
17:41
|
Значит нетиповая конфа) допиливай свой код
|
|||
29
OldCondom
27.02.19
✎
17:42
|
(25) так сейчас без бсп далеко не уедешь
|
|||
30
igork1966
27.02.19
✎
17:53
|
(27) Или БСП другой версии.
Перезжали они по модулям. |
|||
31
kostya1999990
27.02.19
✎
18:39
|
(29) Всё заработало, спасибо большое, ошибку в параметре сделал)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |