Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Заполнение контактной информации контрагента

Заполнение контактной информации контрагента
Я
   ДЕнЕнЕн
 
26.10.16 - 11:18
Привет всем кто заглянул. Помогите нубу понять в чем причина. В модуле справочника контрагенты есть следующий код:

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НомерТелефона = "89999999999";
        
Объект.НаименованиеПолное = НомерТелефона;
Объект.Комментарий = НомерТелефона;
        
ВидКИ = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
        
НовыйТелефон = Объект.КонтактнаяИнформация.Добавить();
НовыйТелефон.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
НовыйТелефон.Вид = ВидКИ;
НовыйТелефон.Представление = НомерТелефона;
НовыйТелефон.ЗначенияПолей = "НомерТелефона="+СокрЛП(НомерТелефона);
НовыйТелефон.НомерТелефона = НомерТелефона;
НовыйТелефон.НомерТелефонаБезКодов = НомерТелефона;


При создании контрагента заполняются номером "89999999999" только поля "Заметки" и "Компания". Поле Контактной информации "Телефон" ни как не хочет заполняться.
Отдельно если написать: Объект.НомерТелефона = НомерТелефона также ничего не заполняет. Пожалуйста помогите понять в чем причина.
 
 
   Базис
 
1 - 26.10.16 - 11:20
В какую таблицу ты пишешь и из какой таблицы ожидаешь увидеть?
Как они связаны?
   ДЕнЕнЕн
 
2 - 26.10.16 - 11:45
Не совсем понял вопрос про таблицы. Цель всего этого следующая - есть форма создания контрагента, прописав Объект.Комментарий = "111"; в Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) я могу автоматически заполнить поле "Заметка" когда создаю контрагента в режиме предприятия. А если прописать Объект.НомерТелефона = "111" то поле "Телефон" не заполняется.
Нашел в гугле что поле "Телефон" нужно заполнять примерно следующим образом:
НомерТелефона = "89999999999";
Объект.КонтактнаяИнформация.Добавить();
Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
Вид = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
Представление = НомерТелефона;
ЗначенияПолей = "НомерТелефона="+СокрЛП(НомерТелефона);
НомерТелефона = НомерТелефона;
НомерТелефонаБезКодов = НомерТелефона;
   ДЕнЕнЕн
 
3 - 26.10.16 - 11:46
Но и в этом случае поле "Телефон" не заполняется.
   Fish
 
4 - 26.10.16 - 11:48
(2) А ты в каком месте процедуры этот код пишешь? До или после вызова обработчика подсистемы "Контактная информация"?
   Базис
 
5 - 26.10.16 - 11:50
(2) Перечитай (1) до понимания. Не гугли, подумай сам. В конфигураторе посмотри структуру данных и сформулируй, что куда ты хочешь писать.
   ДЕнЕнЕн
 
6 - 26.10.16 - 12:16
Я так понимаю что я заполняю реквизит "НомерТелефона" Табличной части справочника "Контрагенты"
   ДЕнЕнЕн
 
7 - 26.10.16 - 12:17
В самом начале процедуры ПриСозданииНаСервере
   ДЕнЕнЕн
 
8 - 26.10.16 - 12:22
В форме создания Контрагента нет поля "Телефон" по аналогии с полем "Заметка" путь к данным в котором указан ОбъектКоментарий. Но есть команда ДобавитьКонтактнуюИнформациюКонтрагента.
   Базис
 
9 - 26.10.16 - 12:32
В какой таблице есть поле "НомерТелефона"?
   shadow_sw
 
10 - 26.10.16 - 12:40
контактная информация всегда хранилась в РС, в карточке контрагента выглядит как ТабЧасть, так что нужно писать НаборДвижений
 
 Рекламное место пустует
   Базис
 
11 - 26.10.16 - 12:48
(10) Молодец, правильно. Но (0) так и не научится. Теперь следи за его вопросами и разжёвывай :)
   shadow_sw
 
12 - 26.10.16 - 12:49
(11) типа давай зачетку 5 :))
я(0) вроде как все пояснил, ничего сложного тут нет
   Мойдодыр
 
13 - 26.10.16 - 12:51
запиши руками из формы и посмотри что там лежит
   Мойдодыр
 
14 - 26.10.16 - 12:52
Там какой то жесткий xml лежит в значениях полей
   Fish
 
15 - 26.10.16 - 13:08
(10) (11) Уже нет. В конфигурациях на БСП контактная информация хранится в ТЧ объекта.
   ДЕнЕнЕн
 
16 - 26.10.16 - 13:24
(9) В таблице КонтактнаяИнформация?
   ДЕнЕнЕн
 
17 - 26.10.16 - 13:38
(10) Не могли бы вы рассказать подробнее или ткнуть меня носом в какую нибудь статью по этой теме. Если честно я ничего не понимаю.
   Fish
 
18 - 26.10.16 - 13:39
(17) Давай сначала. Что за конфигурация? Используется БСП или нет?
   catena
 
19 - 26.10.16 - 13:41
в (1) правильный вопрос был. Код не ругается, значит ТЧ такая у объекта есть. Теперь вопрос, где результат смотрят, что не видят.
   ДЕнЕнЕн
 
20 - 26.10.16 - 13:51
(18) Используется УНФ 1.6.2.20
Проверил на УНФ 1.4.8.7, там все работает нормально - я нажимаю создать контрагента и поле номера телефона там заполняется тем что я указал в кавычках
   newbling
 
21 - 26.10.16 - 13:54
Контактная информация часто меняется. Помню одно время они пытались XDTO пакеты к ней прикрутить. Вообще тихий ужас.

Тебе надо сначала понять что там такое этот телефон - реквизит ли он табличной части или может он отображается как набор записей регистра, например.
   ДЕнЕнЕн
 
22 - 26.10.16 - 14:04
(19) Я хочу заполнить поле "Телефон" при создании контрагента.
http://screenshot.ru/upload/image/ZTwh
   ДЕнЕнЕн
 
23 - 26.10.16 - 14:12
(21) В форме справочника нет поля "Телефон" Но есть команда ДобавитьКонтактнуюИнформациюКонтрагента, из этого я делаю вывод что мне нужно заполнять именно контактну информацию контрагента. В 1.4.8.7 все также и там все работает.
http://screenshot.ru/upload/image/ZTwy
Поправьте если я что то не так понимаю.
   Lexey_
 
24 - 26.10.16 - 14:17
(23) а почему ты делаешь вывод на основании имени команды, а не на основании кода, который она выполняет?
   ДЕнЕнЕн
 
25 - 26.10.16 - 14:55
(21) "Тебе надо сначала понять что там такое этот телефон - реквизит ли он табличной части или может он отображается как набор записей регистра, например."
Вы не подскажите как мне это выяснить?
   ДЕнЕнЕн
 
26 - 26.10.16 - 15:02
(24) Дело в том что в форме справочника на месте где должно быть поле "Телефон" есть только "+телефон, адрес" который ссылается на "ДобавитьКонтактнуюИнформациюКонтрагента"
http://screenshot.ru/upload/image/ZTBb
Да и в этом блоке "Компания" есть "КонтактнаяИнформация".
   ДЕнЕнЕн
 
27 - 26.10.16 - 15:06
(18) БСП как я понял используется
   Мойдодыр
 
28 - 26.10.16 - 15:13
Ты уже посмотрел, что в тч у ручных контрагентов пишется?
   ДЕнЕнЕн
 
29 - 26.10.16 - 15:29
(28) Я так понимаю что вы рекомендуете мне добавить контрагента и заполнить необходимые мне поля руками, это сделано. А вот не могли бы вы уточнить где я могу посмотреть в каком месте и какие записи лежат?
   Базис
 
30 - 26.10.16 - 15:45
Консоль запросов, select * from Справочник.Контрагенты where Справочник.Контрагенты.Код = "123"
   Мойдодыр
 
31 - 26.10.16 - 15:53
(30) Только нужно
   Мойдодыр
 
32 - 26.10.16 - 15:53
from Справочник.Контрагенты.КонтактнаяИнформация
   ДЕнЕнЕн
 
33 - 27.10.16 - 15:22
(30) Спасибо за подсказку такого удобного инструмента, я и не подозревал о его существовании.
(31) Заполнил нужное мне поле руками, создал контрагента, после чего сделал запрос и выяснил что заполнив его я заполнил КонтактнуюИнформацию. Значением номера заполняются поля "Представление", "НомерТелефона" и "НомерТелефонаБезКодов". Поле "Вид" имеет значение - http://screenshot.ru/upload/image/ZTfq
Поле "Тип" - http://screenshot.ru/upload/image/ZTfv

Я так понимаю что я заполнял то что нужно. Но автоматическое заполнение все равно не работает.
 
 
   Базис
 
34 - 27.10.16 - 15:40
Уже лучше. Теперь думай - ты создал контакт. Хочешь, чтобы он был виден у всех контрагентов?
   ДЕнЕнЕн
 
35 - 27.10.16 - 15:47
(34) Для начала мне бы просто научиться заполнять данное поле чем то в кавычках "" а потом можно и присваивать ему переменные значения которых можно менять в коде как душе угодно и тд и тп.
Так что да, сейчас мне бы хотелось чтобы один контакт был на всех создаваемых контрагентов.
   Мойдодыр
 
36 - 27.10.16 - 15:48
вот такой xml тебе нужно писать в реквизит ЗначениеПолей
   Базис
 
37 - 27.10.16 - 15:50
(35) Противоестественное желание, которое не укладывается в реализованную структуру данных.

Упростим ситуацию:
Ты хочешь, чтобы один номер телефона был у всех твоих женщин?
   Мойдодыр
 
38 - 27.10.16 - 15:57
УправлениеКонтактнойИнформацией.ЗаполнитьКонтактнуюИнформациюОбъекта
   ДЕнЕнЕн
 
39 - 28.10.16 - 11:24
(36) Теперь все заполняю так:
Процедура ПриСозданииНаСервере(Отказ,СтандартнаяОбработка)

НомерТелефона = "89999999999";
Объект.НаименованиеПолное = НомерТелефона;
Объект.Комментарий = НомерТелефона;
ВидКИ = Справочники.ВидыКонтактнойИнформации.ТелефонКонтрагента;
        
НовыйТелефон = Объект.КонтактнаяИнформация.Добавить();
НовыйТелефон.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
НовыйТелефон.Вид = ВидКИ;
НовыйТелефон.Представление = НомерТелефона;
НовыйТелефон.ЗначенияПолей = "<КонтактнаяИнформация 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""; Представление="""+НомерТелефона+"""><Состав xsi:type=""НомерТелефона"" КодСтраны="""" КодГорода="""" Номер="""+НомерТелефона+""" Добавочный=""""/></КонтактнаяИнформация>";
НовыйТелефон.НомерТелефона = НомерТелефона;
НовыйТелефон.НомерТелефонаБезКодов = НомерТелефона;

Но все равно нет ожидаемого результата, номер телефона не заполняется при создании контрагента.
   ДЕнЕнЕн
 
40 - 28.10.16 - 11:28
(37) Не совсем удачный пример вы привели.
Допустим можно средствами activex получить номер телефона звонящего из АТС и отправить его в 1С. Допустим номер звонящего в 1С будет присвоен какой то переменной "НомерТелефона". Возможностей много.
   Базис
 
41 - 28.10.16 - 12:03
Ничо так студент пошёл.
Ну, расскажи, какие у МЕНЯ трудности. Астериск читает номер, в базу его опа, сперва проверяем по стоплисту, потом ищем в индексированной ТЗ, находим - видим, чей клиент, если этот менеджер не занят, то просим астериск отправить звонок менеджеру, открываем у него же документ и подбираем клиента.

Да, это на древней 1С77.

Но тебе достаточно понять, как связаны контактные данные и один контрагент.
   ДЕнЕнЕн
 
42 - 28.10.16 - 13:09
(41) Не понимаю к чему вы мне это говорите. На профессионала в какой то области я не претендую. И работу астериска обсуждать не хочу, я хочу узнать почему не работает код который я написал, хотя по логике все должно работать. К примеру в 1.4.8.7 все работает.

"Но тебе достаточно понять, как связаны контактные данные и один контрагент."
Не могли бы вы подсказать конкретнее как мне это понять, где почитать?
   ДЕнЕнЕн
 
43 - 31.10.16 - 16:56
(38) Не подскажите как пользоваться?
   MaxS
 
44 - 31.10.16 - 17:00
Бывает, что нужно дублировать информацию у партнера
   newbling
 
45 - 31.10.16 - 17:05
(37) > Ты хочешь, чтобы один номер телефона был у всех твоих женщин?

Для некоторых частных случаев такая архитектура подходит :D
   newbling
 
46 - 31.10.16 - 17:07
(23) Ну а код-то какой.
   ДЕнЕнЕн
 
47 - 31.10.16 - 17:15
(44) это УНФ, тут нет партнеров, только контрагенты и контактные лица
   МимохожийОднако
 
48 - 31.10.16 - 17:39
(43) Включи отладчик и поставь точку останова в начале этой процедуры. Дальше иди по шагам и изучай.
   СамыйУмный
 
49 - 31.10.16 - 17:50
Если на БСП то вот
ТвойПользователь.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.МобильныйТелефонПользователя,"Вид").Представление
 
 Рекламное место пустует
   ДЕнЕнЕн
 
50 - 01.11.16 - 10:52
(48) Ее нужно вызывать из модуля справочника Контрагенты? из ПриСозданииНаСервере? Куда в эту процедуру добавлять необходимое мне значение?


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует