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


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #15 - 11. Июня 2015 :: 09:19
Печать  
Наименование на локальной базе получаю.

На удаленной - Объект Не найден:

см.в отладчике
  

____________001.jpg ( 65 KB | Загрузки )
____________001.jpg
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #16 - 11. Июня 2015 :: 09:47
Печать  
Удаленная база - это че у вас ?
Запрос по оле что ле ?
Если объект не найден - его там тупо нет. ССылка есть, самого объекта нема (удалили его непосредственно там).

Ну или удаленная база - не прямой потомок.

ЗЫ: вы пытаетесь прямой запрос к удаленной базе делать, или что ?
Если да, то удаленная база - прямой потомок этой базы ? А то типизировать к объектам "этой" базы не получится.
ЗЫЫ: типизировать получится, если сторонняя база, например, архивная копия.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #17 - 11. Июня 2015 :: 09:48
Печать  
Код
Выбрать все
|	,$СпрФиксЦены.Объект as [ЗонаДействия $Неопределенный] 


заменить на
Код
Выбрать все
|	,$СпрФиксЦены.Объект as ЗонаДействия 


а вот вверху типизировать
Код
Выбрать все
ФиксЦены.ЗонаДействия as [ЗонаДействия $Неопределенный] 

  
Наверх
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #18 - 11. Июня 2015 :: 09:49
Печать  
Прошу прощения у Ёпрст - не заметил комментарий
  
Наверх
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #19 - 11. Июня 2015 :: 10:08
Печать  
есть несколько баз с одинаковой конфой
подключаюсь к каждой и выполняю select
затем обрабатываю общую таблицу.
не олехой подключаюсь, а  вот так:

Запрос = ТекстЗапроса;

База   =   СоздатьОбъект("ODBCDataBase");
ЗапросКБазе=СоздатьОбъект("ODBCRecordSet");
МетаБух  =  СоздатьОбъект("MetaDataWork");
МетаБух.ПрисоединитьМД(Путь+"1Cv7.md");
База.ПрисоединитьИБ(Путь,"Контролер","");
База.УстТолькоЧтение(1);
ЗапросКБазе.УстБД(База);

ЗапросКБазе.ВыполнитьИнструкцию(Запрос,ТабРез,Очистить);

ЗапросКБазе.Закрыть();
База.Закрыть();
Возврат ТабРез;
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #20 - 11. Июня 2015 :: 10:39
Печать  
Типизация происходит уже в конечной 1С-ке - по полученным ИД-шникам 1С-ка лезет в текущую базу и ищет объекты. Разумеется в текущей базе у тебя Объектов другой базы нет, вот и выходит "Объект не найден". Можно лишь попытаться из другой базы получить Наименование.
Для получения шаблонов - можешь сделать запрос, типа "select distinct top 10 $СпрФиксЦены.Объект as ИсходныйВид, $СпрФиксЦены.Объект as [ЗонаДействия $Неопределенный] from  $Справочник.ФиксированныеЦены As СпрФиксЦены" в разных базах и посмотреть - что там в реальной выборке.
  
Наверх
ICQ  
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #21 - 11. Июня 2015 :: 10:48
Печать  
Единственное, можно типизировать к объектам Этой базы, если есть хоть какая-нить синхронизация между базами, например, ко коду/наименованию или еще как. Тогда просто левым соединением ищем объект из этой базы и всё.
  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #22 - 11. Июня 2015 :: 11:24
Печать  
Последние сделать КАК "просто левым соединением ищем объект из этой базы и всё."
??

SELECT 
     СпрНом.Descr as Номенклатура
     ,$СпрФиксЦены.Объект as ЗонаДействия
FROM
     $Справочник.ФиксированныеЦены As СпрФиксЦены
LEFT JOIN
     $Справочник.Номенклатура AS СпрНом ON СпрНом.ID = $СпрФиксЦены.Номенклатура
WHERE (СпрНом.ISMARK=0) AND (СпрНом.ISFOLDER=2)

LEFT JOIN ( SELECT  ....  ) as Текущая
on $СпрФиксЦены.Объект = Текущая.ЗонаДействия
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #23 - 11. Июня 2015 :: 11:32
Печать  
Здесь нужно не использовать ПрисоединитьИБ
Присоединять md в MetaDataWork, строить текст запроса и вязать его через ИмяБазы.dbo.ИмяТаблицы. Запрос выполнять в исходной базе. В этом случае получится соединение.
http://infostart.ru/public/16515/
Вот тут я делал сравнение в SQL проводок по документам. Посмотри.
  
Наверх
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #24 - 11. Июня 2015 :: 12:20
Печать  
Если базы на разных серверах скуля, то прилинковать сервак сперва, далее, так (мини пример для справочника, синхронизация по коду, потом , найдя объект в "этой" базе просто типизируешь):

Код
Выбрать все
Процедура Сформировать()


    рс=создатьОбъект("ODBCRecordSet");

     ТекстЗапроса = "
    |SELECT
    |    СпрНаш.DESCR as КлиентосВЭтойбазе  -- наименование клиентоса в  этой базе, можно и не присоединять справочник, а просто типизировать
    |    ,Спр.DESCR as КлиентосВУдаленнойБазе --наименование клиентоса в удаленной базе
    |FROM $Справочник.Контрагенты СпрНаш
    |left join dataBase2.dbo.@Справочник.Контрагенты Спр on СпрНаш.Code = Спр.Code
    |";
    глМД = СоздатьОбъект("MetaDataWork");
    ТекстЗапроса=глМД.ОбрМетаСКЛ(ТекстЗапроса);
    глМД2 = СоздатьОбъект("MetaDataWork");
    ПутьКБазе2 = "D:\полный путьк базе данных\";
    глМД2.ПрисоединитьМД(ПутьКБазе2+"1Cv7.md");
    ТекстЗапроса=СтрЗаменить(ТекстЗапроса,"@","$");
    ТекстЗапроса=глМД2.ОбрМетаСКЛ(ТекстЗапроса);

    Т = рс.ВыполнитьИнструкцию(ТекстЗапроса);
    Т.ВыбратьСтроку();

КонецПроцедуры 


  
Наверх
 
IP записан
 
dsclue
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 49
Местоположение: Санкт-Петербург
Зарегистрирован: 15. Апреля 2015
Пол: Мужской
Re: в справочнике реквизит имеет тип Неопределенный
Ответ #25 - 11. Июня 2015 :: 20:04
Печать  
Дорогие ДРУЗЬЯ,
слепил через Оле.
Пока, я слепил на 15 баз на разных sql серварах в прямом подключении через Олеху.
результат, конечно, получил, региональный менеджер доволен.
// юзеры поехали отдыхать
но хотел бы вспомнить молодость// см. выше
на снеговиках проще.

НО я сделаю - это принципиально.
Благодарю Вас Всех.
С Наступившим Праздником.
Спасибо.
всегда преданный Вам,
clue
Улыбка

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