M_Volkov
Gold Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору // Функция определяет вид объекта контактной информации // // Параметры // ОбъектСсылка - Ссылка на объект контактной информации // Возвращаемые значения // Возвращается ссылка на перечисление ВидыОбъектовКонтактнойИнформации, // соответствующее параметру ОбъектСсылка Функция ВидОбъектаКИ(ОбъектСсылка) Экспорт Если ОбъектСсылка = Неопределено Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.ПустаяСсылка(); ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.Контрагенты") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.Контрагенты; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.ФизическиеЛица") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.ФизическиеЛица; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.КонтактныеЛица") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.КонтактныеЛица; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.Организации") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.Организации; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.Пользователи") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.Пользователи; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.КонтактныеЛицаКонтрагентов") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.КонтактныеЛицаКонтрагентов; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.ЛичныеКонтакты") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.ЛичныеКонтакты; ИначеЕсли ТипЗнч(ОбъектСсылка) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.ДоговорыКонтрагентов; // для адреса доставки в договоре. 08.07.2011 МВ. Иначе Возврат Перечисления.ВидыОбъектовКонтактнойИнформации.ПустаяСсылка(); КонецЕсли; КонецФункции // ВидОбъектаКИ() /////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ МЕХАНИЗМА КОНТАКТНОЙ ИНФОРМАЦИИ // из ФормаЭлемента.Контрагенты для адреса доставки. 08.07.2011 МВ. // Обработчик события Нажатие элемента формы КоманднаяПанельКонтактнойИнформации.РедактироватьВДиалоге. // Процедура КоманднаяПанельКонтактнойИнформацииРедактироватьВДиалоге(Кнопка) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияРедактироватьВДиалоге(Кнопка); КонецПроцедуры // Обработчик события ПриНачалеРедактирования элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПриНачалеРедактирования(Элемент, НоваяСтрока) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПриНачалеРедактированияОбщая(Элемент, НоваяСтрока, мПоследнееЗначениеЭлементаПоискаПоСтрокеВидаКИ); КонецПроцедуры // Обработчик события НачалоВыбора элемента формы КонтактнаяИнформация.Представление. // Процедура КонтактнаяИнформацияПредставлениеНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОбработкаРедактирования = Обработки.РедактированиеКонтактнойИнформации.Создать(); // ОбработкаРедактирования.ДоступностьОбъекта = Ложь; ОбработкаРедактирования.ДоступностьОбъекта = Истина; ОбработкаРедактирования.РедактироватьЗапись(ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные, , ЭтаФорма); КонецПроцедуры // Обработчик события Очистка элемента формы КонтактнаяИнформация,Тип. // Процедура КонтактнаяИнформацияТипОчистка(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; КонецПроцедуры // Обработчик события НачалоВыбора элемента формы КонтактнаяИнформация.Вид. // Процедура КонтактнаяИнформацияВидНачалоВыбора(Элемент, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; УправлениеКонтактнойИнформацией.ОткрытьФормуВыбораВидаКИ(Истина, Элемент, ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные.Тип, УправлениеКонтактнойИнформацией.ВидОбъектаКИ(Ссылка)); КонецПроцедуры // Обработчик события ПриИзменении элемента формы КонтактнаяИнформация.Вид. // Процедура КонтактнаяИнформацияВидПриИзменении(Элемент) Если Элемент.Значение = Неопределено Тогда Элемент.Значение = Справочники.ВидыКонтактнойИнформации.ПустаяСсылка(); КонецЕсли; мПоследнееЗначениеЭлементаПоискаПоСтрокеВидаКИ = Элемент.Значение; КонецПроцедуры // Обработчик события АвтоПодборТекста элемента формы КонтактнаяИнформация.Вид. // Процедура КонтактнаяИнформацияВидАвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка) ПроцедурыПоискаПоСтроке.АвтоПодборТекстаВЭлементеУправления(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка, Новый Структура("Тип, ВидОбъектаКонтактнойИнформации", ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные.Тип, УправлениеКонтактнойИнформацией.ВидОбъектаКИ(Ссылка)), Тип("СправочникСсылка.ВидыКонтактнойИнформации")); КонецПроцедуры // Обработчик события ОкончаниеВводаТекста элемента формы КонтактнаяИнформация.Вид. // Процедура КонтактнаяИнформацияВидОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) ПроцедурыПоискаПоСтроке.ОкончаниеВводаТекстаВЭлементеУправления(Элемент, Текст, Значение, СтандартнаяОбработка, Новый Структура("Тип, ВидОбъектаКонтактнойИнформации", ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные.Тип, УправлениеКонтактнойИнформацией.ВидОбъектаКИ(Ссылка)), ЭтаФорма, Тип("СправочникСсылка.ВидыКонтактнойИнформации"), мОбработкаПоискаПоСтрокеВидаКИ, мТекстПоискаПоСтрокеВидаКИ, мПоследнееЗначениеЭлементаПоискаПоСтрокеВидаКИ); КонецПроцедуры // Обработчик события ПередОкончаниемРедактирования элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ) Если Не ОтменаРедактирования Тогда УправлениеКонтактнойИнформацией.ПроизвестиПопыткуЗаблокироватьОбъект(ЭтотОбъект, ЭтаФорма); КонецЕсли; УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПередОкончаниемРедактированияОбщая(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ, мТекстПоискаПоСтрокеВидаКИ, мОбработкаПоискаПоСтрокеВидаКИ); КонецПроцедуры // Обработчик события ПриИзменении элемента формы КонтактнаяИнформация.Представление. // Процедура КонтактнаяИнформацияПредставлениеПриИзменении(Элемент) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПредставлениеПриИзмененииОбщая(Элемент, ЭлементыФормы.КонтактнаяИнформация); УправлениеКонтактнойИнформацией.СкопироватьАдресКонтактнойИнформации(ЭлементыФормы.КонтактнаяИнформация.ТекущиеДанные, НаборКонтактнойИнформации); КонецПроцедуры // Обработчик события Нажатие элемента формы КоманднаяПанельКонтактнойИнформации.УстановитьОсновным. // Процедура КоманднаяПанельКонтактнойИнформацииУстановитьОсновным(Кнопка) УправлениеКонтактнойИнформацией.УстановитьЗаписьОсновной(НаборКонтактнойИнформации, ЭлементыФормы.КонтактнаяИнформация, Кнопка); КонецПроцедуры // Обработчик события ПриАктивизацииСтроки элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПриАктивизацииСтроки(Элемент) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПриАктивизацииСтрокиТаблицы(Элемент, ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация.Кнопки.УстановитьОсновным); КонецПроцедуры // Обработчик события ПриВыводеСтроки элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки); КонецПроцедуры // Обработчик события ПередУдалением элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПередУдалением(Элемент, Отказ) УправлениеКонтактнойИнформацией.ПроизвестиПопыткуЗаблокироватьОбъект(ЭтотОбъект, ЭтаФорма); УправлениеКонтактнойИнформацией.УдалитьЗаписьКонтактнойИнформации(Элемент, Отказ); КонецПроцедуры // Обработчик события ПередНачаломДобавления элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПередНачаломДобавления(Элемент, Отказ, Копирование) УправлениеКонтактнойИнформацией.ПроизвестиПопыткуЗаблокироватьОбъект(ЭтотОбъект, ЭтаФорма); УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПередНачаломДобавленияОбщее(Элемент, Отказ, Копирование, мКнопкаРедактироватьКИВДиалоге, ЭлементыФормы.КонтактнаяИнформация, НаборКонтактнойИнформации,, ЭтаФорма); КонецПроцедуры // Обработчик события ПередНачаломИзменения элемента формы КонтактнаяИнформация. // Процедура КонтактнаяИнформацияПередНачаломИзменения(Элемент, Отказ) Сообщить("Элемент.Объект = "+Элемент.ТекущиеДанные.Объект+", ЭтотОбъект = "+ЭтотОбъект+", мКнопкаРедактироватьКИВДиалоге = "+мКнопкаРедактироватьКИВДиалоге); УправлениеКонтактнойИнформацией.ПроизвестиПопыткуЗаблокироватьОбъект(ЭтотОбъект, ЭтаФорма); // УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПередНачаломИзмененияОбщее(Элемент, Отказ, мКнопкаРедактироватьКИВДиалоге, Ложь, ЭтаФорма); УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПередНачаломИзмененияОбщее(Элемент, Отказ, мКнопкаРедактироватьКИВДиалоге,, ЭтаФорма); КонецПроцедуры // Обработчик события ПриИзменении элемента формы КонтактнаяИнформация.Тип. // Процедура КонтактнаяИнформацияТипПриИзменении(Элемент) УправлениеКонтактнойИнформацией.КонтактнаяИнформацияТипПриИзмененииОбщее(Элемент, ЭлементыФормы.КонтактнаяИнформация); КонецПроцедуры |