Имя: Пароль:
1C
1С v8
Обработка выбора
,
0 Comaro
 
18.06.15
11:55
День добрый! Такая ситуация: на форме внешней обработки указываю контрагента, затем указываю договор, договор открывается с отбором по владельцу (контрагент). Для того, чтобы выбрать, я так понимаю нужно воспользоваться обработкой выбора, привязываю эту процедуру к договору, но не попадаю в эту процедуру. Что не так, подскажите?
1 Poluk
 
18.06.15
11:57
не совсем понятно... какова постановка задачи? что значит привязываю процедуру к договору?
2 Comaro
 
18.06.15
11:58
(1) Добавляю событие Обработка выбора
3 Comaro
 
18.06.15
12:00
(1) Нужно, чтобы выбранный договор попал на форму
4 Poluk
 
18.06.15
12:06
Так ты и так его вроде уже выбираешь? и он открывается... (2) Если нужно изменить стандартную обработку выбора, пиши сначала СтандартнаяОбработка=ложь;
5 Comaro
 
18.06.15
12:07
(4) Не открывается. Я пытаюсь его выбрать, форма выбора закрывается, поле договор остается пустым
6 Comaro
 
18.06.15
12:09
Процедура ДоговорКонтрагентаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
        ЗначениеОтбора = Новый Структура("Владелец", Контрагент);
ПараметрыФормы = Новый Структура("Отбор", ЗначениеОтбора);
ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыФормы);
КонецПроцедуры
7 Рэйв
 
18.06.15
12:11
(6)>>договор открывается с отбором по владельцу

Ты какойто велосипед изобретаешь:-)
Сделай реквизиту на форме "Договор" связь по владельцу с реквизитом Контрагент и больше ничего горадить не надо
8 Рэйв
 
18.06.15
12:12
Если УФ, то настрой Связи параметров выбора
9 Альбатрос
 
18.06.15
12:12
(7) +1
10 Poluk
 
18.06.15
12:14
У поля договор какой тип данных?
11 Poluk
 
18.06.15
12:15
(6) ты в этом обработчике просто форму выбора открываешь, а нужно результат выбора присвоить в элемент.значение..
12 Comaro
 
18.06.15
12:18
(8) Так было до этого без велосипеда) но не работало. При нажатии F4 вообще не выдает никакого списка. В Связях указано: Имя - отбор.Владелец, реквизит - контрагент,
13 Poluk
 
18.06.15
12:18
(6) Правильно делать как написано в (7), но если хочешь через обработчик, пиши
ДанныеВыбора= открытьФормуМодально(...);
Если ДанныеВыбора<>Неопределно Тогда
Элемент.Значение =ДанныеВыбора;
КонецЕсли;
Либо через обработкуОповещения(), Если модально нельзя открывать...
14 crotnn
 
18.06.15
12:23
(6) Правильный ответ в (7) и (8). Но если приспичило программно поуправлять отбором, то третьим параметров в ОткрытьФорму надо передать Элемент. И стандартную обработку отметить
15 Comaro
 
18.06.15
12:28
Отбор то как надо показывает, а вот выбрать не могу. Через обработку оповещения это же метод Оповестить о выборе? Его же нужно в процедуру обработка выбора?
16 Comaro
 
18.06.15
12:30
&НаКлиенте
Процедура ДоговорКонтрагентаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    ЗначениеОтбора = Новый Структура("Владелец", Контрагент);
    ПараметрыФормы = Новый Структура("Отбор", ЗначениеОтбора);
    ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыФормы);
    ДоговорКонтрагента =ДанныеВыбора;
КонецПроцедуры

&НаКлиенте
Процедура ДоговорКонтрагентаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    ОповеститьОВыборе(Элемент);
КонецПроцедуры
17 Poluk
 
18.06.15
12:32
Нет, Погугли пример использования ОбработкиОповещения, там все понятно будет, либо Документацию кури.... но в твоем случае ОткрытьМодально прокатит....
18 Poluk
 
18.06.15
12:34
Форма открытая модально, возвращает выбранное значение, при закрытии без выбора возвращает "неопределено"...
19 Comaro
 
18.06.15
12:37
(18) использование модальных окон в данном режиме запрещено в моем случае(
20 ЛисИзЛеса
 
18.06.15
12:55
Там в конфе два дока
КакНадо и ИзвращеннымСпособом
открывай и смотри код
http://rusfolder.com/43827271
21 ЛисИзЛеса
 
18.06.15
13:00
И в доке КакНадо можно связать между собой договор и контрагент...
22 ЛисИзЛеса
 
18.06.15
13:09
И эта... на Сервер  можно не лазить :)
а прям на клиенте в НамахаимТутаСаблей
Объект.Договор=Результат;
23 Comaro
 
18.06.15
13:20
(22) Спасибо тебе, Лис, так я тоже указываю Отбор.Владелец(Контрагент), но, когда пытаюсь зайти в форму  выбора ничегошечки не происходит(
24 ЛисИзЛеса
 
18.06.15
13:38
(23) Контрагенты является владельцем Договоров?
25 chelentano
 
18.06.15
13:45
(16) ОткрытьФорму("Справочник.ДоговорыКонтрагентов.ФормаВыбора", ПараметрыФормы, Элемент)

И не надо больше ничего дополнительно писать
26 Comaro
 
18.06.15
14:00
(24) конечно, ведь это типовая бухня)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс