|
Управляемые формы Запись реквизита элемента справочника табличной части | ☑ | ||
---|---|---|---|---|
0
DenisVich
24.04.20
✎
19:15
|
Здравствуйте уважаемые форумчане. Есть справочник физические лица в нем есть табличная часть контактная информация, пытаюсь записать через свою обработку, ничего не получается.Элемент справочника если смотреть через отладчик записан, но в элементе формы он не отображается. В чем может быть проблема? Спасибо.
Вот код: " &НаСервере Процедура ИзвлечьФИОEMAIL(стр) Разделитель = СтрНайти(стр,Символы.Таб); ФИО = Лев(стр, Разделитель - 1); Стр1 = СтрЗаменить(стр,ФИО,""); Стр1 = СтрЗаменить(стр1," ",""); Стр1 = СтрЗаменить(стр1,Символы.Таб,""); EMail = Стр1; СсылкаНаФизлицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(ФИО).ПолучитьОбъект(); Для Каждого ЭлементСтроки Из СсылкаНаФизлицо.КонтактнаяИнформация Цикл Если СокрЛП(ЭлементСтроки.Вид) = "Email физ. лица" Тогда ЭлементСтроки.Представление = email; ЭлементСтроки.ЗначенияПолей = email;// "value": "Представление=" ЭлементСтроки.Значение = СтрЗаменить(ЭлементСтроки.Значение,"Представление=",""); КонецЕсли; КонецЦикла; СсылкаНаФизлицо.Записать(); КонецПроцедуры &НаКлиенте Процедура ЗагрузитьИзФайла(Команда) //ЗагрузитьИзФайлаНаСервере(); // Вставить содержимое обработчика. Перем Стр; Стр = ""; //Открываем диалог выбора файла для чтения ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ВыборФайла.МножественныйВыбор = Ложь; ВыборФайла.Заголовок = НСтр("Выбор файла"); ВыборФайла.Фильтр = НСтр( "Все файлы (*.*)|*.*"); Если ВыборФайла.Выбрать() Тогда ПолноеИмяФайла = ВыборФайла.ПолноеИмяФайла; Иначе Возврат; КонецЕсли; Текст = Новый ЧтениеТекста; Текст.Открыть(ПолноеИмяФайла); Пока Стр <> Неопределено Цикл // строки читаются до символа перевода строки Стр = Текст.ПрочитатьСтроку(); ИзвлечьФИОEMAIL(Стр); Сообщить(Стр); КонецЦикла; Текст.Закрыть(); КонецПроцедуры " содержимое текстового файла: Иванов Иван Иванович [email protected] Сидоров Иван Иванович [email protected] |
|||
1
RomanYS
24.04.20
✎
19:19
|
Может в ЗначенияПолей что-то структурированное ожидается
|
|||
2
DenisVich
24.04.20
✎
19:22
|
ЭлементСтроки.Значение - там хранится в определенных тегах все
ЭлементСтроки.ЗначенияПолей - там просто строка Повторюсь. Данные записываются. Они хранятся там. Можно запросом выборку сделать. Но на форме ничего нет. |
|||
3
DenisVich
24.04.20
✎
19:22
|
Я знаю что особенность управляемых форм, но как это победить?
|
|||
4
RomanYS
24.04.20
✎
19:32
|
(2) Вот пример что должно быть
ЗначенияПолей <КонтактнаяИнформация xmlns="http://www.v8.1c.ru/ssl/contactinfo" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Представление="[email protected]"><Состав xsi:type="ЭлектроннаяПочта" Значение="[email protected]"/></КонтактнаяИнформация> АдресЭП [email protected] ДоменноеИмяСервера test.ru Значение "{ ""value"": ""[email protected]"", ""comment"": """", ""type"": ""АдресЭлектроннойПочты"" }" |
|||
5
RomanYS
24.04.20
✎
19:33
|
(3) Если после переоткрытия не появляется значит проблема не в УФ, а в (4)
|
|||
6
DenisVich
28.04.20
✎
14:22
|
(5) Спасибо. Но не помоголо. Есть догадки, что все-таки дело в работе с функциями БСП, которые встроены в конфигурацию. Модули УправлениеКонтактной информацией. Подскажите пожалуйста какими методами нужно пользоваться при работе с УправлениеКонтактнойИнформацией.
" &НаСервере Процедура ИзвлечьФИОEMAIL(стр) Разделитель = СтрНайти(стр,Символы.Таб); ФИО = Лев(стр, Разделитель - 1); Стр1 = СтрЗаменить(стр,ФИО,""); Стр1 = СтрЗаменить(стр1," ",""); EMail = СтрЗаменить(стр1,Символы.Таб,""); ЗначениеСтроки="{"+Символы.ПС+Символ(34)+Символ(34)+"value"+Символ(34)+Символ(34)+": "+Символ(34)+Символ(34)+EMail+Символ(34)+Символ(34)+","+ +Символы.ПС+Символ(34)+Символ(34)+"comment"+Символ(34)+Символ(34)+": "+Символ(34)+Символ(34)+Символ(34)+Символ(34)+"," +Символ(34)+Символ(34)+"type"+": "+Символ(34)+Символ(34)+"АдресЭлектроннойПочты"+Символ(34)+Символы.ПС+"}"; ЗначенияПолей = "<КонтактнаяИнформация xmlns="+Символ(34)+"http://www.v8.1c.ru/ssl/contactinfo"+Символ(34)+"; xmlns:xs="+Символ(34)+"http://www.w3.org/2001/XMLSchema"+Символ(34)+"; xmlns:xsi="+Символ(34)+"http://www.w3.org/2001/XMLSchema-instance"+Символ(34)+"; Представление="+Символ(34)+EMail+Символ(34)+"><Состав xsi:type="+Символ(34)+"ЭлектроннаяПочта"+Символ(34)+ "Значение="+Символ(34)+Email+Символ(34)+"/></КонтактнаяИнформация>"; СсылкаНаФизлицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(ФИО).ПолучитьОбъект(); Для Каждого ЭлементСтроки Из СсылкаНаФизлицо.КонтактнаяИнформация Цикл Если СокрЛП(ЭлементСтроки.Вид) = "Email физ. лица" или СокрЛП(ЭлементСтроки.Вид) = "Электронная почта" Тогда ЭлементСтроки.Представление = email; ЭлементСтроки.ЗначенияПолей = ЗначенияПолей;// "value": "Представление=" ЭлементСтроки.Значение = ЗначениеСтроки;//СтрЗаменить(ЭлементСтроки.Значение,"Представление=",""); ДанныеЗаполнения = УправлениеКонтактнойИнформацией.НоваяКонтактнаяИнформация(Ложь); СтрокаЗаполнения = ДанныеЗаполнения.Добавить(); СтрокаЗаполнения.Вид = ЭлементСтроки.Вид; СтрокаЗаполнения.Тип = ЭлементСтроки.Тип; СтрокаЗаполнения.ЗначенияПолей = ЭлементСтроки.ЗначенияПолей; СтрокаЗаполнения.Представление = ЭлементСтроки.Представление; //СтрокаЗаполнения.Значение = КИ.Значение; Попытка УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(Объект, ДанныеЗаполнения); Исключение КонецПопытки; КонецЕсли; КонецЦикла; СсылкаНаФизлицо.Записать(); КонецПроцедуры " |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |