|
Не заполняется контактная информация при вводе контрагента через помощника. | ☑ | ||
---|---|---|---|---|
0
Смотрящий от 1С
09.06.20
✎
18:55
|
УТ 11.4.11.93 Обратились менеджеры. Пропадают контакты при вводе контрагентов. При вводе заказа заносят нового партнера с помощью помощника.
Выбирают галку одновременного создания контрагента. (В конфе стоит настройка "независимо вести партнеров и контрагентов"). Поля емейл и телефон обязательны к заполнению. Заносят наименование, емейл и телефон. Далее прощелкивают все окна. После записи партнера в него записывается только почта. Телефон пропадает. Для телефона на его форме даже поля нет для добавления. Смотрим созданного контрагента. У него вообще никакие контакты не добавляются. Посмотрел код. При создании контрагента в контакты пытаются добавить "ТелефонКонтрагента". Такого реквизита даже на форме нет! Поменял на ТелефонПартнера и телефон записался. Почту контрагенту даже и не пытались добавить!!. Дописал добавление почты контрагенту. Хотел заодно добавить телефон партнеру, но не получилось. В коде при создании партнера по аналогии с почтой заполняю строчку ТЧ контактной информации с телефоном. О отладчике один в один как и почта. На форму вытащил ТЧ с контактной информацией. При открытии телефон есть. После повторного открытия его уже нет. Только почта. Похоже он где то при записи дальше режется как ненужный контакт. Я в недоумении. Как то криво все выглядит. Почту тупо выбрасывают из контрагента. Партнеру не дают записать телефон. Все с этим живут или я что то просмотрел и все работает великолепно? |
|||
1
DJ Anthon
09.06.20
✎
19:37
|
там много косяков, я переписывал. контактные лица могут быть не только у юрлиц. кое-что блочится. не вводится много нужных данных. но это наша специфика, не знаю, как у других.
|
|||
2
DJ Anthon
09.06.20
✎
19:41
|
там мало добавлять на форму, там надо всю логику понять, а она адовая.
например, вот код добавления ввода должности у физлиц через расширение &НаСервере &Вместо("ЗаполнитьИтоговуюИнформацию") Процедура А_ЗаполнитьИтоговуюИнформацию() // Вставить содержимое метода. ПродолжитьВызов(); Если УказатьДанныеКонтактногоЛица И ЭтоКомпания = 1 Тогда ИтоговаяИнформация = ИтоговаяИнформация + "<p><br><strong>Данные контакного лица:</strong><br>Отношение: <em>#Отношение#<br></em>ФИО: <em>#ФИО#<br></em>E-mail: <em>#АдресЭПКЛ#<br></em>Телефон: <em>#ТелефонКЛ#</em><br>Мобильный телефон: <em>#МобильныйТелефонКЛ# #РКЛ#</em><br>Роль:<em> #Роль# #РКЛ#<br></em></p>"; ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#ФИО#",ФИО_ОднойСтрокой(ФамилияКЛ, ИмяКЛ, ОтчествоКЛ)); ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#АдресЭПКЛ#" ,АдресЭПКЛ); ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#ТелефонКЛ#", ТелефонКЛ); ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#Отношение#", Отношение); ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#МобильныйТелефонКЛ#", МобильныйТелефонКЛ); Если ПолучитьФункциональнуюОпцию("ИспользоватьРолиКонтактныхЛицПартнеров") Тогда ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#Роль#", Роль); ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "#РКЛ#", ""); Иначе ОбщегоНазначенияУТКлиентСервер.УдалитьИзСтрокиПодстроку(ИтоговаяИнформация, "#РКЛ#"); КонецЕсли; Если НЕ ПустаяСтрока(Отношение) Тогда ИтоговаяИнформация = СтрЗаменить(ИтоговаяИнформация, "Отношение: ", ?(ЭтоКомпания = 0, "Должность: ", "Отношение: ")); КонецЕсли; КонецЕсли; КонецПроцедуры &НаСервере &Вместо("ЗаписатьПартнераИСвязанныеДанные") Процедура А_ЗаписатьПартнераИСвязанныеДанные(СписокСозданных) // Вставить содержимое метода. ПродолжитьВызов(СписокСозданных); Если ЭтоКомпания = 1 И УказатьДанныеКонтактногоЛица И НЕ ПустаяСтрока(ФамилияКЛ) Тогда ОбъектКонтактноеЛицо = Справочники.КонтактныеЛицаПартнеров.СоздатьЭлемент(); ОбъектКонтактноеЛицо.Владелец = ПартнерВыбор; ОбъектКонтактноеЛицо.ДатаРегистрацииСвязи = ТекущаяДатаСеанса(); ОбъектКонтактноеЛицо.Наименование = ФИО_ОднойСтрокой(ФамилияКЛ, ИмяКЛ, ОтчествоКЛ); ОбъектКонтактноеЛицо.Автор = Пользователи.ТекущийПользователь(); ОбъектКонтактноеЛицо.ДолжностьПоВизитке = Отношение; Если Не Роль.Пустая() Тогда СтрокаРоли = ОбъектКонтактноеЛицо.РолиКонтактногоЛица.Добавить(); СтрокаРоли.РольКонтактногоЛица = Роль; КонецЕсли; Если Не ПустаяСтрока(АдресЭПКЛ) Тогда НоваяСтрокаКИ = ОбъектКонтактноеЛицо.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты; НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица; НоваяСтрокаКИ.Представление = АдресЭПКЛ; НоваяСтрокаКИ.Значение = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(НоваяСтрокаКИ.Представление, НоваяСтрокаКИ.Вид); НоваяСтрокаКИ.ЗначенияПолей = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВXML(НоваяСтрокаКИ.Значение, НоваяСтрокаКИ.Представление, НоваяСтрокаКИ.Вид); НоваяСтрокаКИ.АдресЭП = АдресЭПКЛ; Поз = СтрНайти(АдресЭПКЛ, "@"); Если Поз <> 0 Тогда НоваяСтрокаКИ.ДоменноеИмяСервера = Сред(АдресЭПКЛ, Поз+1); КонецЕсли; КонецЕсли; Если ЗначенияПолейВСписокЗначений(ТелефонКЛЗначенияПолей).Количество()> 0 Тогда НоваяСтрокаКИ = ОбъектКонтактноеЛицо.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон; НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтактногоЛица; НоваяСтрокаКИ.Представление = ТелефонКЛ; НоваяСтрокаКИ.ЗначенияПолей = ТелефонКЛЗначенияПолей; НоваяСтрокаКИ.Значение = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(ТелефонКЛЗначенияПолей); КонецЕсли; Если ЗначенияПолейВСписокЗначений(МобильныйТелефонКЛЗначенияПолей).Количество()> 0 Тогда НоваяСтрокаКИ = ОбъектКонтактноеЛицо.КонтактнаяИнформация.Добавить(); НоваяСтрокаКИ.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон; НоваяСтрокаКИ.Вид = Справочники.ВидыКонтактнойИнформации.МобильныйТелефонКонтактногоЛица; НоваяСтрокаКИ.Представление = МобильныйТелефонКЛ; НоваяСтрокаКИ.ЗначенияПолей = МобильныйТелефонКЛЗначенияПолей; НоваяСтрокаКИ.Значение = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияВJSON(МобильныйТелефонКЛЗначенияПолей); КонецЕсли; ОбъектКонтактноеЛицо.Записать(); СписокСозданных.Добавить(ПолучитьНавигационнуюСсылку(ОбъектКонтактноеЛицо.Ссылка), ОбъектКонтактноеЛицо.Наименование); КонецЕсли; КонецПроцедуры &НаКлиентеНаСервереБезКонтекста &Вместо("УстановитьДоступностьДанныхКонтактногоЛица") Процедура А_УстановитьДоступностьДанныхКонтактногоЛица(Форма) // Вставить содержимое метода. ПродолжитьВызов(Форма); МассивЭлементов = Новый Массив; МассивЭлементов.Добавить("Отношение"); ОбщегоНазначенияУТКлиентСервер.УстановитьСвойствоЭлементовФормы(Форма.Элементы, МассивЭлементов, "Доступность", Форма.УказатьДанныеКонтактногоЛица); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |