Начало выбора. Обработчик события НачалоВыбора поля формы контактной информации.
// Обработчик события НачалоВыбора поля формы контактной информации.
// Вызывается из подключаемых действий при внедрении подсистемы "Контактная информация".
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - Форма владельца контактной информации.
// Элемент - ПолеФормы - Элемент формы, содержащий представление контактной информации.
// Модифицированность - Булево - Устанавливаемый флаг модифицированности формы.
// СтандартнаяОбработка - Булево - Устанавливаемый флаг стандартной обработки события формы.
// ПараметрыОткрытия - Структура - Параметры открытия формы ввода контактной информации.
//
Процедура НачалоВыбора(Форма, Элемент, Модифицированность = Истина, СтандартнаяОбработка = Ложь, ПараметрыОткрытия = Неопределено) Экспорт
СтандартнаяОбработка = Ложь;
Результат = Новый Структура;
Результат.Вставить("ИмяРеквизита", Элемент.Имя);
ЭтоТабличнаяЧасть = ЭтоТабличнаяЧасть(Элемент);
Если ЭтоТабличнаяЧасть Тогда
ДанныеЗаполнения = Форма.Элементы[Форма.ТекущийЭлемент.Имя].ТекущиеДанные;
Если ДанныеЗаполнения = Неопределено Тогда
Возврат;
КонецЕсли;
Иначе
ДанныеЗаполнения = Форма;
КонецЕсли;
ДанныеСтроки = ПолучитьСтрокуДополнительныхЗначений(Форма, Элемент, ЭтоТабличнаяЧасть);
// Если представление было изменено в поле и не соответствует реквизиту, то приводим в соответствие.
ОбновитьКонтекстноеМеню = Ложь;
Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
Если ДанныеЗаполнения[Элемент.Имя] <> Элемент.ТекстРедактирования Тогда
ДанныеЗаполнения[Элемент.Имя] = Элемент.ТекстРедактирования;
ПриИзмененииКонтактнойИнформации(Форма, Элемент, ЭтоТабличнаяЧасть, Ложь);
ОбновитьКонтекстноеМеню = Истина;
Форма.Модифицированность = Истина;
КонецЕсли;
ТекстРедактирования = Элемент.ТекстРедактирования;
Иначе
Если ДанныеСтроки <> Неопределено И ЗначениеЗаполнено(ДанныеСтроки.Значение) Тогда
ТекстРедактирования = Форма[Элемент.Имя];
Иначе
ТекстРедактирования = "";
КонецЕсли;
КонецЕсли;
ПараметрыКонтактнойИнформации = Форма.ПараметрыКонтактнойИнформации[ДанныеСтроки.ИмяЭлементаДляРазмещения];
ПараметрыОткрытияФормы = Новый Структура;
ПараметрыОткрытияФормы.Вставить("ВидКонтактнойИнформации", ДанныеСтроки.Вид);
ПараметрыОткрытияФормы.Вставить("Значение", ДанныеСтроки.Значение);
ПараметрыОткрытияФормы.Вставить("Представление", ТекстРедактирования);
ПараметрыОткрытияФормы.Вставить("ТолькоПросмотр", Форма.ТолькоПросмотр Или Элемент.ТолькоПросмотр);
ПараметрыОткрытияФормы.Вставить("ТипПомещения", ПараметрыКонтактнойИнформации.ПараметрыАдреса.ТипПомещения);
ПараметрыОткрытияФормы.Вставить("Страна", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Страна);
ПараметрыОткрытияФормы.Вставить("Индекс", ПараметрыКонтактнойИнформации.ПараметрыАдреса.Индекс);
ПараметрыОткрытияФормы.Вставить("КонтактнаяИнформацияОписаниеДополнительныхРеквизитов", Форма.КонтактнаяИнформацияОписаниеДополнительныхРеквизитов);
Если Не ЭтоТабличнаяЧасть Тогда
ПараметрыОткрытияФормы.Вставить("Комментарий", ДанныеСтроки.Комментарий);
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыОткрытия) И ТипЗнч(ПараметрыОткрытия) = Тип("Структура") Тогда
Для каждого ЗначениеИКлюч Из ПараметрыОткрытия Цикл
ПараметрыОткрытияФормы.Вставить(ЗначениеИКлюч.Ключ, ЗначениеИКлюч.Значение);
КонецЦикла;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ПредставлениеНачалоВыбораЗавершение", ЭтотОбъект, Новый Структура);
Оповещение.ДополнительныеПараметры.Вставить("ДанныеЗаполнения", ДанныеЗаполнения);
Оповещение.ДополнительныеПараметры.Вставить("ЭтоТабличнаяЧасть", ЭтоТабличнаяЧасть);
Оповещение.ДополнительныеПараметры.Вставить("ИмяЭлементаРазмещения", ДанныеСтроки.ИмяЭлементаДляРазмещения);
Оповещение.ДополнительныеПараметры.Вставить("ДанныеСтроки", ДанныеСтроки);
Оповещение.ДополнительныеПараметры.Вставить("Элемент", Элемент);
Оповещение.ДополнительныеПараметры.Вставить("Результат", Результат);
Оповещение.ДополнительныеПараметры.Вставить("Форма", Форма);
Оповещение.ДополнительныеПараметры.Вставить("ОбновитьКонтекстноеМеню", ОбновитьКонтекстноеМеню);
ОткрытьФормуКонтактнойИнформации(ПараметрыОткрытияФормы,, Оповещение);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПредставлениеНачалоВыбораЗавершение (БСП)
СертификатНачалоВыбораСПодтверждением (БСП)
ЗначениеДоступаНачалоВыбора (БСП)
ПредставлениеНачалоВыбора (БСП)
НачалоВыбораСертификатаПриУстановленномОтборе (БСП)
ОбработчикВыбораЭлементовБазыКорреспондентаНачалоВыбора (БСП)
ПриНачалеВыбораНастройки (БСП)
НачатьИнтервьюСВыборомШаблонаЗавершение (БСП)
ИнтернетПоддержкаИСервисы_БИПФайлКлассификаторовНачалоВыбора (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)