Имя: Пароль:
1C
1С v8
Обновление контактной информации
,
0 23angrymonkeys
 
07.11.14
11:43
Добрый день. Имеется 1С:Предприятие 8.3 (8.3.4.389). Есть необходимость автоматического заполнения Контактной Информации Контрагента. Проблема в том, что при записи и жесткой привязке типа и вида:
v = ONESCOMOBJECT.Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента
new_line.Вид = v
t = ONESCOMOBJECT.Перечисления.ТипыКонтактнойИнформации.Адрес
new_line.Тип = t
все работает, однако при попытке добавления записи с переменным типом/видом через поиск
Dim v As Object
                    v = ONESCOMOBJECT.Справочники.ВидыКонтактнойИнформации
                    Dim vi As Object
                    vi = v.НайтиПоНаименованию(vid)
                    new_line.Вид = vi

поле записывается, но в форме Представление не отображается.
Все делатся через COM объекты посредством VB.net
В какую сторону копать, если объект создается, вид и тип определяются правильно, запись добавляется, но при этом Представление не формируется?
1 butterbean
 
07.11.14
11:49
интересно, как вот это:

Dim vi As Object
vi = v.НайтиПоНаименованию(vid)

вообще работает??
2 herfis
 
07.11.14
11:54
А с какой стати представление должно само сформироваться?
И уточняете, с какой конфой работаете. В разных конфах и версиях БСП механизмы работы с контактной информацией могут отличаться.
3 23angrymonkeys
 
07.11.14
12:01
Конфигурация:
Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.19.36)
Прописываются поля Город, Улица, Область

ObjectRecord - Контрагент в 1С
Dim lines As Object
                Dim linkObjectRecord = ObjectRecord

                lines = linkObjectRecord.КонтактнаяИнформация
                Dim new_line = lines.Добавить()
                If vid = "Фактический адрес" And str_type = "Адрес" Then

                    Dim v As Object
                    v = ONESCOMOBJECT.Справочники.ВидыКонтактнойИнформации
                    Dim vi As Object
                    vi = v.НайтиПоНаименованию(vid)
                    new_line.Вид = vi

                    Dim t As Object
                    t = vi.Тип
                    new_line.Тип = t

                    FillFieldsONES(SourceRecord, new_line, xml_obj, vid, str_type, fill)
4 Wirtuozzz
 
07.11.14
12:02
жесть, обожать супер сишников которые пишут в 1с на инглишь лангвуч, хорошо что без ошибок еще. Радует что 2 цены с такими нетленками или дописками надо брать, ибо сначала разобраться что там за месседж, и для чего он, а потом сделать по человековски, что бы всем было понятно.
5 Wirtuozzz
 
07.11.14
12:09
кстати сишникам на заметку, если у вас копрокод выглядит так:
vi = v.НайтиПоНаименованию(
new_line.Вид = vi
то можно переходить уже на матерные иносказания в коже.
6 Defender aka LINN
 
07.11.14
12:12
А при чем тут представление вообще?
7 SleepyHead
 
гуру
07.11.14
12:30
Откройте для себя КД уже. Сделайте загрузку как вам нужно и откуда нужно.
8 SleepyHead
 
гуру
07.11.14
12:33
Недавно сам делал загрузку контактной информации в ЗУП 3.0, это конечно жесть (что касается заполнения поля ЗначенияПолей), но разобрался.

Все можно сделать, вызывая мдули БСП, встроенной в конфигурацию, вызывал их в обработчике ПослеЗагрузкки у объекта, делал через КД.
9 SleepyHead
 
гуру
07.11.14
12:33
Только вот не знаю, можно ли их вызвать через ком-объект.
10 Поpyчик-4
 
07.11.14
12:54
(9) Через com-object только встроенные функции платформы.
11 Defender aka LINN
 
07.11.14
13:11
(10) Лолшто?
12 Поpyчик-4
 
07.11.14
13:26
(11) А,што? Так канает или я что-то не понял?
ЧтоТо = v8com.КонтактнаяИнформацияСлужебный.ДесериализацияКонтактнойИнформации(Текст, Вид);
13 Fish
 
07.11.14
13:35
(12) А почему не должно канать? Только параметры правильно надо передавать и нет проблем.
14 Defender aka LINN
 
10.11.14
09:04
(12) Если модуль доступен во внешнем соединении - да.
AdBlock убивает бесплатный контент. 1Сергей