ПолучитьОбъект() или лыжи не едут

1. setre 21.03.18 15:32 Сейчас в теме
Добрый день!
Есть такой код(процедура выполняется на сервере, конечно):
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
		               |	Контрагенты.Ссылка КАК Моська
		               |ИЗ
		               |	Справочник.Контрагенты КАК Контрагенты
		               |ГДЕ
		               |	Контрагенты.Наименование = &Наименование
		               |	И Контрагенты.ЭтоГруппа = ЛОЖЬ";

Запрос.УстановитьПараметр("Наименование",НаименованиеКонтрагента);

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда
     
       НашаМоська= Выборка.Моська.ПолучитьОбъект();

КонецЕсли;
Показать


Выдает "метод объекта не обнаружен ПолучитьОбъект()"

Можно и так:
Пока Выборка.Следующий() Цикл
         НашаМоська= Выборка.Моська.ПолучитьОбъект();
КонецЦикла;


или так:

Пока Выборка.Следующий() Цикл
         НашаМоська= Выборка.Моська.Ссылка.ПолучитьОбъект();
КонецЦикла;



В любом случае выдает "метод объекта не обнаружен ПолучитьОбъект()"

Помогите, пожалуйста. Просто коллапс мозга. То ли я в трех соснах запутался, то ли... не знаю что и думать. Платформу что-ли изменили?

P.S. Отладчиком не могу воспользоваться(к огромному сожалению).
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
9. pm74 199 21.03.18 15:52 Сейчас в теме
(1) Сообщить(Выборка.Моська.УникальныйИдентификатор());
21. YanTsys 12 21.03.18 18:25 Сейчас в теме
В обработке напишите тот же запрос, сделайте реквизит НайденаяМоська с типом любая ссылка, вытащите его на форму, и потом на сервере
Объект.НайденаяМоська=Выборка.Моська;
Интересно какое представление для данной битой ссылки покажет 1с.
И присоединяюсь к
(9)
Сообщить(Выборка.Моська.УникальныйИдентификатор());
интересно что покажет...
13. pm74 199 21.03.18 15:58 Сейчас в теме
(1) файловая или серверная ?
15. setre 21.03.18 16:00 Сейчас в теме
2. Octopus 337 21.03.18 15:35 Сейчас в теме
Сообщить(ТипЗнч(Выборка.Моська)) вместо отладчика
3. setre 21.03.18 15:36 Сейчас в теме
Делал.
Сообщает = Контрагент
4. Octopus 337 21.03.18 15:39 Сейчас в теме
Тогда похоже на битую запись в таблице. ТИИ сделайте
5. setre 21.03.18 15:48 Сейчас в теме
(((((
Бухгалтерия меня убьет.
Пропущу эту запись через Попытку. Посмотрим на другие записи.
6. DenisCh 21.03.18 15:51 Сейчас в теме
А просто Сообщить("" + Выборка.Моська) ?
7. гаврюша 2 21.03.18 15:51 Сейчас в теме
В "Запрос.УстановитьПараметр("Наименование",НаименованиеКонтрагента);" НаименованиеКонтрагента руками пишете или поиском по наименованию?

Запрос.УстановитьПараметр("Наименование",Справочники.Контрагенты.НайтиПоНаименованию("НаименованиеКонтрагента"));
14. setre 21.03.18 15:59 Сейчас в теме
(7)
Ищу по строке в наименовании контрагента(загружаю реквизиты в базу из экселя).
Т.е все просто (должно быть): нахожу контрагента по наименованию в колонке экселя, получаю объект, заполняю реквизитами из других колонок экселя, записываю объект.
Запрос срабатывает, иначе не срабатывало бы условие Выборка.Следующий().
26. caponid 22.03.18 16:28 Сейчас в теме
(14)
Ищу по строке в наименовании контрагента(загружаю реквизиты в базу из экселя).
Т.е все просто (должно быть): нахожу контрагента по наименованию в колонке экселя, получаю объект, заполняю реквизитами из других колонок экселя, записываю объект.

И вот так бывает... из за ошибки в загрузке из экселя - явно невалидные данные - пустое наименование контрагента, находятся и другие ошибки - битые ссылки))
8. pyrkin_vanya 488 21.03.18 15:51 Сейчас в теме
Там 100% Объект не обнаружен. Такое бывает. Ничего страшного. Как уже советовали выше сделать ТиИ с очисткой ссылок. Почему бухгалтерия должна Вас уубить за то, что Вы пытаетесь починить их же базу.?
10. pyrkin_vanya 488 21.03.18 15:52 Сейчас в теме
И Вы уверены, что у вас все это выполняется на сервере?
11. pm74 199 21.03.18 15:53 Сейчас в теме
(10) иначе запрос бы не сработал
12. pyrkin_vanya 488 21.03.18 15:54 Сейчас в теме
16. гаврюша 2 21.03.18 16:20 Сейчас в теме
Посмотрите Выборка.Количество(); выбирается запись?
17. setre 21.03.18 16:22 Сейчас в теме
22. гаврюша 2 21.03.18 19:15 Сейчас в теме
(17) Попробуйте просто через поиск:
ТТ = Справочники.Контрагенты.НайтиПоНаименованию("НаименованиеКонтрагента");
Моська = ТТ.ПолучитьОбъект();
Моська.ИНН = "...."
18. setre 21.03.18 16:24 Сейчас в теме
В общем, имел долгий разговор с бухгалтерией. Выгнал всех из базы, делаю бэкап. Буду делать ТИИ, ничего не поделаешь(таких записей оказалось много).
Всем спасибо!
19. uri1978 137 21.03.18 16:26 Сейчас в теме
Посмотрите не мешает ли RLS
Plotks2017; +1 Ответить
20. Plotks2017 266 21.03.18 17:05 Сейчас в теме
(19) RLS больше всего подходит, но видимо без ограничения на чтение т.к. запрос выполнился.
Битые ссылки тут не причем.
Возможно, что автор вводит в заблуждение и выполняет код по Com.
23. гаврюша 2 22.03.18 09:27 Сейчас в теме
Моська = Справочники.Контрагенты.НайтиПоНаименованию("Агроимпульс");
	 НашаМоська = Моська.ПолучитьОбъект();
	 НашаМоська.Комментарий = "Записали Тест";
	 НашаМоська.Записать();
24. setre 22.03.18 12:09 Сейчас в теме
(23)
Моська = Справочники.Контрагенты.НайтиПоНаименованию("Агроимпульс"); 
НашаМоська = Моська.ПолучитьОбъект(); 
НашаМоська.Комментарий = "Записали Тест"; 
НашаМоська.Записать();

Такой код не годится: он мне и родителей будет цеплять. Сам запрос рабочий.
Дело оказалось в битых ссылках. После ТиИ все заработало.
25. гаврюша 2 22.03.18 16:04 Сейчас в теме
(24) Да, ТиИ часто выручает...
ТиИ делали с проверкой ссылочной и логической целостности? Сколько шло по времени и большой ли объем базы?
27. пользователь 26.12.22 16:36
Сообщение было скрыто модератором.
...
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день