|
Отбор в форме списка | ☑ | ||
---|---|---|---|---|
0
spapin87
30.10.13
✎
12:10
|
Добрый день, подскажите пожалуйста. У меня есть форма заявки клиента, где есть поле Контрагент и КонтактноеЛицоКонтрагента(СправочникСсылка.ФизическиеЛица). Так вот если контрагент указан, в СпрФизическиеЛица устанавливать отбор по этому контрагенту. Как делаю:
Процедура КонтактноеЛицоКонтрагентаНачалоВыбора(Элемент, СтандартнаяОбработка) Если Не ПустаяСтрока(контрагент) Тогда ЗначениеОтбора = Новый Структура("Организация",Контрагент); ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора); ОткрытьФорму("Справочник.ФизическиеЛица.ФормаСписка",ПараметрыВыбора); КонецЕсли; КонецПроцедуры |
|||
1
vicof
30.10.13
✎
12:11
|
СтандартнаяОбработка = Ложь;
|
|||
2
spapin87
30.10.13
✎
12:15
|
(2) Не помогло. Но теперь хоть не открываются 2 формы списка.
|
|||
3
vicof
30.10.13
✎
12:16
|
Ага, ты бы еще проблему озвучил
|
|||
4
spapin87
30.10.13
✎
12:18
|
Проблема в том что отбор не устанавливается по полю "Организация"(СправочникСсылка.Контрагенты) в форме списка ФизическиеЛица ПриНачалеВыбора.
|
|||
5
vicof
30.10.13
✎
12:22
|
Типы значений разные?
|
|||
6
George Wheels
30.10.13
✎
12:26
|
(0) Обычно поля Организация - это Справочник.Организации, а не Контрагенты.
|
|||
7
spapin87
30.10.13
✎
12:26
|
В форме заявки клиента
Контрагент - Тип(СправочникСсылка.Контрагенты) В форме списка ФизическиеЛица Организация - Тип(СправочникСсылка.Контрагенты) |
|||
8
spapin87
30.10.13
✎
12:30
|
(7) Конфа самописная как уж назвали поле...
|
|||
9
vicof
30.10.13
✎
12:30
|
(7) то за конфигурация?
|
|||
10
vicof
30.10.13
✎
12:30
|
(8) понял
|
|||
11
vicof
30.10.13
✎
12:34
|
Сообщить(Контрагент + ", " + ТипЗНЧ(Контрагент));
|
|||
12
Wobland
30.10.13
✎
12:35
|
(11) ""+Контрагент
|
|||
13
vicof
30.10.13
✎
12:37
|
(12) и так должно сработать, типа получить представление и присобачить строчки
|
|||
14
Wobland
30.10.13
✎
12:40
|
(13) двоечник
Справочники.Номенклатура.НайтиПоНаименованию("Черева")+"20" {(1)}: Преобразование значения к типу Число не может быть выполнено |
|||
15
spapin87
30.10.13
✎
12:41
|
(13)ТипЗнч(Контрагент) в отладчике Значение - Контрагенты
При выводе сообщения: Преобразование значения к типу Число не может быть выполнено |
|||
16
Wobland
30.10.13
✎
12:42
|
чему будет равно:
"10"++10+"1" = 10++10+"1" = |
|||
17
Wobland
30.10.13
✎
12:42
|
(16) и 10++"10"+"1"
|
|||
18
vicof
30.10.13
✎
12:43
|
(14) Ладно, убедил :)
|
|||
19
vicof
30.10.13
✎
12:45
|
(16)
"10101" 21 21 |
|||
20
Wobland
30.10.13
✎
12:47
|
(19) сам считал? крут. я в одном примере ошибся тогда. кто-то тут рассказывал, я сейчас по памяти воспроизвёл
|
|||
21
Wobland
30.10.13
✎
12:48
|
это был фишер
v8: ФИФО и ЛИФО в одном запросе |
|||
22
vicof
30.10.13
✎
12:51
|
(20) все легко, сначала унарные плюсы выполняются, потом слева направо, преобразуясь к типу первого слагаемого
|
|||
23
spapin87
30.10.13
✎
12:51
|
Сообщить(ТипЗнч(Контрагент));
Сообщение: Контрагенты |
|||
24
spapin87
30.10.13
✎
13:14
|
Вот структура
http://savepic.org/4609903.jpg |
|||
25
George Wheels
30.10.13
✎
13:19
|
(0) ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ФормаСписка",ПараметрыВыбора);
|
|||
26
spapin87
30.10.13
✎
13:28
|
(25) тот же результат (((
В структуре ПараметрыВыбора-Отбор-Организация В значении стоит нужный контрагент. Но отбора нет в форме списка, выводятся все физ лица |
|||
27
George Wheels
30.10.13
✎
13:31
|
(26) Я у себя попробовал сначала так:
ОткрытьФорму("Справочник.ФизическиеЛица.ФормаСписка",ПараметрыВыбора); отбор не сработал, а потом так: ОткрытьФорму("Справочник.ФизическиеЛица.Форма.ФормаСписка",ПараметрыВыбора); отбор сработал. |
|||
28
George Wheels
30.10.13
✎
13:33
|
(26) +Забыл спросить. ФормаСписка существует или генерится?
|
|||
29
spapin87
30.10.13
✎
13:37
|
(28) ФормаСписка существует.
|
|||
30
George Wheels
30.10.13
✎
13:40
|
(29) Остаётся только смотреть обработчики в самой ФормаСписка.
|
|||
31
spapin87
30.10.13
✎
13:46
|
(30) ДА в том то и дело что там никаких событий нет
|
|||
32
George Wheels
30.10.13
✎
13:47
|
Подписки?
|
|||
33
spapin87
30.10.13
✎
13:53
|
(32) Тоже нет
|
|||
34
spapin87
30.10.13
✎
13:53
|
Может как-то по другому попробовать сделать отбор?
|
|||
35
vicof
30.10.13
✎
14:20
|
Форма = Документы.ЗаказПокупателя.ПолучитьФормуВыбора(,Элемент,);
Отбор = Форма.ДокументСписок.Отбор; Отбор["Организация"].Использование = Истина; Отбор["Организация"].Значение = Организация; Отбор["Организация"].ВидСравнения = ВидСравнения.Равно; Отбор["Контрагент"].Использование = Истина; Отбор["Контрагент"].Значение = Контрагент; Отбор["Контрагент"].ВидСравнения = ВидСравнения.Равно; Отбор["ДоговорКонтрагента"].Использование = Истина; Отбор["ДоговорКонтрагента"].Значение = ДоговорКонтрагента; Отбор["ДоговорКонтрагента"].ВидСравнения = ВидСравнения.Равно; Форма.ЭлементыФормы.ДокументСписок.НастройкаОтбора.Организация.Доступность = Ложь; Форма.ЭлементыФормы.ДокументСписок.НастройкаОтбора.Контрагент.Доступность = Ложь; Форма.ЭлементыФормы.ДокументСписок.НастройкаОтбора.ДоговорКонтрагента.Доступность = Ложь; |
|||
36
spapin87
30.10.13
✎
14:40
|
vicof большое спасибо за пример!
Сделал так и все взлетело: Если Не ПустаяСтрока(контрагент) Тогда СтандартнаяОбработка = Ложь; Форма = Справочники.ФизическиеЛица.ПолучитьФормуВыбора(,Элемент,); Отбор = Форма.СправочникСписок.Отбор; Отбор["Организация"].Использование = Истина; Отбор["Организация"].Значение = Контрагент; Отбор["Организация"].ВидСравнения = ВидСравнения.Равно; Форма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Организация.Доступность = Ложь; Форма.Открыть(); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |