Не найдена таблица при формировании запроса

1. Stanislav1993 23.12.19 14:58 Сейчас в теме
При формировании запроса вылетает ошибка. Условие на проверку сделано.

&НаСервереБезКонтекста
Функция ПолучитьКоличествоЗаписейОбъектаСистемы(ОбъектСистемы)
	Если ОбъектСистемы <> Неопределено Тогда
		Запрос       = Новый Запрос;
		Запрос.Текст = "Выбрать Количество(*) КАК КоличествоЗаписей ИЗ " + ОбъектСистемы;
		РезультатЗапроса = Запрос.Выполнить().Выбрать();
		Пока РезультатЗапроса.Следующий()Цикл
			Возврат РезультатЗапроса.КоличествоЗаписей;
		КонецЦикла;
	КонецЕсли;
КонецФункции
Показать


Где я допустил ошибку?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. danjer74 3 23.12.19 15:03 Сейчас в теме
(1)
Если ОбъектСистемы <> Неопределено Тогда
        Запрос       = Новый Запрос;
        Запрос.Текст = "Выбрать Количество(*) КАК КоличествоЗаписей ИЗ " + ОбъектСистемы +" КАК  Набор";
        РезультатЗапроса = Запрос.Выполнить().Выбрать();
        Пока РезультатЗапроса.Следующий()Цикл
            Возврат РезультатЗапроса.КоличествоЗаписей;
        КонецЦикла;
    КонецЕсли;
mrChOP93; +1 Ответить
7. Stanislav1993 23.12.19 15:04 Сейчас в теме
8. danjer74 3 23.12.19 15:06 Сейчас в теме
(7)Надо добавить Заменить "ОбъектСистемы" на ОбъектСистемы+" КАК Набор"
9. mrChOP93 96 23.12.19 15:06 Сейчас в теме
(7)это запрос, который у тебя должен быть
Запрос.Текст = "Выбрать Количество(*) КАК КоличествоЗаписей ИЗ " + ОбъектСистемы +" КАК Набор";
10. Stanislav1993 23.12.19 15:07 Сейчас в теме
(9) но он также выводит ошибку
11. user623969_dusa 23.12.19 15:08 Сейчас в теме
14. YannikAlx 43 23.12.19 15:09 Сейчас в теме
(10) да потому что совершенно не важно написал ты КАК или нет...
Просто народ не привык видеть запросы в таком виде...
20. user623969_dusa 23.12.19 15:12 Сейчас в теме
(1) плюс не очень хороший код в цикле возврат значения.. запрос всегда даст одну запись можно писать Если След Тогда Возврат
а если бы было несколько записей возвращалась бы всегда первая
2. DenisCh 23.12.19 15:00 Сейчас в теме
Сообщить("" + Запрос.Текст);
и результат сюда.

Ну или с тебя 500Кг кофе для гадания.
mrChOP93; +1 Ответить
4. Stanislav1993 23.12.19 15:01 Сейчас в теме
(2) Забыл приложить скрин
Прикрепленные файлы:
3. leosoft 165 23.12.19 15:00 Сейчас в теме
Кто знает, что у Вас в "ОбъектСистемы" записано?
Надеюсь, что это строковая переменная.
5. Stanislav1993 23.12.19 15:01 Сейчас в теме
12. YannikAlx 43 23.12.19 15:08 Сейчас в теме
А РС такой есть "ЗначениеСвойстОбъектов" конфе вообще?
13. Stanislav1993 23.12.19 15:09 Сейчас в теме
(12)
(11) Его нет, но нужно сделать обход, если нет такого объекта в системе
15. user623969_dusa 23.12.19 15:09 Сейчас в теме
(13) нужно сначала правильно понимать что нужно) нет регистра вот и ошибка
18. Stanislav1993 23.12.19 15:11 Сейчас в теме
(15) Пользователь хочет получать количество записей объектов системы по определенному списку
16. YannikAlx 43 23.12.19 15:10 Сейчас в теме
Ну вот и ясно - раз его нет , то КАК ты из него что-то выбрать пытаешься!
19. Stanislav1993 23.12.19 15:11 Сейчас в теме
(16) Потому что в одной базе есть такой объект, а в другой нет
17. YannikAlx 43 23.12.19 15:10 Сейчас в теме
Исходную задачу в студию!
21. YannikAlx 43 23.12.19 15:16 Сейчас в теме
	Для каждого строчка Из Метаданные.РегистрыСведений Цикл
		*********=Строчка.Имя
	КонецЦикла;


Вот так получишь в Строчка.Имя имена всех существующих в базе Регистров Сведения....


Или еще раз говорю
"Исходную задачу в студию"
22. Stanislav1993 23.12.19 15:20 Сейчас в теме
(21) Зачем мне все? если есть список!
Показываю скрин что в базе НСИ такой регистр есть, а в ерп его нет.
Если бы нужны были данные по всем объектам системы, я бы другим методом получил бы.
Прикрепленные файлы:
ERP_Tables.xlsx
NSI_Tables (1).xlsx
23. YannikAlx 43 23.12.19 15:23 Сейчас в теме
Я уже в 3 раз прошу - исходную задачу...
Вам вообще ЧТО нужно?
Уже давно выяснили , что ваш - запрос к несуществующему объекту метаданных - полный бред
Что дальше?
24. Stanislav1993 23.12.19 15:24 Сейчас в теме
(23) Повторяюсь снова. Пользователь открывает внешнюю обработку.
Грузит список и в таблице значений видит количество записей.
Пользователь сохраняет это в отдельном файле и закрывает во.
Вроде задача не бред
26. YannikAlx 43 23.12.19 15:28 Сейчас в теме
(24) как вы объясняете , такой уж и ответ получаете , уж извините...
25. YannikAlx 43 23.12.19 15:27 Сейчас в теме
А обработка не предназначена для работы с одной из баз, там где нету РегистраСведений.ЗначениеСвойстОбъектов!
Вот просто и проверяйте - нету регистра - в сад...
Сообщение пользователю, что мол низзя эту обработку тут запускать...
27. Stanislav1993 23.12.19 15:31 Сейчас в теме
(25) Я понимаю, что вы спец.1С, но форум предназначен не для ерничества, а для советов и наставлений.
Утолите свой пыл.
28. YannikAlx 43 23.12.19 15:34 Сейчас в теме
Вы просто не реагируете на обычные вопросы... я вынужден был 3 раза вас попросить и до сих пор вы подробно не описали свою задачу...
Вас иначе не подтолкнешь!
То что вы говорите , что хотят пользователи там увидеть - это не задача....

Вы понимаете элементарную вещь, что запрос к несуществующему невозможен?
danjer74; +1 Ответить
29. Stanislav1993 23.12.19 15:48 Сейчас в теме
(28) Я вам уже объяснил задачу и понимаю ошибку запроса, но вот решил написать тут, чтобы спросить мнения людей.
31. antz 23.12.19 15:53 Сейчас в теме
(29)

Если Метаданные.РегистрыСведений.Найти(ИмяРегистраСведений) = Неопределено Тогда
    //нет такого регистра
Kinestetik; Stanislav1993; +2 Ответить
32. Stanislav1993 23.12.19 15:53 Сейчас в теме
(31) Спасибо, хоть Вы без ерничества написали.
33. YannikAlx 43 23.12.19 15:59 Сейчас в теме
(32) Если бы вы просто сказали что Не можете проверить наличие в базе указанного регистра вам бы уже 1000 человек написали КАК это сделать.
Учитесь наконец изъяснять свои мысли и желания.
И ерничество тут совершенно ни при чем.
30. YannikAlx 43 23.12.19 15:52 Сейчас в теме
Вы можете себе представить мнение отличное от того , чтобы не использовать указанную обработку тех базах, где невозможно обратиться к отсутствующему РС?
Правильно - создайте этот регистр везде и будет вам счастье...
Альтернативы то нету - есть регистр - все будет работать, нет регистра - Отказ=Истина
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот