|
Как правильно написать процедуру? | ☑ | ||
---|---|---|---|---|
0
leo58
22.01.12
✎
16:09
|
Есть процедура ПриИзменении в поле ФИО:
Процедура АрендаторыФИОПриИзменении(Элемент) стрЗапрос=" |ВЫБРАТЬ | Клиенты.Серия_и_номер_паспорта, | Клиенты.Адрес_проживания |ИЗ | Справочник.Клиенты КАК Клиенты |ГДЕ | Клиенты.Наименование=&ФИО"; обЗапрос=Новый Запрос(стрЗапрос); обЗапрос.УстановитьПараметр("ФИО",ЭтаФорма.ЭлементыФормы.Арендаторы.Колонки.ФИО.ЭлементУправления.Значение); резЗапроса= обЗапрос.Выполнить(); Выборка=резЗапроса.Выбрать(); ЭтаФорма.ЭлементыФормы.Арендаторы.Колонки.Адрес_проживания.ЭлементУправления.Значение=Выборка.Адрес_проживания; ЭтаФорма.ЭлементыФормы.Арендаторы.Колонки.Серия_и_номер_паспорта.ЭлементУправления.Значение=Выборка.Серия_и_номер_паспорта.Значение; КонецПроцедуры Мне надо чтобы в табличной части документа, при выборе ФИО клиента, обновлялись поля с серией паспорта и адресом из справочника Клиенты, с отбором по ФИО.Что неправильно в процедуре подскажите? |
|||
1
VasjaIvanov
22.01.12
✎
16:17
|
обЗапрос.УстановитьПараметр("ФИО",ФИО);
ФИО = ЭлементыФормы.Арендаторы.Текущиеданные.ФИО; |
|||
2
VasjaIvanov
22.01.12
✎
16:18
|
ЭтаФорма.ЭлементыФормы.Арендаторы.Колонки.Адрес_проживания = Выборка.Адрес_проживания
|
|||
3
Rie
22.01.12
✎
16:19
|
(0) Что-то не понятно... ФИО - это реквизит табличной части? Адрес_проживания и Серия_и_номер_паспорта - видимо, тоже?
Во-первых, что ты будешь делать с однофамильцами? Зачем тебе ФИО - реквизитом, не лучше ли сразу сделать реквизит Клиент типа СправочникСсылка.Клиенты? Во-вторых, в какой строке тебе надо изменять? В той самой, где ФИО находится? Тогда используй ТекущиеДанные. |
|||
4
VasjaIvanov
22.01.12
✎
16:19
|
как то так)) мож где ошибка, надо отладчиком пройтись и пост=мотреть что в выборке выходит
|
|||
5
leo58
22.01.12
✎
16:20
|
VasjaIvanov, так переменая не определена, ФИО в табличной части находится в колонке
|
|||
6
Дикообразко
22.01.12
✎
16:20
|
нужно работать с источником табличного поля,
на край с текущей строкой |
|||
7
VasjaIvanov
22.01.12
✎
16:21
|
(5)выбираешь в табличной части, что то я не понял?
|
|||
8
VasjaIvanov
22.01.12
✎
16:21
|
при выборе ФИО клиента???
|
|||
9
VasjaIvanov
22.01.12
✎
16:21
|
нде выбор осуществляешь?
|
|||
10
leo58
22.01.12
✎
16:21
|
Rie, у меня справочник ссылка Клиенты в ФИО,а как сделать чтобы адрес заполнялся с номером паспорта после выбора из справочника клиента, всё в табличной части
|
|||
11
leo58
22.01.12
✎
16:22
|
VasjaIvanov, выбираешь в табличной
|
|||
12
VasjaIvanov
22.01.12
✎
16:23
|
ФИО = ЭлементыФормы.Арендаторы.Текущиеданные.ФИО //ФИО - название колонки
|
|||
13
VasjaIvanov
22.01.12
✎
16:24
|
\\арендаторы - нащвание ТЧ , я так все понял
|
|||
14
leo58
22.01.12
✎
16:25
|
{Документ.Договор_аренды.Форма.ФормаДокумента(15,35)}: Переменная не определена (ФИО)
обЗапрос.УстановитьПараметр("ФИО",<<?>>ФИО); переменая не определена |
|||
15
leo58
22.01.12
✎
16:25
|
да так
|
|||
16
Rie
22.01.12
✎
16:25
|
(10) Поздравляю. А тогда зачем что-то искать?
ТекДанные = ЭлементыФормы.Арендаторы.ТекущиеДанные; ТекДанные.Адрес_проживания = ТекДанные.ФИО.Адрес_проживания; |
|||
17
Rie
22.01.12
✎
16:26
|
+(16) А запрос - выкинь. Напрочь.
|
|||
18
VasjaIvanov
22.01.12
✎
16:27
|
(16) можно так есл без запроса
|
|||
19
Rie
22.01.12
✎
16:27
|
+(16) И вообще - а зачем тебе реквизиты Адрес_проживания и Серия_и_номер_паспорта в табличной части?
|
|||
20
leo58
22.01.12
✎
16:27
|
Rie, тут ТекДанные.ФИО.Адрес_проживания; ФИО это что?
|
|||
21
leo58
22.01.12
✎
16:28
|
Rie, просто может быть несколько человек
|
|||
22
leo58
22.01.12
✎
16:31
|
работает,всем огромное спасибо!!!
|
|||
23
VasjaIvanov
22.01.12
✎
16:31
|
(21)ФИО тут это ссылкана клиента, потом по ссылке получаешь все что хочешь
|
|||
24
leo58
22.01.12
✎
16:33
|
VasjaIvanov, ясно,спасибо,буду знать,а я зачем то запрос начал делать))
|
|||
25
Rie
22.01.12
✎
16:36
|
(24) Запрос - это не так уж и плохо (обращение к ФИО.Адрес_проживания система сама развернёт запрос). Но вот запрос у тебя тоже неправильно написан был: если ФИО - это СправочникСсылка, то почему ж ты её сравниваешь с наименованием - которое строка?
|
|||
26
leo58
22.01.12
✎
16:45
|
Rie, да вот чо то не сообразил, так вроде примерно знаю чо как, а вот из-за вот этих мелочей не получается)))
|
|||
27
Rie
22.01.12
✎
16:50
|
(26) А если знаешь, что как, - перед тем, как бежать за помощью на форум, попробуй применить это знание, сам проверь свой код. Пользы будет куда больше, чем если по каждому чиху на форум бегать будешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |