Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Присоединение и запрос в другой базе 1С (число прочтений - 6188 )
Antes
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 57
Зарегистрирован: 17. Октября 2008
Re: Присоединение и запрос в другой базе 1С
Ответ #15 - 20. Октября 2008 :: 13:57
Печать  
А если выполнить запрос к базе, в которой нет документов такого вида, как в текущей? Что вернется в этом случае?
  
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Присоединение и запрос в другой базе 1С
Ответ #16 - 21. Октября 2008 :: 07:23
Печать  
Antes писал(а) 20. Октября 2008 :: 13:57:
А если выполнить запрос к базе, в которой нет документов такого вида, как в текущей? Что вернется в этом случае?


Вопрос некорректен.
Любой запрос к любой базе возвращает всего лишь 9-символьную строку. Её можно интерпретировать как существующий объект, если же объект в текущем контексте отсутствует, то строка так и останется строкой.
В частности, у меня ссылка на документ может вобще храниться в наименовании служебного справочника (из соображений оптимизации индексов). Никаких неудобств по этому поводу я не испытываю  Класс
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Присоединение и запрос в другой базе 1С
Ответ #17 - 21. Октября 2008 :: 07:25
Печать  
Quan писал(а) 21. Октября 2008 :: 07:23:
В частности, у меня ссылка на документ может вобще храниться в наименовании служебного справочника (из соображений оптимизации индексов). Никаких неудобств по этому поводу я не испытываю  Класс

И как помогает подобное решение, можешь описать?
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Antes
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 57
Зарегистрирован: 17. Октября 2008
Re: Присоединение и запрос в другой базе 1С
Ответ #18 - 21. Октября 2008 :: 07:39
Печать  
Я поясню. Конечно, если не приводить в тексте запроса к виду документа  (iddocdef [Вид $ВидДокумента]), то выдается строка. Я имел в виду как раз случай, если привести к виду документа, то вернется пустая строка? Или....?
И вопрос вот такой есть. Сталкивался с тем, что конструкция:
ТипРеквизита = РС.МД.Метаданные.Метаданные.Справочник(ВидСправочника).Реквизит(Сч).Тип;
ВидРеквизита = РС.МД.Метаданные.Справочник(ВидСправочника).Реквизит(Сч).Вид;
возвращает верный тип, но неверный вид, если реквизит - справочник. В чем тут причина может быть?
  
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Присоединение и запрос в другой базе 1С
Ответ #19 - 21. Октября 2008 :: 08:02
Печать  
Antes писал(а) 21. Октября 2008 :: 07:39:
Я имел в виду как раз случай, если привести к виду документа, то вернется пустая строка? Или....?


Гм.... откройте табло калькулятора и наберите:
Метадата.ЗначениеИзСтрокиБД("Справочник.Контрагенты","     1   ")
а потом
Метадата.ЗначениеИзСтрокиБД("Справочник.Номенклатура","     1   ")
//где Метадата - глобальный объект типа Metadatawork
И Вы поймёте, что одна и та же строка может типизироваться как душе угодно.
Если же Вы возьмете
Метадата.ЗначениеИзСтрокиБД("Справочник.Номенклатура","ZZZZZZ   ") то при размере номенклатурника менее 2-х лимардов наименований получите пустое значение типа "Справочник.Номенклатура"
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Присоединение и запрос в другой базе 1С
Ответ #20 - 21. Октября 2008 :: 08:07
Печать  
artbear писал(а) 21. Октября 2008 :: 07:25:
Quan писал(а) 21. Октября 2008 :: 07:23:
В частности, у меня ссылка на документ может вобще храниться в наименовании служебного справочника (из соображений оптимизации индексов). Никаких неудобств по этому поводу я не испытываю  Класс

И как помогает подобное решение, можешь описать?


Элементарно: получаем псевдотабличную часть документа.
А используя механизм подчиненного справочника и/или реквизиты с признаком отбора можно вообще организовать индекс, позволяющий (к примеру) сразу отобрать из данного документа конкретный товар отгруженый с определенного склада. И при этом не париться штатным ограничением количества строк.
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать