0
dkdimon
22.07.13
✎
23:01
|
Всем привет!
Простая форма, на которой 2 поля ввода, первое типа "Справочник.Контрагенты", второе - "Справочник.БанковскиеСчета".
Код:
Перем СтарыйКонтрагент;
Процедура ПриНачалеВыбораЗначения(ЭлементДиалога, ФлагСтандОбр)
Если ЭлементДиалога = "Счет" Тогда
ОткрытьФорму("Справочник.БанковскиеСчета.ФормаСписка", Контрагент);
ФлагСтандОбр = 0;
КонецЕсли;
КонецПроцедуры
Процедура ПриИзмененииКонтрагента()
Если СтарыйКонтрагент <> Контрагент Тогда
СтарыйКонтрагент = Контрагент;
Счет = "";
Если Контрагент.ЮрФизЛицо.Выбран() = 1 Тогда
Счет = Контрагент.ОсновнойСчет;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаВыбораЗначения(Значение, ЭлементДиалога, ФлагПродолжения)
Если ЭлементДиалога = "Контрагент" Тогда
Если Контрагент <> Значение Тогда
Контрагент = Значение;
ПриИзмененииКонтрагента();
ФлагПродолжения = 0;
КонецЕсли;
ИначеЕсли ЭлементДиалога = "Счет" Тогда
Если Контрагент.ЮрФизЛицо <> Значение.ЮрФизЛицо Тогда
СпрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
Если СпрКонтрагенты.НайтиПоРеквизиту("ЮрФизЛицо", Значение.ЮрФизЛицо, 1) = 1 Тогда
Контрагент = СпрКонтрагенты.ТекущийЭлемент();
Иначе
Контрагент = "";
КонецЕсли;
ПриИзмененииКонтрагента();
КонецЕсли;
КонецЕсли
КонецПроцедуры
Т.е. при открытии счетов открываются счета выбранного Контрагента, все ок. Но если нажать на Esc в выборе счета, то сбрасывается Контрагент. Никак не могу понять где взаимосвязь! Я по сути скопировал кусок кода из документа "Платежное поручение" - там при нажатии на Esc в счетах контрагент не пропадает. Помогите, куда копать?
|
|
1
Хряк
22.07.13
✎
23:33
|
пройдись отладчиком здесь
ИначеЕсли ЭлементДиалога = "Счет" Тогда
Если Контрагент.ЮрФизЛицо <> Значение.ЮрФизЛицо Тогда
СпрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
Если СпрКонтрагенты.НайтиПоРеквизиту("ЮрФизЛицо", Значение.ЮрФизЛицо, 1) = 1 Тогда
Контрагент = СпрКонтрагенты.ТекущийЭлемент();
Иначе
Контрагент = "";
КонецЕсли;
|
|