Имя: Пароль:
1C
1С v8
заполнение контактной информации
,
0 inanity1992
 
17.05.16
05:19
Контактная информация хранится в табличной части Справочника. При выполнение процедуры никаких ошибок нет, в отладчике видно что строка добавилась в ТЧ, а на форме ничего не отображается. В чём может быть проблема?
1 DDwe
 
17.05.16
05:32
(0) Спят телепаты еще.
2 DDwe
 
17.05.16
05:33
(0) Из ваших слов, тоже нихрена непонятно, ну и что теперь? Создать ветку - Что хотел спросить inanity1992 ?
3 inanity1992
 
17.05.16
06:00
Хочу добавить к объекту контактную информацию.
[CODE]    СтрокиНоменклатуры = "";
    
    Выборка = Справочники.ВДГБ_ОбъектыУчета.Выбрать();
    Пока Выборка.Следующий() Цикл
        
        // Выгрузить только элементы справочника
        Если  Выборка.Родитель=ГруппаСпр Тогда
            Объект=Выборка.ПолучитьОбъект();
            Вид=Справочники.ВидыКонтактнойИнформации.НайтиПоНаименованию("Фактический адрес");
            Тип= Перечисления.ТипыКонтактнойИнформации.Адрес;
            Город="Ленск г";
            Регион="Саха /Якутия/ Респ";
            Страна="РОССИЯ";
            
            УлицаСДомом=Сред(СокрЛП(Объект.Наименование), Найти(СокрЛП(Объект.Наименование), "-")+1);
            Улица=Лев (УлицаСДомом, Найти(УлицаСДомом, " "));
            ДомКорпус=Сред (УлицаСДомом, Найти(УлицаСДомом, " "));
            Если Найти(СокрЛП(ДомКорпус), " ")>0 тогда
                ДомКорпус=Лев (СокрЛП(ДомКорпус), Найти(СокрЛП(ДомКорпус), " "));
                ДомКорпус=СокрЛП(ДомКорпус);
            КонецЕсли;
            Корпус= ВыделяемКорпус (ДомКорпус);
            Дом=ВыделяемНомерДома(ДомКорпус);
            Если Корпус<>" " тогда
                Представление="678144, "+Регион+", Ленский у, "+Город+", "+СокрЛП(Улица)+" ул, дом № "+Сокрлп(дом)+" корпус "+СокрЛП(Корпус);
            иначе
                Представление="678144, "+Регион+", Ленский у, "+Город+", "+СокрЛП(Улица)+" ул, дом № "+Сокрлп(дом); //Заозерная ул, дом № 45";                
            КонецЕсли;
            
            
            //если поле Страна не заполнять, то программа при редактировании всё равно подставит Россию.
            СтруктураСтроки = Новый Структура("Тип, Страна, Вид, Представление, Регион, Город, ЗначенияПолей",
            Тип, Страна, Вид, Представление, Регион, Город, "");
            
            //Пытаемся привести представление КИ в объект XDTO для последующего преобразования в XML-представление
            ОбъектXDTOКИ = КонтактнаяИнформацияСлужебный.ДесериализацияАдреса("", СтруктураСтроки.Представление,
            СтруктураСтроки.Тип);
            
            СтруктураСтроки.ЗначенияПолей = КонтактнаяИнформацияСлужебный.СериализацияКонтактнойИнформации(ОбъектXDTOКИ);
            
            //Запись сериализованной информации в табличную часть
            ЗаполнитьЗначенияСвойств(Объект.КонтактнаяИнформация.Добавить(), СтруктураСтроки);
             Объект.Прочитать();
            Объект.Записать();
        КонецЕсли;    
    КонецЦикла;    
[/CODE]
4 inanity1992
 
17.05.16
06:01
Всё работает, в ТЧ добавляются строки, а на форме почему-то ничего не отображается.
5 Prog111
 
17.05.16
06:03
(4) А как ты видишь, что в ТЧ строки добавляются?
6 inanity1992
 
17.05.16
06:10
Через отладчик. https://yadi.sk/i/hIKO5QlVrmDLF
7 alexkv_m
 
17.05.16
06:12
Объект.Прочитать(); может убрать?
8 inanity1992
 
17.05.16
06:15
Это для отладки. Думала, может поможет.
9 Prog111
 
17.05.16
06:39
(8) А после отладки в ТЧ эти данные остаются?
10 Рэйв
 
17.05.16
06:45
Сделай вместо
ЗаполнитьЗначенияСвойств(Объект.КонтактнаяИнформация.Добавить(), СтруктураСтроки);

вто так:
Нов=Объект.КонтактнаяИнформация.Добавить();
ЗаполнитьЗначенияСвойств(Нов, СтруктураСтроки);
11 hhhh
 
17.05.16
07:24
(10) да не, не из-за этого
12 Pistol
 
17.05.16
07:27
(0) Вид контактной информации неправильный. Как создать/найти/использовать правильный написано в документации по подсистеме "Контактная информация" в БСП.
13 Pistol
 
17.05.16
08:11
(0) Виктория, а почему у вас в анкете пол мужской? Шифруетесь, да?
14 lodger
 
17.05.16
09:43
(13) бородатый линуксоид Виктор ловко шифруется )
(12) +1. Объект.Записать(); разве не дает ошибки?
15 mTema32
 
17.05.16
10:09
(0) Скорее всего проблема в том, что при выводе ТЧ стоит отбор.
16 inanity1992
 
17.05.16
10:37
Объект.Записать() ошибку не выдаёт.
17 aleks_default
 
17.05.16
10:38
Да убери Объект.Прочитать() уже.
Основная теорема систематики: Новые системы плодят новые проблемы.