Имя: Пароль:
1C
1С v8
запрос из Базы1 в базу2 по com
0 lamme
 
12.03.15
22:29
Есть База1. Из нее подключась через com к Базе2.
в базе2 - есть общий модуль. с процедурой - к которой идет обращение.

Косяк такой ..
Если в запросе на Базе2 сделать такую строку:
ТИПЗНАЧЕНИЯ(ХозрасчетныйОбороты.Регистратор) КАК ТипДокументаСтрока
то сам то запрос формируется в базе2 (отладчиком поймал это) - но при передаче выборки в базу1 - вываливается 1С-ка:
"{ОбщийМодуль.СуперМегаМодульСервер.Модуль(329)}: Ошибка при вызове метода контекста (ЗаполнитьДокумент)
    Выборка  = com.СуперМегаМодульВБазе2.Заполнитьдокумента(comФильтрСписокСчетов, comСписокОбъектов, comСписокВалют);
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.5.1443):  server_addr=tcp://<<ИмяСервера>>:1561 descr=10054(0x00002746): Удаленный хост принудительно разорвал существующее подключение.  line=1362 file=src\DataExchangeTcpClientImpl.cpp"


//
если  из запроса убрать вышеуказанную строку - то все нормально приходит ..

Что за такое и как бороться?
1 Wern
 
12.03.15
22:52
ТИПЗНАЧЕНИЯ( возвращает тип. а не строку.
2 lamme
 
13.03.15
11:31
дык мне это и надо.
строку.
и получить описание типа - из базы2.
3 Ёпрст
 
13.03.15
11:33
(2) делай case в запросе


выбрать
ежели ТИПЗНАЧЕНИЯ = тип бла бла бла
  тогдашеньки тото и тото
4 Ёпрст
 
13.03.15
11:34
а так, ты пытаешься привести к типу этой базы объект с другой базы
5 Godofsin
 
13.03.15
11:34
(2) ну так не проканает
6 Godofsin
 
13.03.15
11:34
а вот (3) проканает =)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший