Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Загрузка контактной информации в справочник контрагентов. (Бухгалтерия 3.0)

Загрузка контактной информации в справочник контрагентов. (Бухгалтерия 3.0)
Я
   sx55
 
24.08.21 - 16:00
Здравствуйте гуру 1С, у меня вопрос.
Как при создании контрагента в базе 1С Бухгалтерия (Базовая), передать контактную информацию?

В табличной части элемента, есть таблица с именем "КонтактнаяИнформация". Она содержит колонки "Вид", "Тип", "Представление" и т.д.
Прямая запись не помогает.

Может кто помочь разобраться с данным вопросом?
   1Сергей
 
1 - 24.08.21 - 16:03
>>Прямая запись не помогает.

Прямая это как? И что значит не помогает?
   Garykom
 
2 - 24.08.21 - 16:03
>Может кто помочь разобраться с данным вопросом?

сколько платишь?
   Garykom
 
3 - 24.08.21 - 16:04
(1) имхо Вид КИ и прочее незаполнил правильно
   sx55
 
4 - 24.08.21 - 16:06
(1) - Запись значений в таблицу.
(2) - А что, в Ру сегменте за ответы на поставленные вопросы уже нужно платить?
   1Сергей
 
5 - 24.08.21 - 16:07
(4) что-то не так делаете
   Fish
 
6 - 24.08.21 - 16:07
(0) "Прямая запись не помогает." - показывай код, как делал. Должна помогать.
   Garykom
 
7 - 24.08.21 - 16:07
(4) зависит от вопроса
   agntosha
 
8 - 24.08.21 - 16:08
найди метод .. который туда данные кладет .. там структура с неких пор хитровыевые
   Garykom
 
9 - 24.08.21 - 16:08
(8) структура это если методами из БСП
напрямую там все просто кроме адреса
   agntosha
 
10 - 24.08.21 - 16:09
(9) там все равно есть поле которые хранит представлние в каком то неизвестном мне формаете ..ну точнее так какая то хмл разметка ..
так что проще как раз через бсп вызвать метод .. один вызов и все на место попадает
   sx55
 
11 - 24.08.21 - 16:13
(8) - Пробовал следующее.

МойКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("НаименованиеМоегоКонтрагента");
НовыйАдрес = "Тут реальный корректный адрес";
Вид = Справочники.ВидыКонтактнойИНформации.ЮрАдресКонтрагента;
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(МойКонтрагент, НовыйАдрес, Вид, ТекущаяДата(), Ложь);
   Garykom
 
12 - 24.08.21 - 16:14
(11) гугли как адреса по фиасу добавлять
   sx55
 
13 - 24.08.21 - 16:16
(12) - Спасибо, вы очень полезны, всего вам наилучшего.
   agntosha
 
14 - 24.08.21 - 16:16
(11) я не знаю имени метода, когда мне был нужен я его там быстро нашел .. все добавляется хорошо ..
буквально на входе структура параметров , вид и куда .. а все остальное само делается ..
иначе там мозг взорвешь .. у них там особо головастые такое видимо делают
   sx55
 
15 - 24.08.21 - 16:18
Как обычно, миста "помогла" ))))
Не трудитесь, завтра сам разберусь. Сегодня просто уже лень. ;)
   agntosha
 
16 - 24.08.21 - 16:20
УправлениеКонтактнойИнформацией.ДобавитьКонтактнуюИнформацию(
ну да .. этот метод
   agntosha
 
17 - 24.08.21 - 16:21
но не факт что адрес это добавляет)  короче ужас нах
   sx55
 
18 - 25.08.21 - 13:37
Как и обещал, со всем разобрался. Вот рабочий код на примере установки/замены адреса электронной почты.


<!><!><!> Код актуален для БП3.0 <!><!><!>
>>> Код для добавления контактной информации:
Спр = Справочники.Контрагенты.Выбрать();
//Тут у меня цикл по всему справочнику.

        МойКонтрагент = Спр.ПолучитьОбъект();
        КонтИнформация = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(МойКонтрагент,,ТекущаяДата(),Ложь);
        Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
        Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтрагенты;
        ОбъектXDTOКИ = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOПоПредставлению(АдресЭлектроннойПочты, Тип);
        ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(ОбъектXDTOКИ);
        УправлениеКонтактнойИнформацией.ЗаписатьКонтактнуюИнформацию(МойКонтрагент, ЗначенияПолей, Вид, Тип);


>>> Код для замены контактной информации:

        МойКонтрагент = Спр.ПолучитьОбъект();
        КонтИнформация = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(МойКонтрагент,,ТекущаяДата(),Ложь);
        Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты;
        Вид = Справочники.ВидыКонтактнойИнформации.EmailКонтрагенты;
        ОбъектXDTOКИ = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOПоПредставлению(АдресЭлектроннойПочты, Тип);
        Для каждого ТекСтрока ИЗ КонтИнформация Цикл
            Если Строка(ТекСтрока.Вид) = "Email" Тогда
                ТекСтрока.Представление = АдресЭлектроннойПочты;
                ТекСтрока.ЗначенияПолей = УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(ОбъектXDTOКИ);
                УправлениеКонтактнойИнформацией.УстановитьКонтактнуюИнформациюОбъекта(МойКонтрагент, КонтИнформация);
            КонецЕсли;
        КонецЦикла;

<!><!><!> Ну и не забываем записать изменения в элемент справочника. <!><!><!>
МойКонтрагент.Записать();

p.s. На будущее тем, кто будет искать ответ на подобные вопросы, а то на мисте море ЧСВ-шников последнее время развелось, а простой ответ на простой вопрос дать не могут. XD
   ДенисЧ
 
19 - 25.08.21 - 13:46
Как бЭ... В модули *Служебный 1с не рекомендует лазать. И вызывать их снаружи тоже. Потому что это внутренняя кухнЯ, которая всегда может измениться.
   sx55
 
20 - 25.08.21 - 13:51
(19) - Не флуди.
   ildary
 
21 - 25.08.21 - 13:54
(20) Вы с дуба упали? Вам полезный совет дают (но похоже что зря).
   d4rkmesa
 
22 - 25.08.21 - 14:21
(18) В XML значения полей уже не кошерно хранить, лучше в json. И КонтактнаяИнформацияXDTOПоПредставлению работает нормально, скорее всего, только для простых случаев, навроде адресов email. Потому вопросы и задавали, что не все там так просто.
   Garykom
 
23 - 25.08.21 - 14:45
(18) наконец то нагуглил https://forum.infostart.ru/forum8/topic153140/ да?
   sx55
 
24 - 25.08.21 - 14:59
(23) - А тебе в падлу было сразу дать ссылку, ну или правильный ответ дать в данной ветке? Фу таким быть. Вот за это, я русскоязычные форумы и не люблю, одни Д'Артаньяны, а по делу сказать, религия не позволяет. Тфу на вас.
   Garykom
 
25 - 25.08.21 - 15:07
(24) настоящий 1С всегда жадный
   Garykom
 
26 - 25.08.21 - 15:07
(25) *настоящий 1Сник
   sx55
 
27 - 25.08.21 - 15:29
(25)
На заданный вопрос ты дал ответ? (НЕТ)
Ты предоставил ссылку на похожий ответ? (НЕТ)
Сопли пузырём, пальцы веером? (ДА)

1С, для меня лишь хобби, т.к. вы 1СнЫки, в край обозрели. За обновление типовой базы 1С баз, с пользователей трясёте 1800 руб/час (всем франчайзерам 1С, ковыряющим у себя в ... при обновлении, привет!), за написание обработки, от 2000 руб/час, до (фантазия разработчика).
Я же, за обновление любой стандартной базы, которая не обновлялась (любое количество времени), всего 500 рублей.
За написание обработки, я беру лишь символические 1000 рублей. (А то и даром.)

p.s. А ещё, я пишу так называемые "кряки", которые позволяют не покупать лицензии от 1С. (Ну, то такое, чисто по фану.)
   ДенисЧ
 
28 - 25.08.21 - 15:30
"Я же, за обновление любой стандартной базы, всего 500 рублей"

Лох должен страдать, что желать.
   sx55
 
29 - 25.08.21 - 15:33
(25) -Ты он и есть. ^_^
   sx55
 
30 - 25.08.21 - 15:34
Всем удачи, тема закрыта, а то знаю я вас, только трепать языком можете. ;)
 
 


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.