Вход | Регистрация

1С:Предприятие ::

Метки: 

Объект не найден

Я
   breezee
 
08.11.17 - 16:32
Добрый день. Платформа 8.3 с совместимостью 8.1
Есть самописный обмен. Приходят строковые ГУИДы на элементы справочника. При выполнении функции "ЗначениеИзСтрокиВнутр(СтроковыйГУИД) получается "Объект не найден"
1)Подскажите, пожалуйста как проверять что ссылка пустая, при не найденном объекте. Сейчас реализовано через найти(строка(ненайденныйобъект), "объект не найден") > 0. Но, кажется это не совсем верно. Ссылка.Пустая() возвращает ложь.
2)Откуда вообще эти "Объект не найден"? В каких случаях они возникают? Не могу нагуглить. Скиньте статью на ИТС, если есть под рукой, пожалуйста
 
 
   Cyberhawk
 
1 - 08.11.17 - 16:33
ПолучитьОбъект <> Неопределено, либо выбрать запросом
   Cyberhawk
 
2 - 08.11.17 - 16:33
Но лучше пригласи специалиста
   breezee
 
3 - 08.11.17 - 16:34
(1) Спасибо, попробую 
(2) Спасибо, пробовать не буду)
   h-sp
 
4 - 08.11.17 - 16:41
(3) "В каких случаях они возникают" - тут вся фишка в том, что  ЗначениеИзСтрокиВнутр сама не создает никаких элементов. А вы рассчитываете, что она сама создаст.
   breezee
 
5 - 08.11.17 - 16:44
(4) Нет, я на это не рассчитываю, мне интересно почему мне возвращает не пустую ссылку. Я получаю объект методом "ЗначениеИзСтрокиВНутр", если объекта нет(не найден), тогда создаю новый.
Мне интересно, почему именно "объект не найден", а не пустую ссылку. Может, раньше в базе была ссылка с таким ГУИДом и система получает объект который был но теперь не найден или как то еще?
   breezee
 
6 - 08.11.17 - 16:46
(4) Через "МенеджерСправочника.ПолучитьСсылку(гуид)" так же пустую ссылку получает, если это важно
   breezee
 
7 - 08.11.17 - 16:46
(6) тоже "объект не найден"* получает
   3achem
 
8 - 08.11.17 - 16:55
(0)
Синтаксис:

ЗначениеИзСтрокиВнутр(<Строка>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Системное представление значения в строковом виде.
Возвращаемое значение:

Тип: Произвольный.
Значение, полученное из строкового системного представления.
Описание:

Преобразует значение из строкового системного представления во внутреннее.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Строковое представление данных имеет специальный системный формат, использующий идентификацию данных внутри одной информационной базы.
Используется для сохранения функциональной совместимости с 1С:Предприятием 7.7. Использовать для других целей не рекомендуется.

В чём вопрос то?
   GANR
 
9 - 08.11.17 - 16:57
(0) ОбщегоНазначения.СсылкаСуществует в помощь
   aleks_default
 
10 - 08.11.17 - 16:58
(0)Это значит что, условно говоря, идентификаторы типов объектов в разных базах не совпадают, т. е. в базе-источнике есть, например, справочник Номенклатура с идентификатором типа ааа, а в базе приемнике такой же справочник Номенклатура может иметь совершенно другой идентификатор типа - ббб.  
В СП в примечании к этому методу сказано:
"Строковое представление данных имеет специальный системный формат, использующий идентификацию данных внутри одной информационной базы".
Т.е. метод не предназначен для обмена между базами
 
 Рекламное место пустует
   breezee
 
11 - 08.11.17 - 17:06
(10) Понял, спасибо! у меня может что-то поломаться, если я буду использовать этот метод? Обмен идет с SQL, SQL передает какой-то странный ГУИД, который имеет формат "что-то, 36 символов чего-то, еще 36 символов чего-то". Программист SQL сказал что во вторых 36 символах ГУИД 1С-ного справочника. Я получаю этот ГУИД и система падает с ошибкой преобразования к типу "УникальныйИдентификатор". Единственное найденно решение - "ЗначениеИзСтрокиВнутр"
   breezee
 
13 - 08.11.17 - 17:18
(12) Спасибо, но тут, вроде, такая реклама пусть и случайная запрещена. Да и я сам программист, просто не нашел нужной информации, обратился на форум, мне помогли
   h-sp
 
14 - 08.11.17 - 17:26
(13) вся фишка в том, что там никогда не может возникнуть пустая ссылка. Только Объект не найден.
   breezee
 
15 - 08.11.17 - 17:32
(14) Понял, думал если объекта нет - ссылка пустая. Спутал...
   Smile 8D
 
16 - 09.11.17 - 09:03
(5) Оба указанные вами метода получают ссылку по указанному ГУИДу. Они нужны именно для этого. Далее, например, можно создать объект по этой ссылке. Если бы возвращалась пустая ссылка, то не было бы возможности создать объект с нужным идентификатором, а это часто необходимо для обменов.


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует