|
Как выбирать в поле ввводе на форме реквизит справочника? | ☑ | ||
---|---|---|---|---|
0
Norbertano
25.07.12
✎
14:07
|
Обычно устанавливают ТипЗначения "СправочникСсылка", а как установить ТипЗначения реквизи справочника.
Мне нужно выбрать на Форме документа реквизит справочника Контрагенты |
|||
1
Norbertano
25.07.12
✎
14:10
|
Писал быстро,допустил ошибки
|
|||
2
Рэйв
25.07.12
✎
14:12
|
Сделай два реквизита. В одном выбирай конра, в другом при изменении контра проставляй значение реквизита
|
|||
3
Maxus43
25.07.12
✎
14:14
|
что за реквизит надо выбрать?
|
|||
4
Norbertano
25.07.12
✎
14:16
|
Реквизит дописанный, Контрагент.ТорговаяТочка, ТорговаяТочка привязана к одноименному справочнику
|
|||
5
Maxus43
25.07.12
✎
14:19
|
(4) из него и выбирай... в чем трабл?
|
|||
6
Norbertano
25.07.12
✎
14:21
|
В поле ввода я могу выбрать только Справочник, но не могу выбрать реквизит
|
|||
7
SherifSP
25.07.12
✎
14:22
|
Процедура Обработка реквизита при выборе()
Контрагент = Контрагент.ТорговаяТочка; КонецПроцедуры |
|||
8
SherifSP
25.07.12
✎
14:23
|
(7) Типа как (2)
|
|||
9
Maxus43
25.07.12
✎
14:35
|
>>ТорговаяТочка привязана к одноименному справочнику
в поле ввода и выбирай из справочника ТорговаяТочка, а не из контрагентов... почему не подходит так? |
|||
10
SherifSP
25.07.12
✎
14:52
|
(9)Нужно запутать все)
|
|||
11
Norbertano
25.07.12
✎
14:54
|
Задача была подчинить справочник "Контрагенты" справочнику "ТорговаяТочка" , в Торговой Точке может быть любое количество контрагентов. Я не стал этого делать из-за возможных проблем потери данных, к тому же теряется иерархия справочника "Контрагенты". Сейчас осталось добиться того, чтобы в документах при выборе Контрагента была доступна в поле "ТорговаяТочка" только Торговая Точка, в которой он сохранен и наоборот, при выборе Торговой Точки были доступны только те контрагенты, которые в ней сохранены. Например
Торговая Точка "Край" |----> ЧП "Киренский И.В." |----> ЧП "Живодеров И.И." |----> Магазин "Алло" |----> Минимаркет "Сокол" т.е при выборе любого из этих контрагентов, должна быть доступна только торговая точка "Край" и наоборот, при выборе Торговой точки "Край", должны быть доступны только эти контрагенты |
|||
12
SherifSP
25.07.12
✎
14:56
|
Рс используй
|
|||
13
Maxus43
25.07.12
✎
14:58
|
т.е. на форме 2 реквизита, ТОрг точка и контрагент.
КонтрагентНачалоВыбора - там смотриш на реквизит ТорговаяТочка (ТТ), открывеш форму выбора контрагента с отбором по реквизиту ТТ. ТТНачалоВыбора - смотриш контрагента и его ТТ, и открываеш форму выбора с отбором по нужной ТТ. Т.е. формы открываеш программно, предварительно устанавливая в них отбор |
|||
14
Norbertano
25.07.12
✎
16:01
|
Можете написать структуру выбора с отбором, я это делаю впервые.
|
|||
15
Norbertano
25.07.12
✎
16:01
|
Учусь потихоньку
|
|||
16
Norbertano
25.07.12
✎
17:54
|
В справочнике "Торговые точки" значения контрагенты храниться в табличной части,выполняется отбор правильно, но при выборе не сохраняется. Куда смотреть?
Процедура ТорговаяТочкаНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | ТорговыеТочки.Код |ИЗ | Справочник.ТорговыеТочки КАК ТорговыеТочки |ГДЕ | ТорговыеТочки.Контрагенты.Контрагенты = &Контрагенты"; Запрос.УстановитьПараметр("Контрагенты",Контрагент); //Контрагенты РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл ФормаВыбора = Справочники.ТорговыеТочки.ПолучитьФормуВыбора( , ЭтаФорма); ФормаВыбора.Отбор.Код.Использование = Истина; ФормаВыбора.Отбор.Код.Значение = Выборка.Код; ФормаВыбора.Открыть(); КонецЦикла; КонецПроцедуры |
|||
17
Norbertano
25.07.12
✎
17:56
|
Последний цикл был пустой, переменная там для отладки
Пока Выборка.Следующий() Цикл a=0; КонецЦикла; ФормаВыбора = Справочники.ТорговыеТочки.ПолучитьФормуВыбора( , ЭтаФорма); ФормаВыбора.Отбор.Код.Использование = Истина; ФормаВыбора.Отбор.Код.Значение = Выборка.Код; ФормаВыбора.Открыть(); |
|||
18
Norbertano
25.07.12
✎
18:09
|
Из-за чего может не сохраняться значение в поле выбора после выбора значения?
|
|||
19
Norbertano
25.07.12
✎
18:30
|
Запрос можно было не использовать
Процедура ТорговаяТочкаНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.ТорговыеТочки.ПолучитьФормуВыбора( , ЭтаФорма); Если ЗначениеЗаполнено(Контрагент.ТорговаяТочка.Код) Тогда ФормаВыбора.Отбор.Код.Использование = Истина; ФормаВыбора.Отбор.Код.Значение = Контрагент.ТорговаяТочка.Код; //ФормаВыбора.Отбор.Код.Значение = Выборка.Код Иначе Сообщить("Заполните карточку контрагента, поле <Торговая точка>"); КонецЕсли; ФормаВыбора.Открыть(); КонецПроцедуры |
|||
20
5 Элемент
25.07.12
✎
18:36
|
А зачем в документах выбирать торговую точку?
|
|||
21
5 Элемент
25.07.12
✎
18:36
|
Выбрал контрагента, а по нему всегда можно узнать торговую точку.
|
|||
22
Norbertano
25.07.12
✎
18:39
|
Потому что более важны отчеты в разрезе торговых точек, а не контрагентов
|
|||
23
Norbertano
25.07.12
✎
18:41
|
Не сохраняется значение отбора и для справочника "Контрагенты", что-то делаю не так
Процедура КонтрагентНачалоВыбора(Элемент, СтандартнаяОбработка) Если ЗначениеЗаполнено(ТорговаяТочка) Тогда СтандартнаяОбработка = Ложь; ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора( , ЭтаФорма); ФормаВыбора.Отбор.ТорговаяТочка.Использование = Истина; ФормаВыбора.Отбор.ТорговаяТочка.Значение = ТорговаяТочка; ФормаВыбора.Открыть(); КонецЕсли; КонецПроцедуры |
|||
24
Norbertano
25.07.12
✎
18:52
|
Разобрался сам
во владельце формы выбора (Элемент), в который выбранное значение передается напрямую... заменил ЭтаФорма на Элемент ФормаВыбора = Справочники.Контрагенты.ПолучитьФормуВыбора( , ЭтаФорма); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |