Имя: Пароль:
1C
 
Как заполнить программно регистр сведений Контактная информация?
0 abvb
 
19.02.10
15:56
подскажите, плиз, как заполнить программно адрес для информирования, зная адрес прописки у физ лица в регистре "Контактная информация", можно ли добавлять записи в регистр из внешней обработки?
1 Irbis
 
19.02.10
15:56
(0) Использовать менеджер записи или набора записей данного регистра.
2 abvb
 
19.02.10
16:41
спс
3 abvb
 
19.02.10
17:27
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
               
НаборЗаписей.Отбор.Объект.Установить(выборка.физлицо);
               
НаборЗаписей.Отбор.Вид.Установить(справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица);
               
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Объект = выборка.физлицо;                
НоваяЗапись.Вид = справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
НоваяЗапись.Представление = Выборка2.Представление;
НоваяЗапись.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
НаборЗаписей.Записать();


новый адрес не записывается.
4 shuhard
 
19.02.10
17:52
(3) НоваяЗапись.Активность=Истина;
5 Dен
 
19.02.10
18:06
(3) А что делает?
6 abvb
 
19.02.10
18:08
Выборка2.Представление пишет неопределено
НаборЗаписей.Записать();  это проходит замечательно, но у физлица не появляется адрес
7 Dен
 
19.02.10
18:11
(6) А кроме представления, там еще и другие ресурсы и реквизиты есть.
Ты их не замечал?
8 abvb
 
19.02.10
18:16
реквизито нет, а вот ресурсов поле1 - поле10 их тоже указывать?
9 shuhard
 
19.02.10
18:18
(8) ты Активность поставил ?
10 Генератор
 
19.02.10
18:19
(8) их и надо заполнять, а для представления есть процедура в общем модуле типа ЗаполнитьПредставление
11 shuhard
 
19.02.10
18:24
(3) вот так в УПП работает:
Для Каждого СтрокаТЧ Из Кандидаты Цикл    
       // адрес прописки
       // Рг сведений ПаспортныеДанныеФиз.Лица
       Наборчик=РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
       Наборчик.Отбор.Объект.ВидСравнения=ВидСравнения.Равно;
       Наборчик.Отбор.Объект.Значение=Физик.Ссылка;                                                          
       Наборчик.Отбор.Объект.Использование=Истина;
       Наборчик.Отбор.Тип.ВидСравнения=ВидСравнения.Равно;
       Наборчик.Отбор.Тип.Значение=Перечисления.ТипыКонтактнойИнформации.Адрес;                                                          
       Наборчик.Отбор.Тип.Использование=Истина;
       Наборчик.Отбор.Вид.ВидСравнения=ВидСравнения.Равно;
       Наборчик.Отбор.Вид.Значение=Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица;                                                          
       Наборчик.Отбор.Вид.Использование=Истина;
       Наборчик.Прочитать();
       Наборчик.Очистить();
       СтрокаНаборчика=Наборчик.Добавить();
       СтрокаНаборчика.Активность=Истина;                                                                    
       СтрокаНаборчика.Объект=Физик.Ссылка;
       СтрокаНаборчика.Период=Дата(1900,01,01);
       СтрокаНаборчика.Вид=Справочники.ВидыКонтактнойИнформации.ЮрАдресФизЛица;
       СтрокаНаборчика.Тип=Перечисления.ТипыКонтактнойИнформации.Адрес;
       СтрокаНаборчика.Представление=СтрокаТЧ.Представление;
       СтрокаНаборчика.Поле1=строкаТЧ.Поле1;
       СтрокаНаборчика.Поле2=строкаТЧ.Поле2;
       СтрокаНаборчика.Поле3=строкаТЧ.Поле3;
       СтрокаНаборчика.Поле4=строкаТЧ.Поле4;
       СтрокаНаборчика.Поле5=строкаТЧ.Поле5;
       СтрокаНаборчика.Поле6=строкаТЧ.Поле6;
       СтрокаНаборчика.Поле7=строкаТЧ.Поле7;
       СтрокаНаборчика.Поле8=строкаТЧ.Поле8;
       СтрокаНаборчика.Поле9=строкаТЧ.Поле9;
       СтрокаНаборчика.Поле10=строкаТЧ.Поле10;
       Наборчик.Записать();
КонецЦикла;
12 abvb
 
19.02.10
18:45
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
               
               НаборЗаписей.Отбор.Объект.Установить(выборка.физлицо);
               НаборЗаписей.Отбор.Объект.ВидСравнения=ВидСравнения.Равно;
               НаборЗаписей.Отбор.Объект.Использование=Истина;
               НаборЗаписей.Отбор.Вид.ВидСравнения=ВидСравнения.Равно;

               НаборЗаписей.Отбор.Вид.Установить(справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица);
               НаборЗаписей.Отбор.Тип.ВидСравнения=ВидСравнения.Равно;
               НаборЗаписей.Отбор.Тип.Использование=Истина;
               НаборЗаписей.Отбор.Тип.Значение=Перечисления.ТипыКонтактнойИнформации.Адрес;
               НаборЗаписей.Прочитать();
               НаборЗаписей.Очистить();
               
               НоваяЗапись = НаборЗаписей.Добавить();
               НоваяЗапись.Активность=Истина;
               НоваяЗапись.Период=Дата(1900,01,01);

               НоваяЗапись.Объект        = выборка.физлицо.ссылка;                
               НоваяЗапись.Вид            = справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
               НоваяЗапись.Представление    = Выборка2.Представление;
               НоваяЗапись.Тип             = Перечисления.ТипыКонтактнойИнформации.Адрес;
               НоваяЗапись.поле1            = Выборка2.поле1;
               НоваяЗапись.поле2            =  Выборка2.поле2;
               НоваяЗапись.поле3            =  Выборка2.поле3;
               НоваяЗапись.поле4            =  Выборка2.поле4 ;
               НоваяЗапись.поле5            =  Выборка2.поле5;
               НоваяЗапись.поле6            =  Выборка2.поле6;
               НоваяЗапись.поле7            =  Выборка2.поле7;
               НоваяЗапись.поле8            =  Выборка2.поле8;
               НоваяЗапись.поле9            =  Выборка2.поле9;
               НоваяЗапись.поле10            =  Выборка2.поле10;
               НоваяЗапись.комментарий            =  Выборка2.комментарий;
               НоваяЗапись.ЗначениеПоУмолчанию    =  Выборка2.ЗначениеПоУмолчанию;
               НаборЗаписей.Записать();



все равно не записывается...:(
13 shuhard
 
19.02.10
18:49
(12) найти отличия и устрани
14 Dен
 
19.02.10
19:05
(9) А вот активности у этого регистра нет.
Нет подчиненный, блин.
15 abvb
 
19.02.10
19:09
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
               
               НаборЗаписей.Отбор.Объект.ВидСравнения=ВидСравнения.Равно;
               НаборЗаписей.Отбор.Объект.Значение=выборка.физлицо;
               НаборЗаписей.Отбор.Объект.Использование=Истина;
               
               НаборЗаписей.Отбор.Вид.ВидСравнения=ВидСравнения.Равно;
               НаборЗаписей.Отбор.Вид.Значение=справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
               НаборЗаписей.Отбор.Вид.Использование=Истина;
               
               НаборЗаписей.Отбор.Тип.ВидСравнения=ВидСравнения.Равно;
               НаборЗаписей.Отбор.Тип.Использование=Истина;
               НаборЗаписей.Отбор.Тип.Значение=Перечисления.ТипыКонтактнойИнформации.Адрес;
               
               НаборЗаписей.Прочитать();
               НаборЗаписей.Очистить();
               
               НоваяЗапись = НаборЗаписей.Добавить();
               НоваяЗапись.Активность=Истина;
               НоваяЗапись.Период=Дата(1900,01,01);

               НоваяЗапись.Объект        = выборка.физлицо.ссылка;                
               НоваяЗапись.Вид            = справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
               НоваяЗапись.Представление    = Выборка2.Представление;
               НоваяЗапись.Тип             = Перечисления.ТипыКонтактнойИнформации.Адрес;
               НоваяЗапись.поле1            = Выборка2.поле1;
               НоваяЗапись.поле2            =  Выборка2.поле2;
               НоваяЗапись.поле3            =  Выборка2.поле3;
               НоваяЗапись.поле4            =  Выборка2.поле4 ;
               НоваяЗапись.поле5            =  Выборка2.поле5;
               НоваяЗапись.поле6            =  Выборка2.поле6;
               НоваяЗапись.поле7            =  Выборка2.поле7;
               НоваяЗапись.поле8            =  Выборка2.поле8;
               НоваяЗапись.поле9            =  Выборка2.поле9;
               НоваяЗапись.поле10            =  Выборка2.поле10;
               НоваяЗапись.комментарий            =  Выборка2.комментарий;
               НоваяЗапись.ЗначениеПоУмолчанию    =  Выборка2.ЗначениеПоУмолчанию;
               НаборЗаписей.Записать();


все равно не записывает
16 DrShad
 
19.02.10
19:42
НЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
       НЗ.Объект = обКонтр.Ссылка;
       НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
       НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
       
       НЗ.Прочитать();
       НЗ.Объект = обКонтр.Ссылка;
       НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
       НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
       НЗ.Представление = СтрокаДанных.ЮридическийАдрес;
       Если НЕ НЗ.Выбран() Тогда
           НЗ.Записать(Ложь);
       КонецЕсли;
17 DrShad
 
19.02.10
19:43
+(16) все прекрасно записывается и гораздо короче
18 abvb
 
20.02.10
09:34
если выборка2.количество()> 0  тогда
                   выборка2.Следующий();
                   НЗ = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
                   НЗ.Объект = выборка.физлицо.ссылка;
                   НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                   НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
                   
                   НЗ.Прочитать();
                   НЗ.Объект = выборка.физлицо.ссылка;
                   НЗ.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
                   НЗ.Вид = Справочники.ВидыКонтактнойИнформации.ИнформАдресФизЛица;
                   НЗ.Представление = Выборка2.Представление;
                   НЗ.поле1            = Выборка2.поле1;
                   НЗ.поле2            =  Выборка2.поле2;
                   НЗ.поле3            =  Выборка2.поле3;
                   НЗ.поле4            =  Выборка2.поле4 ;
                   НЗ.поле5            =  Выборка2.поле5;
                   НЗ.поле6            =  Выборка2.поле6;
                   НЗ.поле7            =  Выборка2.поле7;
                   НЗ.поле8            =  Выборка2.поле8;
                   НЗ.поле9            =  Выборка2.поле9;
                   НЗ.поле10            =  Выборка2.поле10;
                   НЗ.комментарий            =  Выборка2.комментарий;
                   НЗ.ЗначениеПоУмолчанию    =  Выборка2.ЗначениеПоУмолчанию;
                   Если НЕ НЗ.Выбран() Тогда
                       НЗ.Записать(Ложь);
                   Иначе
                       Если НЗ.Записать() Тогда
                           Сообщить("записан");
                       КонецЕсли;
                   КонецЕсли;                

проверяла отладчиком, доходит до НЗ.Записать(), проходит без ошибок. но когда заходишь в карточку физлица адреса нет. Запускаешь по новой обработку опять происходит тоже самое...
19 abvb
 
20.02.10
09:36
Если НЕ НЗ.Выбран() Тогда
                       НЗ.Записать(Ложь);
                   Иначе
                       Если НЗ.Записать() Тогда
                           Сообщить("записан");
                       КонецЕсли;
                   КонецЕсли;                

не правильно написала
Если НЕ НЗ.Выбран() Тогда
                       НЗ.Записать(Ложь);
                   Иначе
                        НЗ.Записать()                     КонецЕсли;
20 abvb
 
20.02.10
09:44
все работает, извиняюсь.
DrShad  - СПАСИБО!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.