Отследить Изменение контактной информации на форме
Здравствуйте.
Стоит задача в документ встроить Подсистему "Контактная информация " в табличную часть документа и при проведении (при записи) документа прописывать это адрес в Справочнике (справочник Свой - "КАССЫ").
Что получилось :
1) интегрировать Подсистему "Контактная информация " в табличную часть документа +
2) интегрировать Подсистему "Контактная информация " Справочник +
3) при проведении записывает в справочник Контактную информацию +
4) сделал контроль даты так как хранятся изменения в разрезе дат
Не получилось :
При изменении адреса в документе . нужно сравнить адреса который сейчас с Справочнике и тот который в элементе формы , но как его от туда получить гне понимаю .... Так как измененный документ ещё не сохранен из объекта документа я его вытащить не могу ... а после записи не могу Так как нужно задать вопрос о смене адреса , это нужно делать "на Клиенте" поэтому и представление адреса нужно получить на клиенте.
Перехватить событие изменение Контактной информации на клиенте не получается- только "При начале выбора", а нужно после выбора (в обработку выбора отладчик не уходит) сразу после выбора уходить на "Обновить контактную информацию" но она уже "На сервере"
Есть идеи? на УФ новичек не ругайте сильно
Стоит задача в документ встроить Подсистему "Контактная информация " в табличную часть документа и при проведении (при записи) документа прописывать это адрес в Справочнике (справочник Свой - "КАССЫ").
Что получилось :
1) интегрировать Подсистему "Контактная информация " в табличную часть документа +
2) интегрировать Подсистему "Контактная информация " Справочник +
3) при проведении записывает в справочник Контактную информацию +
4) сделал контроль даты так как хранятся изменения в разрезе дат
Не получилось :
При изменении адреса в документе . нужно сравнить адреса который сейчас с Справочнике и тот который в элементе формы , но как его от туда получить гне понимаю .... Так как измененный документ ещё не сохранен из объекта документа я его вытащить не могу ... а после записи не могу Так как нужно задать вопрос о смене адреса , это нужно делать "на Клиенте" поэтому и представление адреса нужно получить на клиенте.
Перехватить событие изменение Контактной информации на клиенте не получается- только "При начале выбора", а нужно после выбора (в обработку выбора отладчик не уходит) сразу после выбора уходить на "Обновить контактную информацию" но она уже "На сервере"
Есть идеи? на УФ новичек не ругайте сильно
По теме из базы знаний
- 1С:MDM Управление нормативно-справочной информацией - цена лицензий от 260000 руб.
- Автозадачи
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Менеджер продаж, внешняя обработка для 1С: Бухгалтерии предприятия, редакция 3.0
- Контрагенты с контактной информацией и долгами – УТ 11.5, КА 2.5, ЕРП 2.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Чаще всего отладка срывается из-за вот таких конструкций
и
И еще несколько таких же по смыслу.
Соответственно указана функция которая будет вызвана которая указана, вот в ней и стоит ставить точку останова и ловить окончание операции.
Оповещение = Новый ОписаниеОповещения("ВопросЗаполнитьДокументЗавершение", ЭтотОбъект);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
и
ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", 1, Истина);
ФормаДлительнойОперации = ДлительныеОперацииКлиент.ОткрытьФормуДлительнойОперации(ЭтаФорма, ИдентификаторЗадания);
И еще несколько таких же по смыслу.
Соответственно указана функция которая будет вызвана которая указана, вот в ней и стоит ставить точку останова и ловить окончание операции.
(2)
была такая конструкция ... закомментировал , но все ровно отладку не могу выципить ... скрин во вложении , как получить Адрес из ТЧ
Чаще всего отладка срывается из-за вот таких конструкций
Оповещение = Новый ОписаниеОповещения("ВопросЗаполнитьДокументЗавершение", ЭтотОбъект);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
Оповещение = Новый ОписаниеОповещения("ВопросЗаполнитьДокументЗавершение", ЭтотОбъект);
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
была такая конструкция ... закомментировал , но все ровно отладку не могу выципить ... скрин во вложении , как получить Адрес из ТЧ
Прикрепленные файлы:

////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ ПОДСИСТЕМЫ "КОНТАКТНАЯ ИНФОРМАЦИЯ"
// СтандартныеПодсистемы.КонтактнаяИнформация
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриИзменении(Элемент)
УправлениеКонтактнойИнформациейКлиент.ПриИзменении(ЭтотОбъект, Элемент);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияПриНажатии(Элемент, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОчистка(Элемент, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.Очистка(ЭтотОбъект, Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияВыполнитьКоманду(Команда)
УправлениеКонтактнойИнформациейКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда.Имя);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.АвтоПодборАдреса(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.ОбработкаВыбора(ЭтотОбъект, ВыбранноеЗначение, Элемент.Имя, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияОбработкаНавигационнойСсылк<wbr>и(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.ОбработкаНавигационнойСсылки(ЭтотОбъект, Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ЗначенияПолейКонтактнойИнформацииСервер(Знач Представление, Знач ВидКонтактнойИнформации, Знач Комментарий = Неопределено)
// Создаем новый экземпляр по представлению.
Результат = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(Представление, ВидКонтактнойИнформации);
Возврат Результат;
КонецФункции
// Конец СтандартныеПодсистемы.КонтактнаяИнформация
Показать
ловиться тут до выбора значением
а после изменения , сразу тут
&НаКлиенте
Процедура Подключаемый_КонтактнаяИнформацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
УправлениеКонтактнойИнформациейКлиент.НачалоВыбора(ЭтотОбъект, Элемент, , СтандартнаяОбработка);
КонецПроцедуры
а после изменения , сразу тут
&НаСервере
Процедура Подключаемый_ОбновитьКонтактнуюИнформацию(Результат)
УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию(ЭтотОбъект, Объект, Результат);
КонецПроцедуры
(6)
Вот тут и лови. У ЭтотОбъект свойство адреса до вызова УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию значение старое, сохраняешь в переменную. А после вызова значение новое сравниваешь с переменной.
Подскажите где именно ловить? какое свойство ? как его выделить ? перелопатил не нашел
Вот тут и лови. У ЭтотОбъект свойство адреса до вызова УправлениеКонтактнойИнформацией.ОбновитьКонтактнуюИнформацию значение старое, сохраняешь в переменную. А после вызова значение новое сравниваешь с переменной.
Подскажите где именно ловить? какое свойство ? как его выделить ? перелопатил не нашел
Прикрепленные файлы:

Так как Обработка идет на сервере . Данные форма тут не доступны ! а в Объект эти данные ещё не попадают. так как объект не записан ..
Попробовал ПРИ Изменении табличной части НО Сюда обработка не попадает если менять Адрес, если что то другое менять то обработку тут стопается .
Попробовал ПРИ Изменении табличной части НО Сюда обработка не попадает если менять Адрес, если что то другое менять то обработку тут стопается .
&НаКлиенте
Процедура КассыНаРегистрациюПриИзменении(Элемент)
ДанныеСтроки = ПолучитьСтрокуДополнительныхЗначений(ЭтотОбъект, Элемент, Истина) ;
НовыйАдрес = ДанныеСтроки.Представление;
//ПроверитьАдрес(ЦТО_Касса,НомерСтрокиТЧ,ДатаРег,НовыйАдрес);
// Вставить содержимое обработчика.
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот