Имя: Пароль:
1C
1С v8
Поделитесь обработкой
,
0 Ткачев
 
17.08.12
08:00
В БП и УТ есть регистр сведений "Соответствие объектов для обмена", там есть реквизит "Ссылка в другой ИБ", там стоит текстовый ИД, надо обработку которая по СОМ соединению показывала объект в другой базе и могла его менять.
1 Лоботряс
 
17.08.12
08:05
Каким образом по COM-соединению  можно в ЭТОЙ базе увидеть объект из ТОЙ базы?
2 Ткачев
 
17.08.12
08:06
(1)Взять текст ИД из первой и найти по ИД во второй.
3 Лоботряс
 
17.08.12
08:08
Но не показать же в первой, ты думай что ты пишешь
4 andrewks
 
17.08.12
08:08
что ты вкладываешь в слова "показывала объект"?
5 Ткачев
 
17.08.12
08:14
(3)А почему нет, показать например наименование, а при выборе запросом заполнить ТЗ.
6 Ткачев
 
17.08.12
08:16
Не важно как, главное что бы вместо "{"#",d2536903-cbe3-4945-b3eb-42b1d353be81,9:a0f6001e90cdee2a11df79fd6246727f}" было "Автономный округ" и выбирать так же.
7 kotletka
 
17.08.12
08:19
тебе наименование в 1 нужно?
8 Лоботряс
 
17.08.12
08:20
Ну это будет не объект, а какое-то его представление... Кроме наименования, еще и тип объекта нужен, и еще много чего.Ты же его сравнить в этой базе должен с чем-то... Я предлагаю обдумать хорошенько что ты хочешь делать.
9 Лоботряс
 
17.08.12
08:21
И написать
10 Ткачев
 
17.08.12
08:22
(8)А что в (6) непонятно ?
11 Лоботряс
 
17.08.12
08:25
Лично мне нет, тебе видимо тоже...
12 BuHu
 
17.08.12
08:26
(10) что ты пытаешься сделать , точней для чего ? что не получается?
13 dva1c
 
17.08.12
08:29
(12) Попробую догадаться.
"что ты пытаешься сделать" - не написав ни строчки кода, получить готовую обработку.
"точней для чего" - пока не ясно
"что не получается" - а ничего не получается )
14 BuHu
 
17.08.12
08:30
(13) если не ясно то какую обработку просит автор ? любую?)
15 Рэйв
 
17.08.12
08:30
(0)Такие вещи стоят нехилых денег.
16 BuHu
 
17.08.12
08:31
(15) т.е. ты знаешь ,что нужно автору?)
17 dva1c
 
17.08.12
08:31
(14) Ага )
(15) Я о том же думаю.
18 dva1c
 
17.08.12
08:33
(16) Рэйв опытный "товарисч"
19 Лоботряс
 
17.08.12
08:34
(15)'Сделал стойку' Скока?
20 BuHu
 
17.08.12
08:34
имхо, автору надо просто преобразовать собственную ссылку через ЗначениеВСтроку , подключится к другой базе там в регистре соответствий найти свою строчку , получить объект из собственной ссылки в базе которой подключились и поменять какие то реквизиты. я так понял автора
21 Ткачев
 
17.08.12
08:45
Вы посмотрите регистр, там реквизит "Ссылка в другой ИБ", вместо этого должно быть нормальное наименование.
22 Ткачев
 
17.08.12
08:47
(20)Совершено верно, выбрав в другой базе ссылку преобразовать ее в "{"#",d2536903-cbe3-4945-b3eb-42b1d353be81,9:a0f6001e90cdee2a11df79fd6246727f}" и поместить это в основную базу.
23 BuHu
 
17.08.12
08:55
(22) т.е. ты сейчас пытаешься настроить соответствие объектов таким образом ?
24 Serg_1960
 
17.08.12
09:02
"Я непонял"(с)

(0) и (22) - это сильно отличается друг от друга :( Что-же хочет автор в итоге? Не "как сделать?", а "что сделать?"

Начнём хотя бы с того, с какого края начинать :) Этот регистр автор читать собирается из "собственной" базы или из "другой"?
25 Галахад
 
гуру
17.08.12
09:04
Вряд ли такая есть, а написать не сложно. Чего выпрашивать-то?
26 Serg_1960
 
17.08.12
09:10
(25) Монитор обмена данными (пример из УПП):

Процедура КоманднаяПанельСоответствиеОбъектовПоказатьОбъектПриемника(Кнопка)
   
   Если ЭлементыФормы.ТаблицаСоответствияОбъектов.ТекущиеДанные = Неопределено Тогда
       Возврат;
   КонецЕсли;
   
   СтрокаСсылки = ЭлементыФормы.ТаблицаСоответствияОбъектов.ТекущиеДанные.СсылкаВДругойИБ;
   Если НЕ ЗначениеЗаполнено(СтрокаСсылки) Тогда
       
       Предупреждение("Не задано соответствие в информационной базе приемнике.");
       Возврат;
       
   КонецЕсли;
   
   ТекCOMОбъект = ПодключитьсяКИнформационнойБазеОбмена();
   Если ТекCOMОбъект = Неопределено Тогда
       Возврат;
   КонецЕсли;
   
   Попытка
       
       СсылкаВПриемнике = ТекCOMОбъект.ValueFromStringInternal(СтрокаСсылки);
       Если ТекCOMОбъект.ValueIsFilled(СсылкаВПриемнике) Тогда
           СсылкаВПриемнике.GetForm().DoModal();
       Иначе
           Предупреждение("Не найдено соответствие в информационной базе приемнике.");
       КонецЕсли;
       
   Исключение        
       
   КонецПопытки;
   
КонецПроцедуры
27 dva1c
 
17.08.12
09:12
(25) Оказывается есть. См. (26)
28 Галахад
 
гуру
17.08.12
09:17
Фигасе, а я и не знал, что олешные объекты можно так показывать.
29 Лоботряс
 
17.08.12
09:25
(26)Это если типы совпадают, а если нет?
30 Лоботряс
 
17.08.12
09:33
(28) и это уже не оле-шный объект
31 Serg_1960
 
17.08.12
09:39
В чём сомнения, Лоботряс?

"Совпадение типов", имхо, неприемлемо в данном контексте - когда речь идёт об различных конфигурациях. Смысла лишено.
32 Serg_1960
 
17.08.12
09:41
Впрочем, я кажется догадываюсь об чём речь... Посмотрите в типовой конфе обработку ОбменДаннымиXML - там есть все ответы :)
33 Ткачев
 
17.08.12
09:49
(23)Иногда надо один элемент перенести на другую ссылку, вот и надо такое.
34 Лоботряс
 
17.08.12
09:55
(31)Про ЗначениеИзСтрокиВнутр() вот что в СП написано: "Строковое представление данных имеет специальный системный формат, использующий идентификацию данных внутри одной информационной базы". А значит при использовании этого метода не в одной базе, не дает никаких гарантий. В моей практике были ситуации когда у двух баз с одинаковыми конфигурациями GUID-ы типов одних и тех же справочников были разными.
35 Лоботряс
 
17.08.12
09:56
(32) Я про это знаю, спасибо. И в свое время как раз использовал это для разрешения ситуации в (34).
36 Serg_1960
 
17.08.12
10:04
Хех... мы говорим об одном и том-же. И наши мнения совпадают :)

Ты упустил одни момент: в (26)  - "ТекCOMОбъект.ValueFromStringInternal()" - никаких противоречий с (34) нет. Т.е. обращение к функции идёт "внутри" другой информационной базы (если применение термина "внутри" тут допустимо).
37 Лоботряс
 
17.08.12
10:22
(36) нет я походу упустил, что в СтрокаСсылка хранится как GUID типа(из другой базы) так и GUID ссылки, а не только GUID ссылки
38 Serg_1960
 
17.08.12
10:36
Ааа... ну, да, там "два представления" через запятую. На все случаи жизни :) Во втором - тип данных.
39 Ткачев
 
17.08.12
12:04
(26)Эта фигня на все пишет "Не найдено соответствие в информационной базе приемнике."
40 Ksandr
 
17.08.12
12:07
(3) Поведай мне в чем проблема? Проблема открыть форму через ComApplication?
41 Ткачев
 
17.08.12
12:37
(40)Как вот из этого "{"#",d2536903-cbe3-4945-b3eb-42b1d353be81,9:a0f6001e90cdee2a11df79fd6246727f}", получить "Автономный округ" ?
42 Ткачев
 
17.08.12
12:38
+(41) Тип "Автономный округ" = СправочникСсылка.АдресныеСокращения
43 Ткачев
 
17.08.12
13:07